> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

## v1.0.22

This release includes breaking changes. It adds clients for the intelligent boarding API (beta) and marks the legacy boarding methods as deprecated. See [October 19, 2026](/changelog/api-changelog/2026/10/19) for more information.

### Intelligent boarding clients (beta)

`PayabliClient` adds the `businesses`, `people`, `paypoints`, `paymentMethods`, `boardingTemplates`, and `applications` clients. Their methods return envelope types, such as `Payabli.BusinessDetailEnvelope`, with `data` and `warnings` properties. `package.json` adds an export path for each client, such as `./businesses`.

These endpoints only accept OAuth. Set `bearerAuth` with your OAuth `clientId` and `clientSecret` when you create the client. See [OAuth authentication](/developers/oauth-authentication) and [Manage API credentials](/guides/platform-developer-api-credentials-manage).

```ts
const client = new PayabliClient({
    bearerAuth: { clientId: "CLIENT_ID", clientSecret: "CLIENT_SECRET" },
});
const business: Payabli.BusinessDetailEnvelope = await client.businesses.getBusiness("BUSINESS_REFERENCE");
```

### Legacy boarding methods are deprecated

Legacy boarding will be sunset in Q2 2027. Every method on `boarding` and `templates` now has a `@deprecated` tag, so your editor flags calls to them. `export.exportApplications` was already deprecated.

### `UnprocessableEntityError.body` is now `unknown`

The new applications endpoints return a different error body for HTTP `422`, so `Payabli.UnprocessableEntityError.body` is now `unknown` instead of `Payabli.PayabliErrorBody`. Code that reads its properties, such as after `moneyOut.authorizeOut`, `captureOut`, or `payout`, no longer type-checks.

```ts
// Before
if (err instanceof Payabli.UnprocessableEntityError) { const text = err.body.responseText; }

// After
if (err instanceof Payabli.UnprocessableEntityError) { const body: unknown = err.body; }
```

### Case management bank account services use new types

`BankAccountServices.moneyIn` and `moneyOut` are now typed `Payabli.CaseManagementMoneyInService[]` and `Payabli.CaseManagementMoneyOutService[]`. These have the same values as `MoneyInService` and `MoneyOutService`, so existing code still compiles.

## v1.0.21

This release adds methods to get the next check number and cancel ghost cards, a check number on reissued payouts, invoice data on subscription updates, a 1099 flag on vendors, every payout that paid a bill, and card-present device details. This entry also covers v1.0.20. See [October 19, 2026](/changelog/api-changelog/2026/10/19) for more information.

### New methods

* `moneyOut.getNextCheckNumber(paypointId: number, accountId: string)` returns `Payabli.NextCheckNumberResponse`, whose `checkNumber` is a `string`.
* `ghostCard.deleteGhostCard(cardToken: string)` returns `Payabli.DeleteGhostCardResponse`. Its `responseData` has `deleteType` and `cardToken`.

```ts
const next: Payabli.NextCheckNumberResponse = await client.moneyOut.getNextCheckNumber(285, "ACCOUNT_ID");
const deleted: Payabli.DeleteGhostCardResponse = await client.ghostCard.deleteGhostCard("CARD_TOKEN");
```

### Request changes

* `Payabli.ReissueOutRequest` adds `checkNumber?: Payabli.VendorCheckNumber`.
* `Payabli.RequestUpdateSchedule`, the request for `subscription.updateSubscription`, adds `invoiceData?: Payabli.BillData | null`. Pass `invoiceData: null` to remove the subscription's invoice data.
* `Payabli.VendorData` adds `issue1099?: boolean`.

### Vendor 1099 flag

`VendorQueryRecord`, `VendorDataResponse`, and `TransferOutDetailVendor` add the required property `Issue1099`, and `PayoutSubscriptionVendor` adds the required property `issue1099`. Both are `Payabli.Issue1099`, an alias for `boolean`. `AssociatedVendor`, `VCardGetResponseAssociatedVendor`, and `VendorOutData` add the optional `Issue1099`, and `GetMethodResponseResponseDataVendorsItem` adds the optional `issue1099`.

### Payouts that paid a bill

`BillResponseData` and `BillQueryRecord2` add `transactions: Payabli.BillTransactionReference[] | null`. Each `BillTransactionReference` has `idOut` (`number`) and `paymentId` (`string | null`).

### Card-present device details

* `TransactionQueryRecords` and `TransactionQueryRecordsCustomer` add `DeviceEntryMode` (`Payabli.DeviceEntryMode | null`), `EmvAuthData` (`Payabli.EmvAuthData | null`, with `RequestEmvData` and `ResponseEmvData`), and `DeviceData` (`Payabli.QueryDeviceData | null`).
* `DeviceQueryRecord` adds `operationalStatus` (`Payabli.DeviceQueryRecord.OperationalStatus`), which is `"online"`, `"busy"`, or `"offline"`. The `Payabli.DeviceQueryRecord.OperationalStatus` object also has these values as `Online`, `Busy`, and `Offline`. It also adds `appVersion` and `osVersion` (`string | null`).

These new response properties are required, except the optional `Issue1099` and `issue1099` properties listed earlier. Code that creates these objects, such as tests and mocks, must set them.