Creating a card

Introduction

After you create a customer resource and once they've passed KYC verification, you can create a card which simultaneously also creates an associated card account. ▶ Run in Postman

A card and its card account are closely coupled but logically distinct, the difference is what is being managed. The card resource contains information about the actual physical or virtual card, while the card account resource stores broader account information, such as what bank accounts are connected to the card. For card type details, see Card types.

The type of card created is determined by the program_id used when creating the card. The program_id contains your card program settings with Bond.

Upon creation, a virtual card is usable immediately but a physical card is issued as inactive and must be activated before it can be used.

Creating a card and card account

Use the POST /cards operation and provide the parameters as shown in the following table.

Parameter

Type

Description

customer_id
required for a customer card

String

The unique ID used to reference a customer resource, for example 931e2341-c3eb-4681-97d4-f6e09d90da14.

business_id
required for a business card

String

The unique ID used to reference a business resource, for example ee1ce096-3c5f-411a-a789-3c5635acbae4.

program_id
required

String

Program ID that represents the card program offered to customers by your brand in partnership with a bank. For example, 2742ff6a-7455-4066-8b45-ae12d3acca34.

credit_limit

String

Credit limit to be enforced for the card in decimal format with two decimal places, for example 1200.00.

parent_card_id
required for a supplementary card

String

Card ID of the parent card, for example ee1ce096-3c5f-411a-a789-3c5635acbae4.

card_design_id

String

The visual design of the card. Contact Bond support regarding creating card designs.

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

curl --request POST \
     --url https://sandbox.bond.tech/api/v0/cards \
     --header 'Accept: application/json' \
     --header 'Authorization: YOUR_AUTHORIZATION' \
     --header 'Content-Type: application/json' \
     --header 'Identity: YOUR-IDENTITY' \
     --data '
{
     "program_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
     "business_id": "31c6c172-319f-4619-ab85-78e8e9edc088",
     "credit_limit": "1200.00",
     "parent_card_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
     "card_design_id": "5"
}
'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://sandbox.bond.tech/api/v0/cards")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Content-Type"] = 'application/json'
request["Identity"] = 'YOUR-IDENTITY'
request["Authorization"] = 'YOUR_AUTHORIZATION'
request.body = "{\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"business_id\":\"31c6c172-319f-4619-ab85-78e8e9edc088\",\"credit_limit\":\"1200.00\",\"parent_card_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"card_design_id\":\"5\"}"

response = http.request(request)
puts response.read_body
const options = {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json',
    Identity: 'YOUR-IDENTITY',
    Authorization: 'YOUR_AUTHORIZATION'
  },
  body: JSON.stringify({
    program_id: '2742ff6a-7455-4066-8b45-ae12d3acca34',
    business_id: '31c6c172-319f-4619-ab85-78e8e9edc088',
    credit_limit: '1200.00',
    parent_card_id: '6f0e7dcb-6073-42df-bf02-ce71bd5fac3b',
    card_design_id: '5'
  })
};

fetch('https://sandbox.bond.tech/api/v0/cards', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import requests

url = "https://sandbox.bond.tech/api/v0/cards"

payload = {
    "program_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
    "business_id": "31c6c172-319f-4619-ab85-78e8e9edc088",
    "credit_limit": "1200.00",
    "parent_card_id": "6f0e7dcb-6073-42df-bf02-ce71bd5fac3b",
    "card_design_id": "5"
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Identity": "YOUR-IDENTITY",
    "Authorization": "YOUR_AUTHORIZATION"
}

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

print(response.text)
var client = new RestClient("https://sandbox.bond.tech/api/v0/cards");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Identity", "YOUR-IDENTITY");
request.AddHeader("Authorization", "YOUR_AUTHORIZATION");
request.AddParameter("application/json", "{\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"business_id\":\"31c6c172-319f-4619-ab85-78e8e9edc088\",\"credit_limit\":\"1200.00\",\"parent_card_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"card_design_id\":\"5\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"program_id\":\"2742ff6a-7455-4066-8b45-ae12d3acca34\",\"business_id\":\"31c6c172-319f-4619-ab85-78e8e9edc088\",\"credit_limit\":\"1200.00\",\"parent_card_id\":\"6f0e7dcb-6073-42df-bf02-ce71bd5fac3b\",\"card_design_id\":\"5\"}");
Request request = new Request.Builder()
  .url("https://sandbox.bond.tech/api/v0/cards")
  .post(body)
  .addHeader("Accept", "application/json")
  .addHeader("Content-Type", "application/json")
  .addHeader("Identity", "YOUR-IDENTITY")
  .addHeader("Authorization", "YOUR_AUTHORIZATION")
  .build();

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

An example of a response to a successful request to create a card is shown below.

{
      "card_id":"b784e247-7ac5-475d-8abf-c8c4b5718084",
      "last_four":"2459",
      "status":"Inactive",
      "sponsor_bank_routing_number":"123456789",
      "card_design_id":"string",
      "program_id":"3dfa6828-9b6d-4213-a1d8-b20faf1b260e",
      "card_account_id":"26bdeb70-157c-4c44-a04a-3727793b9779",
      "credit_limit":"1200.00",
      "pseudo_dda":"93668139136022",
      "parent_card_id":"c4951305-177f-43f6-aea5-8277bda5ebb5",
      "business_id":"f65f3ff2-ff5a-46a0-a277-b5892aa5a690",
      "customer_id":""
}

To change the limit on a card, see Changing the limit on a card.

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


Did this page help you?