Skip to content

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.

Key Features

  • Account details retrieval
  • Internal transfers
  • Payments (Swift)
  • Virtual Accounts
  • Transaction information access
  • Robust security and compliance
  • Comprehensive documentation

Available Environments

UAT Environment

URL: https://api-uat.bcb.bm

Purpose: Testing and integration

Production Environment

URL: https://api.bcb.bm

Purpose: Live production use

Download OpenAPI description
Overview
URL
Bermuda Commercial Bank Limited, 34 Bermudiana Road, Hamilton HM 11, Bermuda
Languages
Servers
Mock server
https://developers.bcb.bm/_mock/apis/open-banking-api/open-banking-api/
UAT Environment - Used for testing and integration purposes
https://api-uat.bcb.bm/
Production Environment - Live environment for production use
https://api.bcb.bm/

Accounts

Operations

Credentials

Operations

Fx Quotes

Operations

Internal Transfers

Operations

Payments

Operations

Token

Operations

Generate Token

Request

Generates a JWT access token based on provided client credentials. Use this POST endpoint to authenticate using your clientId and clientSecret and receive a JWT token.

Token Validity: 40 minutes from the time of issuance.

Endpoint: https://api.bcb.bm/auth/token

Required Headers:

  • Content-Type: application/json
  • Accept: application/json

Sample Request in JavaScript:

async function getToken() {
  try {
    const response = await fetch('https://api.bcb.bm/auth/token', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
      },
      body: JSON.stringify({
        clientId: 'your-client-id',
        clientSecret: 'your-client-secret'
      })
    });
    
    if (!response.ok) {
      const errorData = await response.json();
      throw new Error(`Error: ${errorData.message || response.statusText}`);
    }
    
    const data = await response.json();
    console.log('JWT Token:', data.token);
    // Store token securely
    localStorage.setItem('jwt', data.token);
  } catch (error) {
    console.error('Fetch error:', error);
  }
}

getToken();
Bodyapplication/jsonrequired

The API credentials containing client ID and client secret for authentication.

clientIdstringnon-emptyrequired

The client ID assigned by the authorization server.

clientSecretstringnon-emptyrequired

The client secret assigned by the authorization server.

curl -i -X POST \
  https://developers.bcb.bm/_mock/apis/open-banking-api/open-banking-api/auth/token \
  -H 'Content-Type: application/json' \
  -d '{
    "clientId": "your-client-id-here",
    "clientSecret": "your-client-secret-here"
  }'

Responses

Token generated successfully.

Bodyapplication/json
tokenstringrequired

Gets or sets the JWT token.

expirationstring(date-time)required

Gets or sets the expiration date and time of the token.

Response
application/json
{ "token": "string", "expiration": "2019-08-24T14:15:22Z" }

Transactions

Operations

Virtual Accounts

Operations

Notifications

Operations

Background Jobs

Operations

System

Operations