Card servicing
- POST
/card/delivery/eventReport a delivery change - POST
/card/disputeDispute a card transaction - GET
/card/dispute/{disputeReference}Read a dispute - POST
/card/dispute/{disputeReference}/stageMove a dispute to its next stage - POST
/card/float/fundFund the card float account - GET
/card/float/positionsProvider float positions - POST
/card/token/eventReport a wallet token change - POST
/card/{reference}/deliverySend a physical card to the holder - GET
/card/{reference}/disputesList a card's disputes - POST
/card/{reference}/physical/activateConfirm the plastic arrived - GET
/card/{reference}/statementCard statement - POST
/card/{reference}/token/{tokenReference}/{action}Suspend, resume or delete a wallet token - GET
/card/{reference}/tokensList a card's wallet tokens - POST
/card/{reference}/upgradeUpgrade a virtual card to plastic
POST Report a delivery change
POST /card/delivery/event
Called by the provider as the plastic moves from production to the door.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
x-api-key | |
x-bridge-signature | |
Content-Type | application/json |
Example
Request body: string · Response: GenericResponseCardDeliveryResponse
curl -X POST "https://api.bridgemoni.com/card/delivery/event" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '"string"' "string" {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "QUEUED",
"courier": "string",
"trackingReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"queuedAt": "2026-09-25T10:00:00Z",
"dispatchedAt": "2026-09-25T10:00:00Z",
"deliveredAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Dispute a card transaction
POST /card/dispute
Opens a chargeback on a settled purchase the holder does not recognise or did not receive. Where the tenant allows it the disputed amount is credited provisionally at once and reversed only if the dispute is lost, with the holder told first.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Example
Request body: RaiseCardDisputeRequest · Response: GenericResponseCardDisputeResponse
curl -X POST "https://api.bridgemoni.com/card/dispute" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"cardTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reasonCode": "string",
"amount": 0,
"evidenceDocumentReferences": [
"b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
]
}' {
"cardTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reasonCode": "string",
"amount": 0,
"evidenceDocumentReferences": [
"b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
]
} {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reasonCode": "string",
"stage": "RETRIEVAL",
"disputedAmount": 0,
"currencyCode": "string",
"provisionalCreditAmount": 0,
"raisedAt": "2026-09-25T10:00:00Z",
"respondBy": "2026-09-25T10:00:00Z",
"outcome": "WON",
"outcomeAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
GET Read a dispute
GET /card/dispute/{disputeReference}
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
disputeReference |
Example
Response: GenericResponseCardDisputeResponse
curl -X GET "https://api.bridgemoni.com/card/dispute/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reasonCode": "string",
"stage": "RETRIEVAL",
"disputedAmount": 0,
"currencyCode": "string",
"provisionalCreditAmount": 0,
"raisedAt": "2026-09-25T10:00:00Z",
"respondBy": "2026-09-25T10:00:00Z",
"outcome": "WON",
"outcomeAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Move a dispute to its next stage
POST /card/dispute/{disputeReference}/stage
For the dispute analyst. Only the transitions of the dispute lifecycle are accepted, and a missed deadline moves the dispute on its own.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Path parameters
| Name |
|---|
disputeReference |
Example
Request body: AdvanceCardDisputeRequest · Response: GenericResponseCardDisputeResponse
curl -X POST "https://api.bridgemoni.com/card/dispute/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/stage" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"stage": "RETRIEVAL",
"note": "string"
}' {
"stage": "RETRIEVAL",
"note": "string"
} {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reasonCode": "string",
"stage": "RETRIEVAL",
"disputedAmount": 0,
"currencyCode": "string",
"provisionalCreditAmount": 0,
"raisedAt": "2026-09-25T10:00:00Z",
"respondBy": "2026-09-25T10:00:00Z",
"outcome": "WON",
"outcomeAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Fund the card float account
POST /card/float/fund
Moves tenant money into the card float account the sweeper tops providers up from.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Example
Request body: FundCardFloatRequest · Response: GenericResponseCardFloatPositionResponse
curl -X POST "https://api.bridgemoni.com/card/float/fund" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"amount": "10000.00",
"currencyCode": "NGN"
}' {
"amount": "10000.00",
"currencyCode": "NGN"
} {
"data": {
"providerCode": "string",
"currencyCode": "string",
"floatAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"providerReportedBalance": 0,
"bridgeExpectedBalance": 0,
"driftAmount": 0,
"lastSyncedAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
GET Provider float positions
GET /card/float/positions
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Example
Response: GenericResponseListCardFloatPositionResponse
curl -X GET "https://api.bridgemoni.com/card/float/positions" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": [
{
"providerCode": "string",
"currencyCode": "string",
"floatAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"providerReportedBalance": 0,
"bridgeExpectedBalance": 0,
"driftAmount": 0,
"lastSyncedAt": "2026-09-25T10:00:00Z"
}
],
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Report a wallet token change
POST /card/token/event
Called by the provider when a network token is provisioned or changes state.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
x-api-key | |
x-bridge-signature | |
Content-Type | application/json |
Example
Request body: string · Response: GenericResponseCardDigitalTokenResponse
curl -X POST "https://api.bridgemoni.com/card/token/event" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '"string"' "string" {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"wallet": "APPLE_PAY",
"tokenLastFour": "string",
"deviceName": "string",
"deviceType": "string",
"status": "PENDING",
"provisionedAt": "2026-09-25T10:00:00Z",
"deprovisionedAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Send a physical card to the holder
POST /card/{reference}/delivery
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Path parameters
| Name |
|---|
reference |
Example
Request body: RequestCardDeliveryRequest · Response: GenericResponseCardUpgradeResponse
curl -X POST "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/delivery" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"courier": "string"
}' {
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"courier": "string"
} {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"formFactor": "VIRTUAL",
"status": "REQUESTED",
"maskedPan": "string",
"physicalActivatedAt": "2026-09-25T10:00:00Z",
"delivery": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "QUEUED",
"courier": "string",
"trackingReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"queuedAt": "2026-09-25T10:00:00Z",
"dispatchedAt": "2026-09-25T10:00:00Z",
"deliveredAt": "2026-09-25T10:00:00Z"
},
"nextAction": {
"type": "ACTIVATE",
"description": "Activate the card to start using it"
}
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
GET List a card's disputes
GET /card/{reference}/disputes
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Example
Response: GenericResponseListCardDisputeResponse
curl -X GET "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/disputes" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reasonCode": "string",
"stage": "RETRIEVAL",
"disputedAmount": 0,
"currencyCode": "string",
"provisionalCreditAmount": 0,
"raisedAt": "2026-09-25T10:00:00Z",
"respondBy": "2026-09-25T10:00:00Z",
"outcome": "WON",
"outcomeAt": "2026-09-25T10:00:00Z"
}
],
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Confirm the plastic arrived
POST /card/{reference}/physical/activate
Opens terminal, ATM and contactless spend. Accepted once the courier reports the card in transit or delivered.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Example
Response: GenericResponseCardUpgradeResponse
curl -X POST "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/physical/activate" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"formFactor": "VIRTUAL",
"status": "REQUESTED",
"maskedPan": "string",
"physicalActivatedAt": "2026-09-25T10:00:00Z",
"delivery": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "QUEUED",
"courier": "string",
"trackingReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"queuedAt": "2026-09-25T10:00:00Z",
"dispatchedAt": "2026-09-25T10:00:00Z",
"deliveredAt": "2026-09-25T10:00:00Z"
},
"nextAction": {
"type": "ACTIVATE",
"description": "Activate the card to start using it"
}
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
GET Card statement
GET /card/{reference}/statement
Settled transactions in the period with their totals, and the holds still pending. At most a year per request.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Query parameters
| Name | Default |
|---|---|
from | Optional |
to | Optional |
Example
Response: GenericResponseCardStatementResponse
curl -X GET "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/statement" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"maskedPan": "string",
"currencyCode": "string",
"from": "2026-09-25",
"to": "2026-09-25",
"totalDebits": 0,
"totalCredits": 0,
"pendingAmount": 0,
"lines": [
{
"occurredAt": "2026-09-25T10:00:00Z",
"kind": "string",
"description": "string",
"amount": 0,
"direction": "string",
"status": "string",
"transactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"authorizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}
],
"truncated": true
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Suspend, resume or delete a wallet token
POST /card/{reference}/token/{tokenReference}/{action}
The action is one of suspend, resume or delete. A deleted token is gone.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
tokenReference |
action |
Example
Response: GenericResponseCardDigitalTokenResponse
curl -X POST "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/token/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/value" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"wallet": "APPLE_PAY",
"tokenLastFour": "string",
"deviceName": "string",
"deviceType": "string",
"status": "PENDING",
"provisionedAt": "2026-09-25T10:00:00Z",
"deprovisionedAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
GET List a card's wallet tokens
GET /card/{reference}/tokens
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Example
Response: GenericResponseListCardDigitalTokenResponse
curl -X GET "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/tokens" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"wallet": "APPLE_PAY",
"tokenLastFour": "string",
"deviceName": "string",
"deviceType": "string",
"status": "PENDING",
"provisionedAt": "2026-09-25T10:00:00Z",
"deprovisionedAt": "2026-09-25T10:00:00Z"
}
],
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
POST Upgrade a virtual card to plastic
POST /card/{reference}/upgrade
The same card, the same number and the same reference: every subscription and wallet token keeps working. Online spend is unaffected; terminal spend waits until the holder confirms the plastic arrived.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Path parameters
| Name |
|---|
reference |
Example
Request body: RequestCardDeliveryRequest · Response: GenericResponseCardUpgradeResponse
curl -X POST "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/upgrade" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"courier": "string"
}' {
"addressReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"courier": "string"
} {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"formFactor": "VIRTUAL",
"status": "REQUESTED",
"maskedPan": "string",
"physicalActivatedAt": "2026-09-25T10:00:00Z",
"delivery": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "QUEUED",
"courier": "string",
"trackingReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"queuedAt": "2026-09-25T10:00:00Z",
"dispatchedAt": "2026-09-25T10:00:00Z",
"deliveredAt": "2026-09-25T10:00:00Z"
},
"nextAction": {
"type": "ACTIVATE",
"description": "Activate the card to start using it"
}
},
"description": "OK"
} Responses
| Status | When |
|---|---|
200 | OK |
Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors