Brick API Documentation
Brick API

SNAP Disbursement

Server

Authenticate SNAP Disbursement requests, submit BI-FAST and Regular transfers, retrieve the available balance, and inquire about transaction status. Use these endpoints for integrations following the SNAP signing and header contract.


Authentication

POST
https://sandbox.onebrick.io
/v3/payments/sc/snap/access-token

Obtain a SNAP B2B access token for transfer and status requests.

POST /v3/payments/sc/snap/access-token

Request headers

HeaderRequiredDescription
Content-TypeYesapplication/json
X-CLIENT-KEYYesClient ID from Configuration → API Credentials.
X-TIMESTAMPYesISO 8601 timestamp with a timezone.
X-SIGNATUREYesRSA-SHA256 signature of Client ID and timestamp.

Request body

FieldTypeRequiredDescription
grant_typestringYesMust be client_credentials.

Request and response

Request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v3/payments/sc/snap/access-token' \ --header 'Content-Type: application/json' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --data-raw '{ "grant_type": "client_credentials" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2007300", "responseMessage": "Successful", "accessToken": "snap_demo_20261020_83ac67125b8f", "tokenType": "Bearer", "expiresIn": "900" }

Response fields

FieldTypeDescription
responseCodestring2007300 for a successful token request.
responseMessagestringAPI response description.
accessTokenstringToken for transfer and status requests.
tokenTypestringBearer
expiresInstringToken validity in seconds: 900.

Token validity

Tokens are reusable for 900 seconds. See Setup Client Key and Signature for the complete SNAP access token rules and active-token limit.

For key registration and signing requirements, see Setup Client Key and Signature. For limit handling, see Error Handling.

Authentication › Headers

X-CLIENT-KEY
​string · required

Client ID from Configuration → API Credentials.

X-TIMESTAMP
​string · required

ISO 8601 request timestamp with timezone.

X-SIGNATURE
​string · required

Base64 RSA-SHA256 signature. See the setup guide.

Authentication › Request Body

grant_type
​string · enum · required
Enum values:
client_credentials

Authentication › Responses

Successful

responseCode
​string
responseMessage
​string
accessToken
​string
tokenType
​string
expiresIn
​string

SNAP BI-FAST

POST
https://sandbox.onebrick.io
/v2/payments/disbursements/snap/bifast-transfer
Bearer

Submit a BI-FAST transfer with beneficiary and sender information.

POST /v2/payments/disbursements/snap/bifast-transfer

Submit a BI-FAST transfer. A successful submission returns Processing, not a completed transfer.

Request headers

HeaderRequiredDescription
Content-TypeYesapplication/json
AuthorizationYesBearer followed by your SNAP access token.
X-CLIENT-KEYYesClient ID from Configuration → API Credentials.
X-TIMESTAMPYesISO 8601 timestamp with a timezone.
X-SIGNATUREYesRequest signature using /snap/bifast-transfer.
X-REFERENCE-IDYesA new UUID identifying this request.

Request body

FieldTypeRequiredDescription
partnerReferenceNostringYesYour unique transfer reference.
transferTypestringYesBI_FAST
amountobjectYesTransfer amount.
amount.valuestringYesAmount with exactly two decimal places.
amount.currencystringYesIDR
beneficiaryAccountNostringYesBeneficiary account number; preserve leading zeros.
beneficiaryBankCodestringYesBrick bank short code.
beneficiaryAccountNamestringYesBeneficiary account name.
beneficiaryEmailstringNoBeneficiary email; an empty string is accepted.
remarkstringYesTransfer remark.
senderobjectYesSender information.
sender.namestringYesSender name.
sender.identityTypestringYesSender identity type.
sender.identityNumberstringYesSender identity number.
sender.countryCodestringYesCountry code.
sender.provinceCodestringYesProvince code.
sender.cityCodestringYesCity code.
sender.jobCodestringYesOccupation code.
sender.addressstringYesSender address.
sender.placeOfBirthstringYesPlace of birth.
sender.dateOfBirthstringYesDate of birth in YYYY-MM-DD format.

For sender location and occupation codes, see Country, Province, City, and Job Codes.

Submit a transfer

Request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/bifast-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-BIF-20261020-0001", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment", "sender": { "name": "JOHN DOE", "identityType": "KTP", "identityNumber": "000123456789", "countryCode": "ID", "provinceCode": "75", "cityCode": "3205", "jobCode": "3", "address": "Jl Sudirman 10 Jakarta", "placeOfBirth": "Jakarta", "dateOfBirth": "1998-04-23" } }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000200", "responseMessage": "Successful", "referenceNo": "BRICK-BIF-20261020-0001", "partnerReferenceNo": "SNAP-BIF-20261020-0001", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Response fields

FieldTypeDescription
responseCodestring2000200 for successful submission.
responseMessagestringAPI result description.
referenceNostringBrick transaction reference.
partnerReferenceNostringYour transfer reference.
transferTypestringBI_FAST
amountobjectTransfer amount and currency.
beneficiaryAccountNostringBeneficiary account number.
beneficiaryBankCodestringBeneficiary bank code.
beneficiaryAccountNamestringBeneficiary account name.
latestTransactionStatusstring03 upon acceptance.
transactionStatusDescstringProcessing upon acceptance.
transactionDatestringTransaction timestamp.

Test scenarios

Use these example bank and account details for the corresponding configured test scenarios.

ScenarioBankAccount numberAccount nameAmountRequired setup
CompletedBCA010800041187PROD ONLY"11000.00"Arrange the completed simulation with Brick.
ProcessingBCA010800041187PROD ONLY"11000.00"Arrange the processing simulation with Brick.
FailedBCA010800041187PROD ONLY"11000.00"Arrange the failed simulation with Brick.

BI-FAST simulation setup All three scenarios use the same baseline details. The amount 11000.00 does not select the outcome. Arrange the corresponding simulation with Brick; do not reuse Regular scenario rules for BI-FAST.

Scenario requests and responses

The following examples show each transfer request, accepted response, and subsequent inquiry. Use Check Status with serviceCode: "02".

Acceptance is not completion Even a transfer that later completes or fails is initially accepted as Processing.

BI-FAST — completed

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/bifast-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-BIF-20261020-0001", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment", "sender": { "name": "JOHN DOE", "identityType": "KTP", "identityNumber": "000123456789", "countryCode": "ID", "provinceCode": "75", "cityCode": "3205", "jobCode": "3", "address": "Jl Sudirman 10 Jakarta", "placeOfBirth": "Jakarta", "dateOfBirth": "1998-04-23" } }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000200", "responseMessage": "Successful", "referenceNo": "BRICK-BIF-20261020-0001", "partnerReferenceNo": "SNAP-BIF-20261020-0001", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-BIF-20261020-0001", "serviceCode": "02" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-BIF-20261020-0001", "originalPartnerReferenceNo": "SNAP-BIF-20261020-0001", "serviceCode": "02", "latestTransactionStatus": "00", "transactionStatusDesc": "Success" }

BI-FAST — processing

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/bifast-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-BIF-20261020-0002", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment", "sender": { "name": "JOHN DOE", "identityType": "KTP", "identityNumber": "000123456789", "countryCode": "ID", "provinceCode": "75", "cityCode": "3205", "jobCode": "3", "address": "Jl Sudirman 10 Jakarta", "placeOfBirth": "Jakarta", "dateOfBirth": "1998-04-23" } }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000200", "responseMessage": "Successful", "referenceNo": "BRICK-BIF-20261020-0002", "partnerReferenceNo": "SNAP-BIF-20261020-0002", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-BIF-20261020-0002", "serviceCode": "02" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-BIF-20261020-0002", "originalPartnerReferenceNo": "SNAP-BIF-20261020-0002", "serviceCode": "02", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing" }

BI-FAST — failed

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/bifast-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-BIF-20261020-0003", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment", "sender": { "name": "JOHN DOE", "identityType": "KTP", "identityNumber": "000123456789", "countryCode": "ID", "provinceCode": "75", "cityCode": "3205", "jobCode": "3", "address": "Jl Sudirman 10 Jakarta", "placeOfBirth": "Jakarta", "dateOfBirth": "1998-04-23" } }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000200", "responseMessage": "Successful", "referenceNo": "BRICK-BIF-20261020-0003", "partnerReferenceNo": "SNAP-BIF-20261020-0003", "transferType": "BI_FAST", "amount": { "value": "11000.00", "currency": "IDR" }, "beneficiaryAccountNo": "010800041187", "beneficiaryBankCode": "BCA", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-BIF-20261020-0003", "serviceCode": "02" }'

Illustrative failed response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-BIF-20261020-0003", "originalPartnerReferenceNo": "SNAP-BIF-20261020-0003", "serviceCode": "02", "latestTransactionStatus": "06", "transactionStatusDesc": "Failed", "errorCode": "5000100", "errorDetailCode": "general_error", "failureMessage": "General Error", "category": "Failed" }

This transfer has failed. Check errorCode, errorDetailCode, and failureMessage for the failure reason.

Look up by partner reference

Alternative request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "originalPartnerReferenceNo": "SNAP-BIF-20261020-0001", "serviceCode": "02" }'

Supply only one lookup reference. A successful response includes both references.

For recovery guidance, see Error Handling.

SNAP BI-FAST › Headers

X-CLIENT-KEY
​string · required

Client ID from Configuration → API Credentials.

X-TIMESTAMP
​string · required

ISO 8601 request timestamp with timezone.

X-SIGNATURE
​string · required

Base64 RSA-SHA256 signature. See the setup guide.

X-REFERENCE-ID
​string · required

A new UUID for each request.

SNAP BI-FAST › Request Body

partnerReferenceNo
​string · required
transferType
​string · enum · required
Enum values:
BI_FAST
​object · required
beneficiaryAccountNo
​string · required
beneficiaryBankCode
​string · required
beneficiaryAccountName
​string · required
remark
​string · required
​object · required
beneficiaryEmail
​string

SNAP BI-FAST › Responses

200

Successful

responseCode
​string
responseMessage
​string
referenceNo
​string
partnerReferenceNo
​string
transferType
​string
​object
beneficiaryAccountNo
​string
beneficiaryBankCode
​string
beneficiaryAccountName
​string
latestTransactionStatus
​string
transactionStatusDesc
​string
transactionDate
​string

SNAP Regular

POST
https://sandbox.onebrick.io
/v2/payments/disbursements/snap/regular-transfer
Bearer

Submit a Regular transfer with beneficiary information.

POST /v2/payments/disbursements/snap/regular-transfer

Submit a Regular transfer. A successful submission returns Processing, not a completed transfer.

Request headers

HeaderRequiredDescription
Content-TypeYesapplication/json
AuthorizationYesBearer followed by your SNAP access token.
X-CLIENT-KEYYesClient ID from Configuration → API Credentials.
X-TIMESTAMPYesISO 8601 timestamp with a timezone.
X-SIGNATUREYesRequest signature using /snap/regular-transfer.
X-REFERENCE-IDYesA new UUID identifying this request.

Request body

FieldTypeRequiredDescription
partnerReferenceNostringYesYour unique transfer reference.
transferTypestringYesREGULAR
amountobjectYesTransfer amount.
amount.valuestringYesAmount with exactly two decimal places.
amount.currencystringYesIDR
beneficiaryAccountNostringYesBeneficiary account number; preserve leading zeros.
beneficiaryBankCodestringYesBrick bank short code.
beneficiaryAccountNamestringYesBeneficiary account name.
beneficiaryEmailstringNoBeneficiary email; an empty string is accepted.
remarkstringYesTransfer remark.

Submit a transfer

Request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0001", "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Response fields

FieldTypeDescription
responseCodestring2000100 for successful submission.
responseMessagestringAPI result description.
referenceNostringBrick transaction reference.
partnerReferenceNostringYour transfer reference.
transferTypestringREGULAR
amountobjectTransfer amount and currency.
beneficiaryAccountNostringBeneficiary account number.
beneficiaryBankCodestringBeneficiary bank code.
beneficiaryAccountNamestringBeneficiary account name.
latestTransactionStatusstring03 upon acceptance.
transactionStatusDescstringProcessing upon acceptance.
transactionDatestringTransaction timestamp.

Test scenarios

Use these example bank and account details for the corresponding configured test scenarios.

ScenarioBankAccount numberAccount nameAmount
CompletedMANDIRI112233445PROD ONLY"29999.00"
ProcessingBRI112233445PROD ONLY"10000.00"
FailedMANDIRI112233445PROD ONLY"39999.00"

These are simulation details, not instructions for live transfers. Confirm that the simulation is enabled for your testing account.

Scenario requests and responses

The following examples show each transfer request, accepted response, and subsequent inquiry. Use Check Status with serviceCode: "01".

Acceptance is not completion Even a transfer that later completes or fails is initially accepted as Processing.

Regular — completed

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0001", "partnerReferenceNo": "SNAP-REG-20261020-0001", "transferType": "REGULAR", "amount": { "value": "29999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0001", "serviceCode": "01" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0001", "originalPartnerReferenceNo": "SNAP-REG-20261020-0001", "serviceCode": "01", "latestTransactionStatus": "00", "transactionStatusDesc": "Success" }

Regular — processing

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0002", "transferType": "REGULAR", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "BRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0002", "partnerReferenceNo": "SNAP-REG-20261020-0002", "transferType": "REGULAR", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "BRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0002", "serviceCode": "01" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0002", "originalPartnerReferenceNo": "SNAP-REG-20261020-0002", "serviceCode": "01", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing" }

Regular — failed

Transfer request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/regular-transfer' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "partnerReferenceNo": "SNAP-REG-20261020-0003", "transferType": "REGULAR", "amount": { "value": "39999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "beneficiaryEmail": "", "remark": "Payment" }'

Accepted response · HTTP 200

JSONCode
{ "responseCode": "2000100", "responseMessage": "Successful", "referenceNo": "BRICK-REG-20261020-0003", "partnerReferenceNo": "SNAP-REG-20261020-0003", "transferType": "REGULAR", "amount": { "value": "39999.00", "currency": "IDR" }, "beneficiaryAccountNo": "112233445", "beneficiaryBankCode": "MANDIRI", "beneficiaryAccountName": "PROD ONLY", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing", "transactionDate": "2026-10-20T09:00:02+07:00" }

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0003", "serviceCode": "01" }'

Illustrative failed response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0003", "originalPartnerReferenceNo": "SNAP-REG-20261020-0003", "serviceCode": "01", "latestTransactionStatus": "06", "transactionStatusDesc": "Failed", "errorCode": "5000100", "errorDetailCode": "general_error", "failureMessage": "General Error", "category": "Failed" }

This transfer has failed. Check errorCode, errorDetailCode, and failureMessage for the failure reason.

Look up by partner reference

Alternative request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "originalPartnerReferenceNo": "SNAP-REG-20261020-0001", "serviceCode": "01" }'

Supply only one lookup reference. A successful response includes both references.

For recovery guidance, see Error Handling.

SNAP Regular › Headers

X-CLIENT-KEY
​string · required

Client ID from Configuration → API Credentials.

X-TIMESTAMP
​string · required

