Skip to main content

Cards

You can create virtual cards associated with your organization. These cards can be single-use or multi-use and can be restricted by merchant category code, currency, and transactioYn amount.

Create Cardholder​

POST {{baseUrl}}/zoqq/api/v1/card/cardholder

Description

Cardholders are authorized representatives of your business. Two types of cardholders are permitted: Individual and Delegate.

INDIVIDUAL: A cardholder who is a named representative of your business. They can be issued either personalized or non-personalized cards.
DELEGATE: A cardholder assigned only to non-personalized cards. They act as authorized users on behalf of your business. Cards issued to delegate cardholders will be associated with the name of your business.

Creating a cardholder requires passing a name screening process, which involves submitting basic information about the cardholder.
This endpoint allows you to create a new cardholder by providing details such as personal information, address, and identification documents. The cardholder can be either an individual or a business entity.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Request Body Parameters

ParameterTypeRequiredDescription
typestringYesType of cardholder (must be "INDIVIDUAL" or "DELEGATE")
emailstringYesCardholder's email address (must be valid format)
mobile_numberstringYesCardholder's mobile number
individualobjectYesRequired individual details
individual.nameobjectYesFirst and last name
individual.name.first_namestringYesFirst name
individual.name.last_namestringYesLast name
individual.date_of_birthstringYesDate of birth (format not specified)
individual.addressobjectYesPhysical address
individual.address.citystringYesCity
individual.address.countrystringYesCountry
individual.address.line1stringYesAddress line 1
individual.address.statestringYesState
individual.address.postcodestringYesPostal code
individual.express_consent_obtainedstringNoDefaults to "YES"
postal_addressobjectNoMailing address (if different)
postal_address.citystringYes if presentCity
postal_address.countrystringYes if presentCountry
postal_address.line1stringYes if presentAddress line 1
postal_address.statestringYes if presentState
postal_address.postcodestringYes if presentPostal code
created_bystringYesCreator identifier

Request Example

curl --location --request POST \
--url '{{baseUrl}}/zoqq/api/v1/card/cardholder' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Authorization: Bearer {{AccessToken}}'
--data-raw '{
"email": "testapiair78@yopmail.com",
"individual": {
"date_of_birth": "1990-01-01",
"name": {
"title": "miss",
"first_name": "John",
"middle_name":"P",
"last_name": "Doe"
},
"address": {
"city": "New York",
"country": "SG",
"line1": "123 5th Avenue",
"state": "NY",
"postcode": "10001"
}
},
"mobile_number": "86689006",
"postal_address": {
"city": "New York",
"country": "SG",
"line1": "123 5th Avenue",
"state": "NY",
"postcode": "10001"
},
"type": "INDIVIDUAL",
"created_by": "test"
}'

Response Example

{
"status": "success",
"message": "Cardholder created successfully.",
"code": 200,
"data": [
{
"id": "cardholder-id"
}
]
}

Get All Cardholders​

GET {{baseUrl}}/zoqq/api/v1/card/cardholder

Description

Cardholders are authorized representatives of your business. Two types of cardholders are permitted: Individual and Delegate.

INDIVIDUAL: A cardholder who is a named representative of your business. They can be issued either personalized or non-personalized cards.
DELEGATE: A cardholder assigned only to non-personalized cards. They act as authorized users on behalf of your business. Cards issued to delegate cardholders will be associated with the name of your business.

Cardholders must have completed the name screening process to appear in the results.
This endpoint allows you to retrieve all existing cardholders associated with your business, including their details and status.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card/cardholder' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "success",
"message": "Cardholder fetched successfully",
"code": 200,
"data": [
{
"id": "cardholder-id",
"email": "demo@yopmail.com",
"status": "READY",
"individual": null,
"mobile_number": "91-95053039",
"postal_address": null,
"type": "DELEGATE",
"created_by": "test",
"created_at": "2025-07-10T05:42:45"
},
{
"id": "cardholder-id",
"email": "testapiair99@yopmail.com",
"status": "PENDING",
"individual": {
"date_of_birth": "1990-01-01",
"identification": {
"country": "US",
"expiry_date": "2030-12-31",
"number": "ID123456789",
"type": "PASSPORT"
},
"name": {
"title": "miss",
"first_name": "John",
"middle_name": "singh",
"last_name": "Doe"
},
"address": {
"city": "New York",
"country": "SG",
"line1": "123 5th Avenue",
"state": "NY",
"postcode": "10001"
}
},
"mobile_number": "1234567890",
"postal_address": {
"city": "New York",
"country": "SG",
"line1": "123 5th Avenue",
"state": "NY",
"postcode": "10001"
},
"type": "INDIVIDUAL",
"created_by": "test",
"created_at": "2025-08-08T06:03:12"
},
{
"id": "cardholder-id",
"email": "test.cardholder@yopmail.com",
"status": "READY",
"individual": null,
"mobile_number": "+65123456789",
"postal_address": null,
"type": "DELEGATE",
"created_by": "awx.test01@yopmail.com",
"created_at": "2025-07-28T07:45:48"
}
]
}

Get Cardholder Details​

This API allows you to get the cardholder details from the system.

GET {{baseUrl}}/zoqq/api/v1/card/cardholder

Description

This endpoint allows you to retrieve a specific existing cardholder associated with your business, including their details and status.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key for request tracking
x-user-idstringYesUser identification key
Content-TypestringYesMust be application/json
AuthorizationstringYesBearer token

Query Parameters

ParameterTypeRequiredDescription
idstringYesCardholder identifier to get details for

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card/cardholder?id={{CardholderID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "success",
"message": "Cardholder fetched successfully",
"code": 200,
"data": [
{
"id": "cardholder-id",
"email": "demo@yopmail.com",
"status": "READY",
"individual": null,
"mobile_number": "91-95053039",
"postal_address": null,
"type": "DELEGATE",
"created_by": "test",
"created_at": "2025-07-10T05:42:45"
}
]
}

Update Cardholder​

This API updates card holder details including address and contact information.

PATCH {{baseUrl}}/zoqq/api/v3/card/cardholder

Description

This endpoint updates card holder information including physical address, postal address, and contact details.Update a cardholder with selected information. All fields are optional, and only those provided will be updated. If a composite object, e.g. name is provided, then all of its child fields must be provided and valid. Updating the cardholder may re-trigger the name screening process.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Request Body Parameters

ParameterTypeRequiredDescription
individualobjectNoIndividual details
individual.addressobjectNoPhysical address of the individual
individual.address.citystringNoCity name
individual.address.countrystringNoCountry code (ISO 2-letter)
individual.address.line1stringNoStreet address line 1
individual.address.statestringNoState or province
individual.address.postcodestringNoPostal or ZIP code
mobile_numberstringNoUpdated mobile number
postal_addressobjectNoMailing/postal address
postal_address.citystringNoCity name
postal_address.countrystringNoCountry code (ISO 2-letter)
postal_address.line1stringNoStreet address line 1
postal_address.statestringNoState or province
postal_address.postcodestringNoPostal or ZIP code
updated_atstringNoTimestamp or version of the update (string)
updated_bystringYesIdentifier of the user who performed the update

Query Parameters

ParameterTypeRequiredDescription
idstringYesCardholder identifier to update

Request Example

curl --location --request PATCH \
--url '{{baseUrl}}/zoqq/api/v3/card/cardholder?id={{CardholderID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'
--data '{
"individual": {
"address": {
"city": "Austin",
"country": "US",
"line1": "1234 Elm Street",
"state": "TX",
"postcode": "94932"
}
},
"mobile_number": "91-95053039",
"postal_address": {
"city": "Los Angeles",
"country": "US",
"line1": "5678 Oak Avenue",
"state": "CA",
"postcode": "94932"
},
"updated_at": "57",
"updated_by": "user"
}'

Response Example

{
"status": "success",
"message": "Cardholder updated successfully.",
"code": 200
}

Delete Cardholder​

This API allows you to permanently delete a cardholder from the system.

DELETE {{baseUrl}}/zoqq/api/v3/card/cardholder

Description

