7οΈβ£Card Issuance
Now that you have created a customer account, you are able to issue cards for the account. To do so, you need to use /accounts/{accountId}/card
POST
request.
Creates new card for the account
Unique account ID
HTTP message signature
HTTP message signature input
Idempotency key (UUID)
Content digest
Card type
Successful operation
Invalid request
Not authorised
Account not found
Internal error
POST /v1/accounts/{accountId}/cards HTTP/1.1
Host: api.offblocks.xyz
Authorization: Bearer JWT
Signature: text
Signature-Input: text
Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000
Content-Digest: text
Content-Type: application/json
Accept: */*
Content-Length: 299
{
"type": "virtual",
"billingAddress": {
"firstLine": "Flat G",
"secondLine": "321 West End Lane",
"city": "London",
"state": "text",
"country": "GB",
"postCode": "NW6 2FG"
},
"shippingAddress": {
"firstLine": "Flat G",
"secondLine": "321 West End Lane",
"city": "London",
"state": "text",
"country": "GB",
"postCode": "NW6 2FG"
}
}
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"accountId": "123e4567-e89b-12d3-a456-426614174000",
"type": "virtual",
"name": "John Carter",
"network": "visa",
"maskedPan": "530518******9871",
"expirationDate": "10/2028",
"billingAddress": {
"firstLine": "Flat G",
"secondLine": "321 West End Lane",
"city": "London",
"state": "text",
"country": "GB",
"postCode": "NW6 2FG"
},
"status": "issuing",
"createdAt": "2025-08-22T20:29:51.295Z",
"updatedAt": "2025-08-22T20:29:51.295Z"
}
Let's say we want to open a new virtual card (physical cards are not supported at the moment):
{
"type": "virtual",
"billingAddress": {
"firstLine": "1 Test Avenue",
"city": "London",
"country": "GB",
"postCode": "SW1 1AA"
}
}
If everything was successful, you will receive a response with status 201 (Created)
which looks similar to the following:
{
"accountId": "ae61c362-4136-49af-8e01-544457fe265b",
"billingAddress": {
"city": "London",
"country": "GB",
"firstLine": "1 Test Avenue",
"postCode": "SW1 1AA"
},
"createdAt": "2024-01-12T15:12:26.923705379Z",
"id": "fc4912aa-cac9-4bb0-a6a7-6ec50bf45879",
"status": "issuing",
"type": "virtual",
"updatedAt": "2024-01-12T15:12:26.923705379Z"
}
At this stage, you can use our Simulator to issue or fail a pending card issuance request.
Assuming you would like to issue the card and proceed with next steps, you need to make an empty PATCH
request to /simulator/cards/{cardId}/issue
.
Simulates card issuing success
Unique card ID
HTTP message signature
HTTP message signature input
Idempotency key (UUID)
Successful operation
Invalid request
Not authorised
Card not found
Internal error
PATCH /v1/simulator/cards/{cardId}/issue HTTP/1.1
Host: api.offblocks.xyz
Authorization: Bearer JWT
Signature: text
Signature-Input: text
Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000
Accept: */*
No content
If your request was successful, you will receive an empty response with status 202 (Accepted)
.
In our Sandbox environment the card will be automatically issued and activated, which you can verify by making a GET
request to /cards/{cardId}
.
Retrieves card's details
Unique card ID
HTTP message signature
HTTP message signature input
Successful operation
Invalid request
Not authorised
Card not found
Internal error
GET /v1/cards/{cardId} HTTP/1.1
Host: api.offblocks.xyz
Authorization: Bearer JWT
Signature: text
Signature-Input: text
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"accountId": "123e4567-e89b-12d3-a456-426614174000",
"type": "virtual",
"name": "John Carter",
"network": "visa",
"maskedPan": "530518******9871",
"expirationDate": "10/2028",
"billingAddress": {
"firstLine": "Flat G",
"secondLine": "321 West End Lane",
"city": "London",
"state": "text",
"country": "GB",
"postCode": "NW6 2FG"
},
"status": "issuing",
"createdAt": "2025-08-22T20:29:51.295Z",
"updatedAt": "2025-08-22T20:29:51.295Z"
}
{
"accountId": "ae61c362-4136-49af-8e01-544457fe265b",
"billingAddress": {
"city": "London",
"country": "GB",
"firstLine": "1 Test Avenue",
"postCode": "SW1 1AA"
},
"createdAt": "2024-01-12T15:12:26.923705Z",
"id": "fc4912aa-cac9-4bb0-a6a7-6ec50bf45879",
"status": "active",
"type": "virtual",
"updatedAt": "2024-01-12T15:16:03.983949Z"
}
From there we can proceed to simulating card authorisations and transactions.
Last updated