ISO 8601 request timestamp with timezone.

X-SIGNATURE
​string · required

Base64 RSA-SHA256 signature. See the setup guide.

X-REFERENCE-ID
​string · required

A new UUID for each request.

SNAP Regular › Request Body

partnerReferenceNo
​string · required
transferType
​string · enum · required
Enum values:
REGULAR
​object · required
beneficiaryAccountNo
​string · required
beneficiaryBankCode
​string · required
beneficiaryAccountName
​string · required
remark
​string · required
beneficiaryEmail
​string

SNAP Regular › Responses

Successful

responseCode
​string
responseMessage
​string
referenceNo
​string
partnerReferenceNo
​string
transferType
​string
​object
beneficiaryAccountNo
​string
beneficiaryBankCode
​string
beneficiaryAccountName
​string
latestTransactionStatus
​string
transactionStatusDesc
​string
transactionDate
​string

Check Status

POST
https://sandbox.onebrick.io
/v2/payments/disbursements/snap/status
Bearer

Retrieve a transfer’s latest status using its Brick or partner reference.

POST /v2/payments/disbursements/snap/status

Request headers

HeaderRequiredDescription
Content-TypeYesapplication/json
AuthorizationYesBearer followed by your SNAP access token.
X-CLIENT-KEYYesClient ID from Configuration → API Credentials.
X-TIMESTAMPYesISO 8601 timestamp with a timezone.
X-SIGNATUREYesRequest signature using /snap/status.
X-REFERENCE-IDYesA new UUID identifying this request.

Request body

Send one lookup reference, not both. Successful responses contain both original references for the same transaction.

FieldTypeRequiredDescription
originalReferenceNostringConditionalBrick transaction reference. Supply this or originalPartnerReferenceNo, not both.
originalPartnerReferenceNostringConditionalYour original transfer reference. Supply this or originalReferenceNo, not both.
serviceCodestringYes01 for Regular; 02 for BI-FAST.

Request and response examples

Regular — completed

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0001", "serviceCode": "01" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0001", "originalPartnerReferenceNo": "SNAP-REG-20261020-0001", "serviceCode": "01", "latestTransactionStatus": "00", "transactionStatusDesc": "Success" }

Regular — processing

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0002", "serviceCode": "01" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0002", "originalPartnerReferenceNo": "SNAP-REG-20261020-0002", "serviceCode": "01", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing" }

Regular — failed

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-REG-20261020-0003", "serviceCode": "01" }'

Illustrative failed response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-REG-20261020-0003", "originalPartnerReferenceNo": "SNAP-REG-20261020-0003", "serviceCode": "01", "latestTransactionStatus": "06", "transactionStatusDesc": "Failed", "errorCode": "5000100", "errorDetailCode": "general_error", "failureMessage": "General Error", "category": "Failed" }

This transfer has failed. Check errorCode, errorDetailCode, and failureMessage for the failure reason.

BI-FAST — completed

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-BIF-20261020-0001", "serviceCode": "02" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-BIF-20261020-0001", "originalPartnerReferenceNo": "SNAP-BIF-20261020-0001", "serviceCode": "02", "latestTransactionStatus": "00", "transactionStatusDesc": "Success" }

BI-FAST — processing

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-BIF-20261020-0002", "serviceCode": "02" }'

Response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-BIF-20261020-0002", "originalPartnerReferenceNo": "SNAP-BIF-20261020-0002", "serviceCode": "02", "latestTransactionStatus": "03", "transactionStatusDesc": "Processing" }

BI-FAST — failed

Status request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 91fd8e9b-4c37-4d5a-83bd-2b4589c0a622' \ --data-raw '{ "originalReferenceNo": "BRICK-BIF-20261020-0003", "serviceCode": "02" }'

Illustrative failed response · HTTP 200

JSONCode
{ "responseCode": "2000300", "responseMessage": "Successful", "originalReferenceNo": "BRICK-BIF-20261020-0003", "originalPartnerReferenceNo": "SNAP-BIF-20261020-0003", "serviceCode": "02", "latestTransactionStatus": "06", "transactionStatusDesc": "Failed", "errorCode": "5000100", "errorDetailCode": "general_error", "failureMessage": "General Error", "category": "Failed" }

This transfer has failed. Check errorCode, errorDetailCode, and failureMessage for the failure reason.

Look up by partner reference

Alternative request · cURL

TerminalCode
curl --request POST \ --url '{{base_url}}/v2/payments/disbursements/snap/status' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer snap_demo_20261020_83ac67125b8f' \ --header 'X-CLIENT-KEY: 83ac6712-5b8f-4b0d-9e24-63aa79102d45' \ --header 'X-TIMESTAMP: 2026-10-20T09:00:00+07:00' \ --header 'X-SIGNATURE: U05BUC1ET0NTLUVYQU1QTEUtU0lHTkFUVVJFLU5PVC1GT1ItQVVUSA==' \ --header 'X-REFERENCE-ID: 61fd8e9b-4c37-4d5a-83bd-2b4589c0a621' \ --data-raw '{ "originalPartnerReferenceNo": "SNAP-REG-20261020-0001", "serviceCode": "01" }'

Supply only one lookup reference. A successful response includes both references.

Response fields

FieldTypeDescription
responseCodestring2000300 for a successful inquiry.
responseMessagestringInquiry result description.
originalReferenceNostringBrick transaction reference.
originalPartnerReferenceNostringYour original transfer reference.
serviceCodestring01 for Regular; 02 for BI-FAST.
latestTransactionStatusstring00, 03, or 06.
transactionStatusDescstringSuccess, Processing, or Failed.
errorCodestringTransaction error code, when returned.
errorDetailCodestringDetailed transaction error code, when returned.
failureMessagestringTransaction failure explanation, when returned.
categorystringFailed in failed-transaction responses.

Transaction status values

StatelatestTransactionStatustransactionStatusDescMeaning
Completed00SuccessThe transfer completed successfully.
Processing03ProcessingThe transfer has not reached a final outcome.
Failed06FailedThe transfer reached a final failed outcome.

Inquiry rate limit

For the same authenticated client and the same transaction:

  • A maximum of 5 Check Status requests is allowed within a 30-second window.
  • The 6th and subsequent requests within that window return HTTP 429 with responseCode: "4290300".
  • The limit applies only to the affected transaction. Other transactions under the same authenticated client remain unaffected and have their own inquiry limits.
  • Looking up the same transaction using originalReferenceNo or originalPartnerReferenceNo shares the same limit.

Wait for the affected transaction’s rate-limit window to reset before trying again.

See Error Handling for recovery guidance.

Check Status › Headers

X-CLIENT-KEY
​string · required

Client ID from Configuration → API Credentials.

X-TIMESTAMP
​string · required

ISO 8601 request timestamp with timezone.

X-SIGNATURE
​string · required

Base64 RSA-SHA256 signature. See the setup guide.

X-REFERENCE-ID
​string · required

A new UUID for each request.

Check Status › Request Body

serviceCode
​string · enum · required
Enum values:
01
02
originalReferenceNo
​string
originalPartnerReferenceNo
​string
oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: originalReferenceNo
type = object · requires: originalPartnerReferenceNo
Properties for Variant 1:
originalReferenceNo
​string · required
serviceCode
​string · enum
Enum values:
01
02
originalPartnerReferenceNo
​string

Check Status › Responses

Inquiry succeeded; inspect the transaction status separately.

responseCode
​string
responseMessage
​string
originalReferenceNo
​string
originalPartnerReferenceNo
​string
serviceCode
​string
latestTransactionStatus
​string
transactionStatusDesc
​string
errorCode
​string
errorDetailCode
​string
failureMessage
​string
category
​string