Permanently deletes a specified cardholder from the system. This action is irreversible.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key for request tracking
x-user-idstringYesUser identification key
Content-TypestringYesMust be application/json
AuthorizationstringYesBearer token

Query Parameters

ParameterTypeRequiredDescription
idstringYesCardholder Identifier

Request Example

curl --location --request DELETE \
--url '{{baseUrl}}/zoqq/api/v3/card/cardholder?id={{CardholderID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "success",
"message": "Cardholder deleted successfully.",
"code": 200
}

Create Card​

This API creates a new card for a cardholder in the system.

POST {{baseUrl}}/zoqq/api/v1/card

Description

The card object represents the resource associated with a card issued by Zoqq. It contains details such as the linked account, embossed name (for physical cards), shipping method and information (for physical cards), and card-based spend controls (e.g., transaction limits, blocked merchant category codes, etc.). The card object also specifies the intended user (e.g., clients, customers, or employees), the form factor (physical or virtual), and the usage type (single-use or multi-use).

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Request Body Parameters

ParameterTypeRequiredDescription
card_issuance_actionstringYesCard issuance type (NEW, REPLACEMENT)
card_typestringYesCard type (PHYSICAL, VIRTUAL)
card_holder_idstringYesID of the cardholder
created_bystringYesID of the user who created the request
request_idstringYesUnique ID for idempotency
programobjectYesProgram details
program.purposestringYesPurpose of the card (COMMERCIAL, CONSUMER)
program.typestringYesType of the card (DEBIT, CREDIT)
authorization_controlsobjectYesTransaction control configurations
authorization_controls.allowed_transaction_countstringYesSINGLE or MULTIPLE
authorization_controls.transaction_limitsobjectYesTransaction limits configuration
authorization_controls.transaction_limits.currencystringYesCurrency for the transaction limits (USD, etc.)
authorization_controls.transaction_limits.limitsarrayYesList of limit objects
authorization_controls.transaction_limits.limits[].amountintegerYesTransaction limit amount (> 0)
authorization_controls.transaction_limits.limits[].intervalstringYesInterval (PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME)
postal_addressobjectYesMailing/postal address required in case of physical card
postal_address.citystringYesCity name
postal_address.countrystringYesCountry code (ISO 2-letter)
postal_address.line1stringYesStreet address line 1
postal_address.statestringYesState or province
postal_address.postcodestringYesPostal or ZIP code
is_personalizedbooleanYesDetermines whether the card should be assigned to a singular individual or to the business with multiple cardholders who are authorized to use the card. Note - only personalized cards can be created as physical and added to digital wallet providers.

Request Example

curl --location --request POST \ 
--url '{{baseUrl}}/zoqq/api/v1/card' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"card_issuance_action": "NEW",
"card_type": "PHYSICAL",
"card_holder_id": "{{CardholderID}}",
"created_by": "Postman Test",
"request_id": "{{IdempotencyKey}}",
"program": {
"purpose": "COMMERCIAL",
"type": "DEBIT"
},
"authorization_controls": {
"allowed_transaction_count": "MULTIPLE",
"transaction_limits": {
"currency": "SGD",
"limits": [
{
"amount": 10000,
"interval": "PER_TRANSACTION"
}
]
}
},
"postal_address": {
"city": "Singapore",
"country": "SG",
"line1": "21 Pasir Ris Street 72",
"state": "Singapore",
"postcode": "518764"
},
"is_personalized": true
}'

Response Example

{
"code": 200,
"status": "success",
"message": "",
"data": {
"id": "card-id"
}
}

Get All Cards​

This API retrieves a list of all cards associated with the authenticated user.

GET {{baseUrl}}/zoqq/api/v1/card

Description

This endpoint returns a list of all cards (both physical and virtual) associated with the authenticated user. The response includes key card attributes such as card status, masked number, type, associated cardholder ID, and timestamps for creation and updates. Used to retrieve and display a user’s active or inactive cards for review, management, or filtering by type or status in customer portals, dashboards.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Query Parameters

