Brick API Documentation
API

Regular Disbursement

Use the Regular Disbursement endpoint to create Send Money payouts through Brick's RTOL-like regular routing flow. This endpoint is useful when your destination, transaction amount, or pricing setup fits the Regular route, and when your business needs to automate bank account or supported Ewallet payouts, store a client referenceId, and confirm the final result through status checks or disbursement callbacks.

Request parameters

Key ParametersData TypeDescription
publicAccessTokenStringOne time access-token generated using the auth token API
referenceIdStringA unique reference ID as a unique identifier
amountIntegerAmount of money to be disbursed
recipientEmailStringEmail of the transfer recipient. System will send email and PDF transfer proof to this email.
descriptionStringAn arbitrary string attached to the object. Often useful for displaying to users what the transaction was for. Description length limit is 255 chars.
typeStringCurrently only support bank transfer
bankAccountNoStringAccount number of the recipient user
bankShortCodeStringInstitution short code of the recipient user bank account
bankAccountHolderNameStringAccount name that the funds are intended to be sent to.

Testing in Sandbox Environment (Testing Mode)

To simulate various transaction statuses, use the sample inputs below when calling the Disbursement API in the sandbox environment:

Regular Disbursement

Bank Short CodeBank Account NumberBank Account Holder NameAmountExpected Status
MANDIRI112233445PROD ONLYRp29.999Completed
BRI112233445PROD ONLYRp10.000 - Rp500.000.000Processing
MANDIRI112233445PROD ONLYRp39.999Failed
SINARMAS112233445PROD ONLYRp10.000 - Rp500.000.000Failed with error 503 (Bank Under Maintenance)

Important Notes for Sandbox Testing:

  • Bank Account Number: Any number with more than 8 digits is acceptable.
  • Account Holder Name: Must always be exactly "PROD ONLY".
  • Amount: Must fall within the range of Rp10.000 to Rp500.000.000.
  • These values are hardcoded in our sandbox environment to help simulate specific response statuses.

Response parameters

Key ParametersData typeDescription
idStringUnique identifier
typeStringType of transaction
statusStringThe status of disbursement
createdAtTimeStampTime at which the response was created.
failureReasonStringReason for the failed transaction. This field is shown only when the transaction fails.
amountStringAmount of money to be disbursed
feeAmountStringFee of the transaction
referenceIdStringA unique reference ID as a unique identifier
descriptionStringAn arbitrary string attached to the object. Often useful for displaying to users what the transaction was for. Description length limit is 255 chars.
disbursementMethodTypeStringCurrently only support bank transfer
bankAccountNoStringAccount number of the user
bankShortCodeStringInstitution short code of the user
bankAccountHolderNameStringAccount name that the funds are intended to be sent to.
bankNameStringName of the Institutions
settlementStatusStringStatus of Transaction Settlement

❗️ Important Note on API Responses

If your system does not receive an HTTP 200 response with a valid transaction status (PROCESSING, COMPLETED, or FAILED), you must not flag the transaction as succeeded or failed.

A non-200 response (e.g., timeout, 5xx error, or no response) means the outcome is uncertain, and you should treat the transaction as pending until you confirm its status via the Status API.

Last modified on