> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bachs.io/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Money is always a decimal string at the currency's precision (for example "29.00"), paired with an ISO 4217 currency field. Never use minor units.
> Build against the sandbox first: base URL https://sandbox-api.bachs.io with sk_sandbox_ keys. Production is https://api.bachs.io with sk_live_ keys; going live is a key swap.
> Treat webhooks (for example collection.succeeded) as the source of truth for fulfilment, never client-side events or redirects.
> Subscriptions are created by completing a checkout for a recurring product. There is no direct create-subscription endpoint.
> IDs carry resource prefixes (cust_, prod_, sub_, chk_, inv_, ref_) and timestamps are ISO 8601 UTC.

# payout_destination.rejected

> Occurs when a payout destination is rejected in review.

Sent when a reviewer rejects a payout destination. A rejected destination never becomes usable, and a withdrawal to it fails with `DESTINATION_REJECTED`.

Like other events on an account, a platform on `event_source` `connect` receives it for the accounts it owns, and the account itself receives it on `account`. See [Connect events](https://docs.bachs.io/guides/webhooks/overview.md#connect-events).

```json Event theme={"dark"}
{
  "id": "evt_6b1f0c9d2a7e4f58",
  "type": "payout_destination.rejected",
  "created_at": "2026-11-10T09:14:03.218000+00:00",
  "organization_id": "acct_3Wq8ZfT1yHnJ5sVe",
  "account": "acct_3Wq8ZfT1yHnJ5sVe",
  "data": {
    "destination_id": "pd_bV1EnClbYCX7AfUC",
    "type": "bank_account",
    "currency": "NGN",
    "status": "rejected",
    "status_reason": "Name does not match the account holder",
    "is_usable": false,
    "is_default": false,
    "reviewed_at": "2026-11-10T09:14:03.100000+00:00"
  }
}
```

## Event fields

**id** `string`

The event's unique identifier, prefixed `evt_`. Use it to deduplicate deliveries.

**type** `string`

Always `payout_destination.rejected`.

**created\_at** `string`

When the event occurred, in UTC.

**organization\_id** `string`

The account that owns the destination.

**account** `string`

The owning account's id, repeated at the top level. Present only when the account has a parent. This is how a platform tells which of its accounts the event concerns.

**data.destination\_id** `string`

The destination's id, prefixed `pd_`. The same `id` the payout destinations endpoints return.

**data.type** `string`

`bank_account`, `mobile_money` or `crypto_wallet`.

**data.currency** `string`

The destination's currency, as an ISO 4217 code.

**data.status** `string`

`rejected`.

**data.status\_reason** `string | null`

The reviewer's note when there is one, otherwise a plain explanation. Null when the destination was approved without a note.

**data.is\_usable** `boolean`

Always false on this event.

**data.is\_default** `boolean`

Whether it is the account's default destination for its currency.

**data.reviewed\_at** `string | null`

When a person reviewed it, in UTC. Null when the system decided on its own.

No account number, bank detail or wallet address is sent. Fetch the destination to read those.

## What to do on receipt

Show `data.status_reason` to the account holder and ask them for a different bank account, mobile money number or wallet. Register a new destination. Editing the rejected one sends it back to review rather than approving it.

## Related

* [Payout destinations](https://docs.bachs.io/guides/payouts/destinations.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.