ParameterTypeRequiredDescription
statusstringNoFilter by card status (ACTIVE, INACTIVE)
card_typestringNoFilter by card type (PHYSICAL, VIRTUAL)
limitintegerNoNumber of results per page (default: 20)
offsetintegerNoPagination offset (default: 0)

Response Parameters

ParameterTypeDescription
codeintegerResponse status code
statusstringResponse status
messagestringAdditional message
dataarrayArray of card objects
data[].cardHashIdstringUnique card identifier
data[].cardStatusstringCard status (ACTIVE/INACTIVE)
data[].maskedCardNumberstringMasked card number
data[].cardholderIdstringAssociated cardholder ID
data[].createdAtstringCreation timestamp (ISO 8601 format)
data[].updatedAtstringLast update timestamp (ISO 8601 format)
data[].nameOnCardstringName printed on the card
data[].cardTypestringCard type (PHYSICAL/VIRTUAL)
data[].currencystringCard currency code

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card?status=ACTIVE&card_type=VIRTUAL' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200,
"status": "success",
"message": "",
"data": [
{
"cardHashId": "card-hash-id",
"cardStatus": "ACTIVE",
"maskedCardNumber": "************4639",
"cardholderId": "",
"createdAt": "2025-04-02T07:36:56.973+0000",
"updatedAt": "2025-04-23T05:45:12.422+0000",
"nameOnCard": "Postman Test",
"cardType": "VIRTUAL",
"currency": "USD"
},
{
"cardHashId": "card-hash-id",
"cardStatus": "INACTIVE",
"maskedCardNumber": "************6886",
"cardholderId": "",
"createdAt": "2025-03-31T08:02:20.000+0000",
"updatedAt": "2025-03-31T08:02:20.000+0000",
"nameOnCard": "demozoqq",
"cardType": "PHY",
"currency": "SGD"
}
]
}

Get All Cards By Cardholder ID​

GET {{baseUrl}}/zoqq/api/v1/card

Description

This API allows you to retrieve all cards associated with a particular cardholder from the system.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key for request tracking
x-user-idstringYesUser identification key
Content-TypestringYesMust be application/json
AuthorizationstringYesBearer token

Query Parameters

