Artha API
  1. Cards
  • Introduction
  • Authentication
  • KYC/KYB Requirements
  • API Setup Guide
  • Customers
    • Create Customer
      POST
    • List Customers
      GET
    • Get Customer
      GET
    • Update Customer
      PATCH
  • Cards
    • Submit KYC/KYB Applicant
      POST
    • Issue Card
      POST
    • Cards List
      GET
    • Get Card
      GET
    • Get Sensitive Card Details
      GET
  • Card Operations
    • Activate Card
      POST
    • Freeze Card
      POST
    • Unfreeze Card
      POST
    • Cancel Card
      POST
    • Replace Card
      POST
    • Set / Reset Card PIN
      POST
    • Get Card Limits
      GET
    • Update Card Limits
      POST
  • Funding
    • Top Up Card
      POST
    • Get Card Balance
      GET
    • List Top-Up History
      GET
  • Transactions
    • List All Transactions
      GET
    • List Card Transactions
      GET
    • List Customer Transactions
      GET
    • Get Transaction
      GET
  • Products
    • List Products
    • Get Product
  • Utilities
    • Upload Documents
  • Webhook's
    • Webhooks
  1. Cards

Issue Card

POST
{{baseUrl}}/api/v1/cards
Issues a new card linked to a customer and a card product.
Prerequisites:
Customer must exist and have an approved KYC/KYB status (if required by the product)
Product must be active and available
Card Types:
Virtual cards are issued instantly
Physical cards require a valid shipping_address and are dispatched by mail
The response contains a masked card number. Use GET /cards/{cardId}/sensitive to retrieve full PAN/CVV/expiry.

📋 Request Body Fields#

⚠️ Required Fields
FieldTypeDescriptionConstraints
customer_idstring (uuid)The customer to issue the card to. Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6-
product_idstring (uuid)The card product to use. Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7-
currencystringCurrency for the card (ISO 4217, e.g., GBP, USD, EUR). Example: GBP-
Optional Fields
FieldTypeDescriptionConstraints
shipping_addressShippingAddressDtoRequired for physical cards.-

📤 Response Fields#

FieldTypeDescriptionNotes
idstring (uuid)- Example: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11-
customer_idstring (uuid)--
product_idstring (uuid)--
product_namestring- Example: GBP Virtual Prepaidnullable
providerstring-nullable
card_typestringvirtual or physical. Example: virtualnullable
card_number_maskedstringLast 4 digits of the card number (e.g., ****4242). Example: ****4242nullable
currencystring- Example: GBP-
statusstringCard status: inactive, active, frozen, cancelled. Example: active-
balancenumber- Example: 450.0nullable
created_atstring (date-time)--
updated_atstring (date-time)-nullable

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201
application/json
Card issued successfully.
Body

🟠401
🟠404
🟠422
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location -g --request POST '{{baseUrl}}/api/v1/cards' \
--header 'X-API-Key;' \
--header 'X-Signature;' \
--header 'X-Timestamp;' \
--header 'X-Nonce;' \
--header 'X-Body-Hash;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "customer_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "product_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "currency": "GBP"
}'
Response Response Example
201 - Success
{
    "data": {
        "id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
        "customer_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "product_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "product_name": "GBP Virtual Prepaid",
        "card_type": "virtual",
        "card_number_masked": "****4242",
        "currency": "GBP",
        "status": "inactive",
        "balance": 0,
        "created_at": "2024-01-15T10:30:00Z"
    },
    "request_id": "req_card001",
    "timestamp": "2024-01-15T10:30:00Z"
}
Modified at 2026-02-18 13:22:07
Previous
Submit KYC/KYB Applicant
Next
Cards List
Built with