The SWIFT deposit details to create, including the credit account, instructed amount, ordering party, and remittance information.
Bermuda Commercial Bank RESTful Open Banking API Implementation (v1)
The Bermuda Commercial Bank (BCB) RESTful Open Banking API provides secure, programmatic access to BCB's banking services, enabling developers to integrate financial services into their applications.
- Account details retrieval
- Internal transfers
- Payments (Swift)
- Virtual Accounts
- Transaction information access
- Robust security and compliance
- Comprehensive documentation
Request
Creates a SWIFT deposit in the system using test-environment data and returns the created deposit details. This endpoint is available only in non-production environments and is intended for integration testing, validation of payload formatting, and pre-production workflow checks.
Although the route contains the word simulate, the request creates a deposit record in the system. If there is a matching and active deposit notification subscription, the created deposit may also trigger a deposit notification workflow.
Clients must use the HTTP Accept header to indicate the desired response format:
- Set
Accept: application/jsonfor JSON responses (default) If theAcceptheader is omitted,application/jsonis assumed.
Authorization: Bearer {token}Idempotency-Key: {uuid}(optional, but recommended for safe retries)
creditAccountNumberis required and must not exceed 36 characters.instructedAmount.currencyis required and must be a 3-letter ISO currency code.instructedAmount.amountis required and must be a valid decimal number with up to 2 decimal places.externalAccountNumberis required and must not exceed 34 characters.orderingBankis required and must not exceed 35 characters.orderingCustomermust contain between 1 and 4 lines, each up to 35 characters.remittanceInformationmust contain at least 1 line, up to 4 lines total, each up to 35 characters.
This endpoint uses request signature verification and response signing. Clients should sign requests according to their configured signing method, and should verify the signature on the response when response signing is enabled for their API credentials.
All API requests use the versioned base URL:
https://api.bcb.bm/v1/test-deposits/swift/simulate
async function simulateDeposit(token, idempotencyKey) {
const response = await fetch('https://api.bcb.bm/v1/test-deposits/swift/simulate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
'Accept': 'application/json',
'Idempotency-Key': idempotencyKey
},
body: JSON.stringify({
creditAccountNumber: '1000078766',
instructedAmount: {
currency: 'USD',
amount: '5000.00'
},
externalAccountNumber: 'GB29NWBK60161331926819',
orderingBank: 'DEUTDEFF',
orderingCustomer: [
'Global Trading Corp',
'100 Finance Street',
'London, EC2V 8AB'
],
remittanceInformation: [
'Invoice INV-2024-0042',
'Q1 advisory fees'
]
})
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.message || 'Deposit simulation failed');
}
return await response.json();
}Required Permission: simulate-deposit
This endpoint requires the permission claim simulate-deposit to be present in the JWT token. These permissions are embedded in the token during the authentication process and cannot be modified afterward. The token must be obtained with the appropriate permissions to access this endpoint.
- Mock serverhttps://developers.bcb.bm/_mock/apis/open-banking-api/open-banking-api/v1/test-deposits/swift/simulate
- UAT Environment - Used for testing and integration purposeshttps://api-uat.bcb.bm/v1/test-deposits/swift/simulate
- Production Environment - Live environment for production usehttps://api.bcb.bm/v1/test-deposits/swift/simulate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developers.bcb.bm/_mock/apis/open-banking-api/open-banking-api/v1/test-deposits/swift/simulate \
-H 'Authorization: Bearer <YOUR_jwt_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"creditAccountNumber": 1000078766,
"instructedAmount": {
"currency": "USD",
"amount": 5000
},
"externalAccountNumber": "GB29NWBK60161331926819",
"orderingBank": "DEUTDEFF",
"orderingCustomer": [
"Global Trading Corp",
"100 Finance Street",
"London, EC2V 8AB"
],
"remittanceInformation": [
"Invoice INV-2024-0042",
"Q1 advisory fees"
]
}'OK - The test deposit was created successfully.
The current processing status of the transaction.
A unique identifier specific to this instance of the activity.
Unique identifier for the arrangement associated with this activity.
Identifier for the type of activity.
Product identifier related to the activity.
{ "id": "DEP-SIM-20240321-001", "status": "success", "transactionStatus": "SIMULATED", "uniqueIdentifier": "dep-sim-uid-001", "details": { "amountCredited": { … }, "amountDebited": { … }, "orderingBank": "DEUTDEFF", "debitCurrency": "USD", "creditAccountNumber": 1000078766, "instructedAmount": { … }, "externalAccountNumber": "GB29NWBK60161331926819", "orderingCustomer": [ … ], "remittanceInformation": [ … ] }, "linkedActivities": [ { … } ] }