# Disbursement transaction status

Same response envelope as collection status; `data.type` must be `DISBURSEMENT`. Requires **disbursements** scope.

## Headers

```http
Authorization: Bearer <disbursements_access_token>
```

## Responses

- **200** — Detailed transaction row for your merchant.
- **403** — Collections-only token, or transaction is not a disbursement.
- **404** — Not found.

## HTTP status codes (API reference)

Shared auth errors: [Errors overview](https://docs.swarmbyte.com/errors-overview.md).

| HTTP | When |
| --- | --- |
| **200** | `status: "success"` and `data` with full transaction fields. `data.type` must be `DISBURSEMENT` for this route. |
| **403** | Row exists but is not a disbursement: `This transaction is not a disbursement; use GET /v1/collect/transactions/:transactionId with a collections-scoped token.` |
| **404** | `Transaction not found` |
| **401** / **403** / **429** | See [Errors overview](https://docs.swarmbyte.com/errors-overview.md) for auth, scope, IP, and rate-limit errors. |

## Example request

```bash
curl -sS 'https://core.swarmbyte.com/v1/disburse/transactions/DIS_820d0146bb94ae4d' \
  -H 'Authorization: Bearer YOUR_DISBURSEMENTS_ACCESS_TOKEN'
```

## Example response (200)

```json
{
  "status": "success",
  "data": {
    "transactionId": "DIS_820d0146bb94ae4d",
    "walletAddress": "main",
    "providerRef": "PROVIDER_REF_OR_NULL",
    "amount": 100000,
    "fee": 3000,
    "netAmount": 100000,
    "type": "DISBURSEMENT",
    "status": "PENDING",
    "provider": "MTN",
    "msisdn": "256772123456",
    "reference": "PAYOUT-67890",
    "failureReason": null,
    "createdAt": "2026-04-28T10:35:00.000Z",
    "updatedAt": "2026-04-28T10:35:02.000Z"
  }
}
```

Source: https://docs.swarmbyte.com/disburse-status