ParameterTypeRequiredDescription
cardholder_idstringYesCardholder Identifier

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card?cardholder_id={{CardholderID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "success",
"message": "Card fetched successfully",
"code": 200,
"data": [
{
"card_hash_id": "card-hash-id",
"card_status": "ACTIVE",
"masked_card_number": "************1163",
"cardholder_id": "cardholder_id",
"created_at": "2025-08-13T08:29:04",
"updated_at": null,
"name_on_card": "test",
"card_type": "VIRTUAL",
"currency": "USD",
"postal_address": null
},
{
"card_hash_id": "card-hash-id",
"card_status": "ACTIVE",
"masked_card_number": "************0647",
"cardholder_id": "cardholder_id",
"created_at": "2025-08-13T07:19:17",
"updated_at": null,
"name_on_card": "10210",
"card_type": "VIRTUAL",
"currency": "USD",
"postal_address": null
}
]
}

Get Card Details​

This API retrieves sensitive card details including card number, CVV, and expiration information.

GET {{baseUrl}}/zoqq/api/v1/card/detail

Description

This endpoint returns sensitive card details that are typically masked in other endpoints. Requires appropriate permissions.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Query Parameters

ParameterTypeRequiredDescription
idstringYesCard ID to retrieve details for

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card/detail?id={{CardID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"status": "success",
"message": "Card detail fetched successfully.",
"code": 200,
"data": [
{
"alert_settings": {
"low_remaining_transaction_limit": {
"enabled": true,
"percent": 10
}
},
"all_card_versions": [
{
"card_number": "************8656",
"card_status": "ACTIVE",
"card_version": 1,
"created_at": "2025-08-08T07:42:27.059+0000"
}
],
"authorization_controls": {
"active_from": "2025-05-01T00:00:00.000+00:00",
"active_to": "2025-12-31T23:59:59.000+00:00",
"allowed_currencies": [
"USD",
"EUR",
"INR"
],
"allowed_merchant_categories": [
"5411",
"5732",
"5999"
],
"allowed_transaction_count": "MULTIPLE",
"blocked_transaction_usages": [],
"transaction_limits": {
"currency": "USD",
"limits": [
{
"amount": 1,
"interval": "DAILY"
},
{
"amount": 10000.0,
"interval": "PER_TRANSACTION"
}
]
}
},
"brand": "VISA",
"card_id": "card-id",
"card_number": "************8656",
"card_status": "ACTIVE",
"card_version": 1,
"cardholder_id": "cardholder-id",
"created_at": "2025-08-08T07:42:27.059+0000",
"created_by": "cardholder-id",
"delivery_details": {
"delivery_mode": "MAIL",
"delivery_vendor": "DHL",
"status": "PRINTED",
"tracked": true,
"tracking_link": "tracking-link",
"tracking_number": "ABCD123456",
"updated_at": "2025-09-04T00:00:00.000+0000"
},
"form_factor": "VIRTUAL",
"is_personalized": false,
"name_on_card": "user's name",
"nick_name": "null",
"program": {
"purpose": "COMMERCIAL",
"type": "DEBIT"
},
"purpose": "BUSINESS_EXPENSES",
"request_id": "user728",
"updated_at": "2025-09-04T06:01:35.599+0000"
}
]
}

Activate Card​

This API activates an inactive card in the system.

POST {{baseUrl}}/zoqq/api/v3/card/activate

Description

This endpoint activates a specific card (physical or virtual) associated with the user by updating its status to ACTIVE. Activation typically requires the card’s unique identifier and any necessary verification parameters, depending on the program’s setup. Used when a new card is issued and needs to be activated by the user before use. This is typically triggered via a user action in a web portal to begin using the card for transactions.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Query Parameters

ParameterTypeRequiredDescription
idstringYesUnique identifier of the card to activate

Request Example

curl --location --request POST \
--url '{{baseUrl}}/zoqq/api/v3/card/activate?id={{CardID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200,
"status": "success",
"message": "card activated successfully"
}

Update Card​

This API updates card details including authorization controls and status.

PATCH {{baseUrl}}/zoqq/api/v3/card

Description

This endpoint updates attributes of an existing card, such as its status (e.g., block, unblock), name on the card, or other modifiable fields, depending on the program’s permissions. Only specified fields are updated. Used to perform updates on a card post-issuance—for example, blocking a card due to suspicious activity, unblocking upon user request, or correcting cardholder details

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Request Body Parameters

ParameterTypeRequiredDescription
card_statusstringNoCard status — must be one of ACTIVE, INACTIVE, CLOSED
currencystringNoCurrency for the card (e.g., USD, EUR)
transaction_limitsarray of objectsNoList of transaction limits
transaction_limits[].typestringYes (if present)Type of limit — one of PER_TRANSACTION, DAILY, WEEKLY, MONTHLY, ALL_TIME
transaction_limits[].valueintegerYes (if present)Numerical value of the limit
authorization_controlsobjectNoControls for restricting card authorization
authorization_controls.active_fromstring (ISO 8601)NoStart date-time from which card is active (YYYY-MM-DDTHH:mm:ssZ)
authorization_controls.active_tostring (ISO 8601)NoEnd date-time until which card remains active
authorization_controls.allowed_currenciesarray of stringsNoAllowed currencies for card transactions (e.g., ["USD", "EUR"])
authorization_controls.allowed_merchant_categoriesarray of stringsNoAllowed merchant category codes (4-digit MCCs)
authorization_controls.transaction_scopestringNoType of transactions allowed — e.g., ALL_TRANSACTIONS, ONLINE_TRANSACTION, etc.
authorization_controls.usage_scopestringNoGeographic usage restriction — one of ALL, INTERNATIONAL, DOMESTIC

Query Parameters

ParameterTypeRequiredDescription
idstringYesCard ID to update

Request Example

curl --location --request PATCH \
--url '{{baseUrl}}/zoqq/api/v3/card?id={{CardID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}' \
--data '{
"card_status": "ACTIVE",
"currency": "USD",
"transaction_limits": [
{
"type": "DAILY",
"value": 1
}
],
"authorization_controls": {
"active_from": "2025-05-01T00:00:00Z",
"active_to": "2025-12-31T23:59:59Z",
"allowed_currencies": ["USD", "EUR", "INR"],
"allowed_merchant_categories": ["5411", "5732", "5999"],
"transaction_scope": "ONLINE_TRANSACTION",
"usage_scope": "INTERNATIONAL"
},
"updated_by": "test"
}'

Response Example

{
"code": 200,
"status": "success",
"message": "card updated successfully"
}

Get Card Limit​

This API retrieves the current transaction limits and other relevant details for a specific card.

GET {{baseUrl}}/zoqq/api/v1/card/limit

Description

This endpoint returns the current transaction limits and remaining amounts for a specific card, including both purchase and cash withdrawal limits.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Query Parameters

ParameterTypeRequiredDescription
idstringYesCard ID to retrieve limits for
currencystringNoFilter by specific currency

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card/limit?id={{CardID}}&currency=USD' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200
"status": "success",
"message": "",
"data": [
{
"currency": "USD",
"limits": [
{
"amount": 20000.00,
"interval": "ALL_TIME",
"remaining": 20000.00
},
{
"amount": 10000.00,
"interval": "PER_TRANSACTION",
"remaining": 10000.00
}
]
}
]
}

Get Card Transactions​

This API retrieves transaction history for a specific card.

GET {{baseUrl}}/zoqq/api/v1/card/transaction

Description

This endpoint returns a paginated list of transactions for a specific card, including detailed merchant information, transaction amounts, and status.

Request Headers

ParameterTypeRequiredDescription
x-api-keystringYesShared X-API key provided by Zoqq
x-product-idstringYesShared ProductID By Zoqq
x-request-idstringYesIdempotency key
x-user-idstringYesUser identification key
AuthorizationstringYesBearer token
Content-TypestringYesMust be application/json

Query Parameters

ParameterTypeRequiredDescription
idstringYesCard ID to retrieve transactions for
limitintegerNoNumber of transactions to return (default: 20)
offsetintegerNoPagination offset (default: 0)
start_datestringNoFilter transactions from this date (YYYY-MM-DD)
end_datestringNoFilter transactions to this date (YYYY-MM-DD)
statusstringNoFilter by transaction status (APPROVED, DECLINED, etc.)

Request Example

curl --location --request GET \
--url '{{baseUrl}}/zoqq/api/v1/card/transaction?id={{CardID}}' \
--header 'x-api-key: {{Shared X-API key By Zoqq}}' \
--header 'x-product-id: {{Shared ProductID By Zoqq}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'x-user-id: {{UserID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{AccessToken}}'

Response Example

{
"code": 200,
"status": "success",
"message": "",
"data": {
"has_more": true,
"items": [
{
"acquiring_institution_identifier": "123456",
"auth_code": "000001",
"billing_amount": 100,
"billing_currency": "USD",
"card_id": "",
"card_nickname": "string",
"client_data": "Some client data",
"digital_wallet_token_id": "",
"failure_reason": "INSUFFICIENT_FUNDS",
"lifecycle_id": "",
"masked_card_number": "************4242",
"matched_authorizations": [
"6c2dc266-09ad-4235-b61a-767c7cd6d6ea"
],
"merchant": {
"category_code": "4829",
"city": "San Francisco",
"country": "USA",
"identifier": "012345678910123",
"name": "Merchant A",
"postcode": "94111",
"state": "CA"
},
"network_transaction_id": "3951729271768745",
"posted_date": "2018-03-22T16:08:02+00:00",
"retrieval_ref": "909916088001",
"risk_details": {
"risk_actions_performed": [
"TRANSACTION_BLOCKED"
],
"risk_factors": [
"Suspicious transaction velocity"
],
"three_dsecure_outcome": "AUTHENTICATED"
},
"status": "APPROVED",
"transaction_amount": 100,
"transaction_currency": "USD",
"transaction_date": "2018-03-21T16:08:02+00:00",
"transaction_id": "transactionid",
"transaction_type": "REFUND"
}
]
}
}