# SNAP Disbursement

Send funds through Regular or BI-FAST transfers using Brick’s SNAP Disbursement APIs.

## Available APIs

| API | Method | Endpoint |
| --- | --- | --- |
| [Authentication](/api/snap-disbursement#authentication) | POST | `/v3/payments/sc/snap/access-token` |
| [SNAP BI-FAST](/api/snap-disbursement#snap-bi-fast) | POST | `/v2/payments/disbursements/snap/bifast-transfer` |
| [SNAP Regular](/api/snap-disbursement#snap-regular) | POST | `/v2/payments/disbursements/snap/regular-transfer` |
| [Check Status](/api/snap-disbursement#check-status) | POST | `/v2/payments/disbursements/snap/status` |

For environment configuration, see [Authentication and Environment](/getting-started/authentication-and-environment).

## Integration flow

1. Retrieve your Client ID from the Brick Dashboard.
2. Generate an RSA key pair and register your public key.
3. Generate a signature and request an access token.
4. Submit a signed Regular or BI-FAST transfer.
5. Check the transaction status until a final result is available.

Start with [Setup Client Key and Signature](/brickfast-disbursement/snap/setup-client-key-and-signature).

## Transaction lifecycle

**A successful submission means accepted** Transfer submissions return `03 — Processing`. This does not confirm that the beneficiary has received the funds. Use Check Status to retrieve the transaction outcome.

| State | latestTransactionStatus | transactionStatusDesc | Meaning |
| --- | --- | --- | --- |
| Completed | `00` | `Success` | The transfer completed successfully. |
| Processing | `03` | `Processing` | The transfer has not reached a final outcome. |
| Failed | `06` | `Failed` | The transfer reached a final failed outcome. |

A successful inquiry can return any of these states. Its `responseCode` describes the inquiry result, not the transfer outcome.

## Reference numbers

| Field | Purpose |
| --- | --- |
| `X-REFERENCE-ID` | UUID identifying an individual API request. |
| `partnerReferenceNo` | Your unique business reference for a transfer. |
| `referenceNo` | Brick transaction reference returned after submission. |
| `originalPartnerReferenceNo` | Your original transfer reference, used for status inquiries. |
| `originalReferenceNo` | Brick’s original transaction reference, used for status inquiries. |

Keep both transaction references for reconciliation and support. If a transfer request times out or returns no usable response, check its status using the original partner reference before submitting another transfer.
