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

# Overview

> Send funds from your Singapay account to any bank account in Indonesia — with fee checking, account validation, and real-time status tracking.

The Disbursement API lets you programmatically transfer funds from your Singapay balance to any Indonesian bank account. Use it to automate payouts to vendors, sellers, employees, or customers — with built-in fee checking and beneficiary validation before committing to a transfer.

<Info>
  This is a **Money Out** operation. Each disbursement debits funds from your Singapay Payment Gateway account and transfers them to the destination bank account.
</Info>

<CardGroup cols={3}>
  <Card title="Pre-transfer validation" icon="shield-check">
    Verify beneficiary bank account name and check fees before initiating any transfer.
  </Card>

  <Card title="Real-time status" icon="bolt">
    Query disbursement status by reference number at any point in the transfer lifecycle.
  </Card>

  <Card title="Multi-bank coverage" icon="building-columns">
    Transfer to all major Indonesian banks using bank code or SWIFT code.
  </Card>
</CardGroup>

***

## Recommended flow

<Steps>
  <Step title="Check beneficiary account">
    Call **Check Beneficiary Bank Account** to validate the destination account number and retrieve the registered account holder name. Confirm with the user before proceeding.
  </Step>

  <Step title="Check disbursement fee">
    Call **Check Disbursement Fee** to get the gross amount, fee, and net amount for the destination bank. This ensures transparency before the transfer is committed.
  </Step>

  <Step title="Initiate transfer">
    Call **Disburse Transfer** with the validated account details and confirmed amount. A unique `reference_number` is returned to track the transaction.
  </Step>

  <Step title="Track status">
    Use **Inquiry Disbursement Status** with the `reference_number` to poll or verify the final transfer status — especially for pending transactions.
  </Step>
</Steps>

***

## Disbursement status

| Status    | Description                                                  |
| --------- | ------------------------------------------------------------ |
| `pending` | Transfer initiated, awaiting processing by the bank network. |
| `success` | Funds successfully transferred to the destination account.   |
| `failed`  | Transfer failed — check the error code for the reason.       |

***

## Important notes

<AccordionGroup>
  <Accordion title="Always validate before transferring" icon="shield">
    Use **Check Beneficiary** before every transfer to confirm the account number is active and retrieve the registered name. Transfers to invalid accounts may result in failed or reversed transactions.
  </Accordion>

  <Accordion title="Fee structure" icon="receipt">
    Disbursement fees vary by destination bank. Use **Check Disbursement Fee** to get an accurate breakdown of gross, fee, and net amounts before committing to a transfer.
  </Accordion>

  <Accordion title="Bank code formats" icon="hashtag">
    The `bank_code` field accepts either a **3-digit numeric code** (e.g. `014` for BCA) or a **SWIFT code** (e.g. `CENAIDJA`). Both formats are supported on the Check Beneficiary and Transfer endpoints.
  </Accordion>

  <Accordion title="Signature required for transfers" icon="lock">
    The **Disburse Transfer** and **Inquiry Status** endpoints require an additional `X-Signature` and `X-Timestamp` header using internal signing rules — separate from the standard Bearer token auth.
  </Accordion>

  <Accordion title="Idempotency via reference number" icon="fingerprint">
    Always store the `reference_number` returned from a transfer. Use it to query status and handle retries safely — submitting the same reference number twice will not create a duplicate transfer.
  </Accordion>
</AccordionGroup>

***

## Available endpoints

<CardGroup cols={2}>
  <Card title="List Disbursements" icon="list" href="./list">
    Paginated list of disbursement transactions for an account (last 12 months).
  </Card>

  <Card title="Get Disbursement by Transaction ID" icon="eye" href="./show">
    Retrieve a single disbursement by its business `transaction_id` string.
  </Card>

  <Card title="Check Disbursement Fee" icon="calculator" href="./check-fee">
    Get gross, fee, and net breakdown for a destination bank before transferring.
  </Card>

  <Card title="Check Beneficiary Bank Account" icon="user-check" href="./check-beneficiary">
    Validate destination account number and retrieve the registered account holder name.
  </Card>

  <Card title="Disburse Transfer" icon="paper-plane" href="./disburse-transfer">
    Initiate a bank transfer from your Singapay balance to the destination account.
  </Card>

  <Card title="Inquiry Disbursement Status" icon="magnifying-glass" href="./inquiry-status">
    Query the current status of a disbursement by reference number.
  </Card>
</CardGroup>

<Note>
  All endpoints require authentication, including `X-Signature` and `X-Timestamp` on transfer endpoints. See [Authentication](/api-reference/authentication).
</Note>
