Skip to main content

Cards Details

Retrieving card data, status management (block/unblock), PIN changes and channel controls.

Get Cards

GET /v1/api/cards/get-cards

Fetch a paginated list of cards for a business. Supports server-side filtering via searchParams.

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
pageNumberYesPathNumberThe page of results to retrieve
pageSizeYesPathNumberThe number of items that should be returned per page
searchParamsYesPathObjectOptional filters

Sample Request

curl --location '{BASE_URL}/v1/api/integration/get-cards' \ --header 'secret: {SECRET_KEY}' \ --header 'api-key: {API_KEY}' \ --body '{
"pageNumber": 1,
"pageSize": 100,
"searchParams": {
// "cardStatus" : "ACTIVATED"
// "accountNumber": "",
// "cardRequestId": "",
//"cardHolderName" : "PHYLLIS"
}
}'

Sample Response (200 - OK)

{
"totalCount": 3,
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": [
{
"cardRequestId": "ad9a366e-c505-4d8c-bbf6-c02fb6c2551b",
"accountNumber": "9000003642",
"cardType": "Physical",
"pan": "ioFI/vC+ZrZI2V6Nsm9sSZBHRrriEp3o8bThDSvkjhg=",
"maskPan": "506136******3284",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": true,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": "79331544-6a66-4fb4-8633-ebdaea4790ea",
"isDeleted": false,
"id": "954fbf91-e641-43a9-8000-3195de6f134d",
"creationDate": "2025-11-28T13:17:52.44887Z",
"lastUpdateDate": "2025-11-28T13:17:52.447953Z",
"timeStamp": null
},
{
"cardRequestId": "ff720aa6-9674-43ba-93bb-d62a15b277fb",
"accountNumber": "9000002975",
"cardType": "Physical",
"pan": "fTD2fGCisvGXploZ/dSuB5bmi1uxJ+9APspFKL5gt/A=",
"maskPan": "506136******3292",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": false,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": "79331544-6a66-4fb4-8633-ebdaea4790ea",
"isDeleted": false,
"id": "3ddb1503-af10-4e7b-8a30-eae7707912f5",
"creationDate": "2025-11-28T12:59:44.469499Z",
"lastUpdateDate": "2025-11-28T12:59:44.469212Z",
"timeStamp": null
},
{
"cardRequestId": "210a612d-64e2-4988-8156-73de27f174cb",
"accountNumber": "9000003673",
"cardType": "Physical",
"pan": "GcxmFJRAeiZ1hRqVIGL7BA3dgdFAp4EAkTdICHt5AwY=",
"maskPan": "506136******3300",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": false,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": "79331544-6a66-4fb4-8633-ebdaea4790ea",
"isDeleted": false,
"id": "843b75b0-a124-4542-912a-90012ef805cf",
"creationDate": "2025-11-28T12:45:59.074021Z",
"lastUpdateDate": "2025-11-28T12:45:59.072525Z",
"timeStamp": null
}
]
}

Sample Response (404 - Not Found)

{
"totalCount": 0,
"status": false,
"message": "No record found for search",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}

Get Single Card Details

GET /v1/api/cards/get-card-by-id/:cardAccountId

This endpoint is used to retrieve a single card details by ID.

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
cardAccountIdYesPathStringThe unique identifier for the card

Sample Request

curl --location '{BASE_URL}/v1/api/cards/get-card-by-id/{cardAccountId}' \ --header 'secret: {SECRET_KEY}' \ --header 'api-key: {API_KEY}'

Sample Response (200 - OK)

{
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": {
"cardAccounts": {
"cardRequestId": "ad9a366e-c505-4d8c-bbf6-c02fb6c2551b",
"accountNumber": "9000003642",
"cardType": "Physical",
"pan": "DOCpG6KHYWUqEr5OyMcAPpGhYt0Go22ORFt8Uoj2Prg=",
"maskPan": "506136******3284",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": true,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": "79331544-6a66-4fb4-8633-ebdaea4790ea",
"isDeleted": false,
"id": "954fbf91-e641-43a9-8000-3195de6f134d",
"creationDate": "2025-11-28T13:17:52.44887Z",
"lastUpdateDate": "2025-11-28T13:17:52.447953Z",
"timeStamp": null
},
"cardRequest": {
"pickUpLocation": "PICKUP",
"phoneNumber": "08077766651",
"email": "[email protected]",
"gender": "Male",
"batchNumber": null,
"houseNumber": "70",
"streetName": "Lekki Court",
"lga": "Eti-Osa",
"landMark": "Lekki",
"state": "Lagos",
"cardType": "Physical",
"deliveryFee": 0,
"issuanceFee": 0,
"totalAmount": 0,
"requestStatus": "READY",
"instrumentNumber": null,
"referenceNo": null,
"transactionMessage": null,
"safeTokenBatchNumber": null,
"safeTokenStatus": null,
"deliveryBatchNumber": null,
"deliveryStatus": null,
"businessId": "79331544-6a66-4fb4-8633-ebdaea4790ea",
"transactionStatusCode": null,
"pickUpDate": null,
"exportedDate": null,
"uploadedDate": null,
"id": "ad9a366e-c505-4d8c-bbf6-c02fb6c2551b",
"creationDate": "2025-11-28T13:17:52.447274Z",
"lastUpdateDate": "2025-11-28T13:17:52.447761Z",
"isDeleted": false,
"timeStamp": null
},
"cardTransactions": [],
"cardRequestHistory": [
{
"cardRequestId": "ad9a366e-c505-4d8c-bbf6-c02fb6c2551b",
"message": "Card request initiated and card pan generated.",
"id": "75c116ae-5c87-452b-bd95-00ec9c6644f7",
"creationDate": "2025-11-28T13:17:52.449162Z",
"lastUpdateDate": null,
"isDeleted": false,
"timeStamp": null
}
]
}
}

Sample Response (404 - Not Found)

{
"status": false,
"message": "No record found for search",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}

Get Card By Account Number

GET /v1/api/cards/get-card-by-account-number/{accountNumber}

This endpoint is used to retrieve a single card details by account number.

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
accountNumberYesPathStringThe account number for the card(s)

Sample Request

curl --location '{BASE_URL}/v1/api/cards/get-card-by-account-number/{accountNumber}' \ --header 'secret: {SECRET_KEY}' \ --header 'api-key: {API_KEY}'

Sample Response (200 - OK)

{
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": [
{
"cardRequestId": "ad9a366e-c505-4d8c-bbf6-c02fb6c2551b",
"accountNumber": "9000003642",
"cardType": "Physical",
"pan": "DOCpG6KHYWUqEr5OyMcAPpGhYt0Go22ORFt8Uoj2Prg=",
"maskPan": "506136******3284",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": true,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": "79331544-6a66-4fb4-8633-ebdaea4790ea",
"isDeleted": false,
"id": "954fbf91-e641-43a9-8000-3195de6f134d",
"creationDate": "2025-11-28T13:17:52.44887Z",
"lastUpdateDate": "2025-11-28T13:17:52.447953Z",
"timeStamp": null
}
]
}

Sample Response (400 - Not Found)

{
"status": false,
"message": "No record found for search",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}

Block Card

POST /v1/api/cards/block-card

This is used to block a card

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
CardAccountIdYesBodyStringThe unique identifier for the card being blocked
ReasonForBlockingYesBodyStringReason for blocking card --- "They should always pass '5' here"

Sample Request

curl --location '{BASE_URL}/v1/api/cards/block-card' \--header 'secret: {SECRET_KEY}' \--header 'api-key: {API_KEY}' \--header 'Content-Type: application/json' \--data '{ "CardAccountId" : "f6abaa64-4921-4094-a4f1-66241b030b01",
"ReasonForBlocking" : "5"}'

Sample Response (200 - OK)

{
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": {
"cardRequestId": "ff720aa6-9674-43ba-93bb-d62a15b277fb",
"accountNumber": "9000002975",
"cardType": "Physical",
"pan": "fTD2fGCisvGXploZ/dSuB5bmi1uxJ+9APspFKL5gt/A=",
"maskPan": "506136******3292",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": false,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "BLOCKED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": null,
"isDeleted": false,
"id": "3ddb1503-af10-4e7b-8a30-eae7707912f5",
"creationDate": "2025-11-28T12:59:44.469499Z",
"lastUpdateDate": "2025-12-08T09:55:33.528026Z",
"timeStamp": null
}
}

Sample Response (400 - Bad Request)

{
"status": false,
"message": "Validation error - CardAccountId is required. | CardAccountId must be a valid GUID.",
"statusCode": "09",
"data": null
}

Sample Response (404 - Not Found)

{
"status": false,
"message": "No record found",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}

Unblock Card

POST /v1/api/cards/unblock-card

This is used to unblock a card

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
CardAccountIdYesBodyStringThe unique identifier for the card being unblocked

Sample Request

curl --location '{BASE_URL}/v1/api/cards/unblock-card' \--header 'secret: {SECRET_KEY}' \--header 'api-key: {API_KEY}' \--header 'Content-Type: application/json' \--data '{ "CardAccountId" : "f6abaa64-4921-4094-a4f1-66241b030b01"}'

Sample Response (200 - OK)

{
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": {
"cardRequestId": "ff720aa6-9674-43ba-93bb-d62a15b277fb",
"accountNumber": "9000002975",
"cardType": "Physical",
"pan": "fTD2fGCisvGXploZ/dSuB5bmi1uxJ+9APspFKL5gt/A=",
"maskPan": "506136******3292",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": false,
"enableAtm": true,
"enablePos": true,
"enableWeb": true,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": null,
"isDeleted": false,
"id": "3ddb1503-af10-4e7b-8a30-eae7707912f5",
"creationDate": "2025-11-28T12:59:44.469499Z",
"lastUpdateDate": "2025-12-08T09:58:57.765608Z",
"timeStamp": null
}
}

Sample Response (400 - Bad Request)

{
"status": false,
"message": "Validation error - CardAccountId is required. | CardAccountId must be a valid GUID.",
"statusCode": "09",
"data": null
}

Sample Response (404 - Not Found)

{
"status": false,
"message": "No record found",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}

Manage Card Channels

POST /v1/api/cards/manage-card-channels

This endpoint allows you to manage the channels associated with a specific card account. You can enable or disable various functionalities such as ATM, POS, web, and contactless transactions for the card.

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
CardAccountIdYesBodyStringThe unique identifier for the card account.
EnableAtmYesBodyBooleanFlag to enable or disable ATM transactions.
EnablePosYesBodyBooleanFlag to enable or disable POS transactions.
EnableWebYesBodyBooleanFlag to enable or disable web transactions.
EnableContactlessYesBodyBooleanFlag to enable or disable contactless transactions.

Sample Request

curl --location '{BASE_URL}/v1/api/cards/manage-card-channels' \--header 'secret: {SECRET_KEY}' \--header 'api-key: {API_KEY}' \--header 'Content-Type: application/json' \--data '{
"CardAccountId": "5e29acea-5e46-462d-9066-8934e0834c71",
"EnableAtm": false,
"EnablePos": false,
"EnableWeb": false,
"EnableContactless": false
}'

Sample Response (200 - OK)

{
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": {
"cardRequestId": "ff720aa6-9674-43ba-93bb-d62a15b277fb",
"accountNumber": "9000002975",
"cardType": "Physical",
"pan": "fTD2fGCisvGXploZ/dSuB5bmi1uxJ+9APspFKL5gt/A=",
"maskPan": "506136******3292",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": false,
"enableAtm": false,
"enablePos": false,
"enableWeb": false,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": null,
"cvv": null,
"cvv2": null,
"businessId": null,
"isDeleted": false,
"id": "3ddb1503-af10-4e7b-8a30-eae7707912f5",
"creationDate": "2025-11-28T12:59:44.469499Z",
"lastUpdateDate": "2025-12-08T11:30:25.697638Z",
"timeStamp": null
}
}

Sample Response (404 - Not Found)

{
"status": false,
"message": "No record found",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}

Change Card PIN

POST /v1/api/cards/change-card-pin

This endpoint allows clients to change the PIN of an existing card using the provided card account ID. This is essential for users who wish to update their security credentials for enhanced protection against unauthorized access. The process requires the user to input their new PIN and confirm it to ensure accuracy.

Parameters

FieldMandatoryParameter TypeData TypeDescription
api-keyYesHeaderStringThe client’s API key
secretYesHeaderStringThe client's secret key for the environment to which the request is being made
CardAccountIdYesBodyStringThe unique identifier for the card account for which the PIN is being changed.
oldPinYesBodyStringThe cards old pin.
newPinYesBodyStringThe new PIN that the user wants to set for the card. This should be a secure four-digit code.
confirmPinYesBodyStringA confirmation of the new PIN to ensure it matches the entered PIN.

Sample Request

curl --location '{BASE_URL}/v1/api/cards/manage-card-channels' \--header 'secret: {SECRET_KEY}' \--header 'api-key: {API_KEY}' \--header 'Content-Type: application/json' \--data '{
"cardAccountId": "3ddb1503-af10-4e7b-8a30-eae7707912f5",
"oldPin" : "1234",
"newPin": "0000",
"confirmPin": "0000"
}'

Sample Response (200 - OK)

{
"status": true,
"message": "Operation successful",
"statusCode": "00",
"data": {
"cardRequestId": "ff720aa6-9674-43ba-93bb-d62a15b277fb",
"accountNumber": "9000002975",
"cardType": "Physical",
"pan": "fTD2fGCisvGXploZ/dSuB5bmi1uxJ+9APspFKL5gt/A=",
"maskPan": "506136******3292",
"cardHolderName": "VICTOR NWOGU",
"cardExpirationDate": "2030-11-30T00:00:00Z",
"isActivated": false,
"enableAtm": false,
"enablePos": false,
"enableWeb": false,
"enableContactless": false,
"cardStatus": "ACTIVATED",
"pin": "enSVxXpKGUlEOALwuxep6g==",
"cvv": null,
"cvv2": null,
"businessId": null,
"isDeleted": false,
"id": "3ddb1503-af10-4e7b-8a30-eae7707912f5",
"creationDate": "2025-11-28T12:59:44.469499Z",
"lastUpdateDate": "2025-12-08T11:37:45.454463Z",
"timeStamp": null
}
}

Sample Response (404 - Not Found)

{
"status": false,
"message": "No record found",
"statusCode": "25",
"data": null
}

Sample Response (500 - Internal Server Error)

{
"status": false,
"message": "An error occurred while processing this request. Kindly refer to the StatusCode.",
"statusCode": "06",
"data": null
}