Creating a supplementary card

How to create a supplementary card and an associated card account.


A supplementary card behaves in the same way as a regular or business card, except that it has a parent card who shares funds or credit with the supplementary card. This parent card is identified by parent_card_id which is also the regular card_id. ▶ Run in Postman

A supplementary card can only be created if this is enabled in the card program ID.

Before you can create a supplementary card, the customer must have passed the KYC verification or the business must have passed the KYB verification.

A supplementary card and card account are simultaneously created from a single POST /cards operation. Before you can use the physical supplementary card, you must activate it.

If a parent card changes its status, is lost or is stolen, this has no effect on a supplementary card.


Supplementary card limit

The sum of all supplementary card limits must be less than the parent card limit. This means that the available balance on a supplementary card is affected by the balance(s) on both the parent card as well as any other supplementary card(s) belonging to the same parent card.

The card configuration is determined by the program_id which is provided by Bond based on your requirements. There are three card configurations:

  • Virtual
  • Physical
  • Dual

For details, see Card program ID.

Creating a supplementary card

To create a supplementary card, use the POST /cards operation and provide parameters as shown in the table below.

required for customer supplementary card
stringUUID that identifies the customer generated when you create a customer. Not used when creating a business supplementary card.
required for business supplementary card
stringUUID that identifies the business generated when you create a business. Not used when creating a customer supplementary card.
stringUUID that represents the card program offered to customers by your brand in partnership with a bank.
credit_limitstringNew credit limit for the card. Decimal format with two decimal places, for example 3000.00.
stringParent card UUID when creating a supplementary card.
card_design_idstringThe visual design of card in integer format.
Please contact Bond support for information regarding creating card designs.

An example of a request to create a business supplementary card is shown below.

curl --request POST \
     --url \
     --header 'Authorization: YOUR-AUTHORIZATION' \
     --header 'Content-Type: application/json' \
     --header 'Identity: YOUR-IDENTITY' \
     --data '
     "business_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
     "program_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
     "parent_card_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
     "credit_limit": "3000.00",
     "card_design_id": "4"
require 'uri'
require 'net/http'
require 'openssl'

url = URI("")

http =, url.port)
http.use_ssl = true

request =
request["Content-Type"] = 'application/json'
request["Identity"] = 'YOUR-IDENTITY'
request["Authorization"] = 'YOUR-AUTHORIZATION'
request.body = "{\"business_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"parent_card_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"credit_limit\":\"3000.00\",\"card_design_id\":\"4\"}"

response = http.request(request)
puts response.read_body
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Identity: 'YOUR-IDENTITY',
    Authorization: 'YOUR-AUTHORIZATION'
  body: JSON.stringify({
    business_id: '6f0e7dcb-6073-42df-bf02-ce71bd5fac3b',
    program_id: '2742ff6a-7455-4066-8b45-ae12d3acca34',
    parent_card_id: '6f0e7dcb-6073-42df-bf02-ce71bd5fac3b',
    credit_limit: '3000.00',
    card_design_id: '4'

fetch('', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import requests

url = ""

payload = {
    "business_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
    "program_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
    "parent_card_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
    "credit_limit": "3000.00",
    "card_design_id": "4"
headers = {
    "Content-Type": "application/json",
    "Identity": "YOUR-IDENTITY",
    "Authorization": "YOUR-AUTHORIZATION"

response = requests.request("POST", url, json=payload, headers=headers)

var client = new RestClient("");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Identity", "YOUR-IDENTITY");
request.AddHeader("Authorization", "YOUR-AUTHORIZATION");
request.AddParameter("application/json", "{\"business_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"parent_card_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"credit_limit\":\"3000.00\",\"card_design_id\":\"4\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"business_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"parent_card_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"credit_limit\":\"3000.00\",\"card_design_id\":\"4\"}");
Request request = new Request.Builder()
  .addHeader("Content-Type", "application/json")
  .addHeader("Identity", "YOUR-IDENTITY")
  .addHeader("Authorization", "YOUR-AUTHORIZATION")

Response response = client.newCall(request).execute();

For a complete specification and interactive examples, see Creating a supplementary card in the Bond API Reference.

For details regarding changing the credit limit for the card, see Updating a card.