Transfers
Bank payouts with a name check first, scheduled transfers, safe retries. About transfers Live
- POST
/transferTransfer between two accounts - POST
/transfer/recipient/previewPreview who a phone number, email or username will pay - GET
/transfer/scheduleList the caller's scheduled transfers - GET
/transfer/schedule/{reference}Get a scheduled transfer's detail and occurrence history - POST
/transfer/schedule/{reference}/cancelCancel a scheduled transfer before it fires
POST Transfer between two accounts
POST /transfer
Validates that the source account belongs to the caller, obtains a quote, and posts the transfer to the ledger. An optional Idempotency-Key header makes a retried call with the same key return the original result instead of transferring again.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Idempotency-Key | Reuse the same value on every retry of this request |
Content-Type | application/json |
Example
Request body: TransferRequest · Response: TransferResponse
curl -X POST "https://api.bridgemoni.com/transfer" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Idempotency-Key: a-unique-key-per-intent" \
-H "Content-Type: application/json" \
-d '{
"sourceAccountNumber": "0123456789",
"instrumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"destinationAccountNumber": "0123456789",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"receiverType": "ACCOUNT_NUMBER",
"receiverValue": "text",
"amount": 250000.0,
"saveBeneficiary": true,
"beneficiaryAlias": "Ada Obi",
"currencyCode": "NGN",
"narration": "March payroll",
"executionMode": "SYNCHRONOUS",
"schedule": {
"startDateTime": "2027-03-14T14:30:01",
"frequency": "HOURLY",
"endDateTime": "2027-03-14T14:30:01",
"maxOccurrences": 1
}
}' {
"sourceAccountNumber": "0123456789",
"instrumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"destinationAccountNumber": "0123456789",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"receiverType": "ACCOUNT_NUMBER",
"receiverValue": "text",
"amount": 250000.0,
"saveBeneficiary": true,
"beneficiaryAlias": "Ada Obi",
"currencyCode": "NGN",
"narration": "March payroll",
"executionMode": "SYNCHRONOUS",
"schedule": {
"startDateTime": "2027-03-14T14:30:01",
"frequency": "HOURLY",
"endDateTime": "2027-03-14T14:30:01",
"maxOccurrences": 1
}
} {
"data": {
"transferReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"sourceAccountNumber": "0123456789",
"destinationAccountNumber": "0123456789",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"saveBeneficiaryToken": "text",
"beneficiaryName": "Ada Obi",
"amount": 250000.0,
"netAmount": 250000.0,
"currencyCode": "NGN",
"status": "PENDING",
"accountsTransactionReference": "financial transaction reference",
"scheduleReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"approvalReference": "financial transaction reference",
"timestamp": "2027-03-14T14:30:01"
},
"description": "Transfer between two accounts"
} Responses
| Status | When |
|---|---|
200 | Transfer processed successfully |
POST Preview who a phone number, email or username will pay
POST /transfer/recipient/preview
Answers FOUND with a masked name such as "Ng*** O.", NOT_FOUND, or CANNOT_RECEIVE. The full name, user reference and account number are never returned. Limited to a small number of distinct recipients per person per day, because an unlimited preview would be a directory.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Example
Request body: TransferRecipientPreviewRequest · Response: GenericResponseTransferRecipientPreviewResponse
curl -X POST "https://api.bridgemoni.com/transfer/recipient/preview" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"receiverType": "ACCOUNT_NUMBER",
"receiverValue": "string",
"currencyCode": "string"
}' {
"receiverType": "ACCOUNT_NUMBER",
"receiverValue": "string",
"currencyCode": "string"
} {
"data": {
"status": "FOUND",
"maskedName": "string"
},
"description": "Recipient previewed"
} Responses
| Status | When |
|---|---|
200 | Recipient previewed |
GET List the caller's scheduled transfers
GET /transfer/schedule
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Example
Response: List<ScheduledTransferResponse>
curl -X GET "https://api.bridgemoni.com/transfer/schedule" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": [
{
"scheduleReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"sourceAccountNumber": "0123456789",
"destinationAccountNumber": "0123456789",
"amount": 250000.0,
"currencyCode": "NGN",
"narration": "March payroll",
"startDateTime": "2027-03-14T14:30:01",
"frequency": "HOURLY",
"endDateTime": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"nextExecutionAt": "2027-03-14T14:30:01",
"status": "SCHEDULED",
"lastExecutedReference": "financial transaction reference",
"lastFailureReason": "March payroll",
"cancelReason": "March payroll",
"executions": [
{
"...": "nested"
}
]
}
],
"description": "List the caller's scheduled transfers"
} Responses
| Status | When |
|---|---|
200 | Scheduled transfers listed successfully |
GET Get a scheduled transfer's detail and occurrence history
GET /transfer/schedule/{reference}
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Example
Response: ScheduledTransferResponse
curl -X GET "https://api.bridgemoni.com/transfer/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"scheduleReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"sourceAccountNumber": "0123456789",
"destinationAccountNumber": "0123456789",
"amount": 250000.0,
"currencyCode": "NGN",
"narration": "March payroll",
"startDateTime": "2027-03-14T14:30:01",
"frequency": "HOURLY",
"endDateTime": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"nextExecutionAt": "2027-03-14T14:30:01",
"status": "SCHEDULED",
"lastExecutedReference": "financial transaction reference",
"lastFailureReason": "March payroll",
"cancelReason": "March payroll",
"executions": [
{
"occurrenceNumber": 1,
"executedReference": "financial transaction reference",
"outcome": "SUCCESS",
"failureReason": "March payroll",
"executedAt": "2027-03-14T14:30:01"
}
]
},
"description": "Get a scheduled transfer's detail and occurrence history"
} Responses
| Status | When |
|---|---|
200 | Scheduled transfer fetched successfully |
POST Cancel a scheduled transfer before it fires
POST /transfer/schedule/{reference}/cancel
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Example
Response: ScheduledTransferResponse
curl -X POST "https://api.bridgemoni.com/transfer/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/cancel" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"scheduleReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"sourceAccountNumber": "0123456789",
"destinationAccountNumber": "0123456789",
"amount": 250000.0,
"currencyCode": "NGN",
"narration": "March payroll",
"startDateTime": "2027-03-14T14:30:01",
"frequency": "HOURLY",
"endDateTime": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"nextExecutionAt": "2027-03-14T14:30:01",
"status": "SCHEDULED",
"lastExecutedReference": "financial transaction reference",
"lastFailureReason": "March payroll",
"cancelReason": "March payroll",
"executions": [
{
"occurrenceNumber": 1,
"executedReference": "financial transaction reference",
"outcome": "SUCCESS",
"failureReason": "March payroll",
"executedAt": "2027-03-14T14:30:01"
}
]
},
"description": "Cancel a scheduled transfer before it fires"
} Responses
| Status | When |
|---|---|
200 | Scheduled transfer cancelled successfully |
Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors