Here is a full guide to card creation, management, and lifecycle
Clara's Cards API lets you manage physical and virtual cards for your users and teams. You can create cards, retrieve details, update names, change statuses, and more β all programmatically.
Operation | Endpoint | Method |
---|---|---|
Find all cards | /v3/cards | GET |
Find cards by uuid | /v3/cards/{uuid} | GET |
Create cards | /v3/cards/bulk-create | POST |
Single create card | /v3/cards | POST |
Update cards threshold | /v3/cards/{uuid}/threshold | PATCH |
Lock/unlock cards | /v3/cards/{uuid}/lock | PATCH |
Delete card | /v3/cards/{uuid} | DELETE |
Delete cards | /v3/cards/delete | POST |
1οΈβ£ Find All Cards
List all cards in your account.
π Endpoint
GET /v3/cards
π€ cURL Request
curl -X GET
"https://public-api.mx.clara.com/api/v3/transactions/47f8ed9e-4d7b-450b-ad6a-f1d83e3ce4e1/documents" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
π₯ Sample JSON Response
[
{
"uuid": "5d1e2f83-1c90-4c34-9400-bfef9ac85c6e",
"lastFour": "3421",
"type": "virtual",
"status": "active",
"name": "Marketing Card",
"holderUuid": "f3a9cb88-894b-4420-aed3-6178cd41721d"
}
]
π Query Parameters
Parameter | Type | Description | Valid Values / Notes |
---|---|---|---|
page | integer | Zero-based index of the page to retrieve. Used for pagination. | 0..N |
size | integer | Number of records to retrieve per page. | Max allowed may depend on backend constraints |
userUuid | string | Filter cards that belong to a specific user by UUID. | Cannot be used in combination with userErpId |
username | string | Filter cards by the associated user's username (email/handle). | Must be exact match |
status | string | Filter by card status. | e.g., ACTIVE , BLOCKED , CANCELLED , EXPIRED , etc. |
periodicity | string | Filter cards by their spending limit periodicity. | DAILY , WEEKLY , MONTHLY |
type | string | Filter by the cardβs product and format type. | See full list below |
userErpId | string | ERP-specific user identifier. Applies only if userUuid is not provided. | Used for integrations with ERP systems like SAP, NetSuite, etc. |
β Valid Values for type
Value | Description |
---|---|
MASTER_WORLD_ELITE | Mastercard-branded premium "World Elite" card |
MASTER_CORPORATE | Mastercard corporate-level card |
MASTER_VIRTUAL | Virtual Mastercard |
VISA_PHYSICAL | Physical Visa card |
VISA_VIRTUAL | Virtual Visa card |
β οΈ This field represents a combination of network + format + product line (not just "VIRTUAL" / "PHYSICAL" like in the POST endpoint).
2οΈβ£ Find Card by UUID
Fetch a single card by its UUID.
π Endpoint
GET /v3/cards/{uuid}
π€ cURL Request
curl -X GET \
"https://public-api.mx.clara.com/api/v3/cards/5d1e2f83-1c90-4c34-9400-bfef9ac85c6e" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
π₯ Sample JSON Response
{
"uuid": "5d1e2f83-1c90-4c34-9400-bfef9ac85c6e",
"lastFour": "3421",
"type": "virtual",
"status": "active",
"name": "Marketing Card",
"issuedAt": "2024-04-01T12:00:00Z"
}
3οΈβ£ Create Cards (Bulk)
Create multiple cards asynchronously.
π Endpoint
POST /v3/cards/bulk-create
π€ cURL Request
curl -X POST \
"https://public-api.mx.clara.com/api/v3/cards/bulk-create" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cardsRequests": [
{
"type": "virtual",
"alias": "Ops Team",
"userUUID": "user-uuid-1",
"threshold": 500,
"periodicityType": "DAILY"
}
]
}'
π Cards are created asyncβmonitor via webhook or poll /v3/cards.
4οΈβ£ Create Single Card
Create one card directly.
π Endpoint
POST /v3/cards
π€ cURL Request
curl -X POST \
"https://public-api.mx.clara.com/api/v3/cards" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "physical",
"alias": "Team Card",
"userUUID": "user-uuid-2",
"threshold": 1000,
"periodicityType": "MONTHLY"
}'
π Request Body Fields
Field | Type | Required | Description | Valid Values / Notes |
---|---|---|---|---|
type | string | β Yes | Defines whether the card is virtual or physical | VIRTUAL , PHYSICAL |
alias | string | β Yes | Alias or nickname to identify the card | Free-text |
userUuid | uuid | β Yes | UUID of the cardholder | Must belong to a valid user in your organization |
threshold | number | β No | Spending limit assigned to the card | Must respect credit policies and cannot exceed company limit |
businessType | string | β No | Defines the business product tier of the card | BUSINESS , WORLD_ELITE |
periodicity | string | β No | Frequency at which the threshold resets | DAILY , WEEKLY , MONTHLY |
5οΈβ£ Update Card Threshold
Adjust the spending limit for a card.
π Endpoint
PATCH /v3/cards/{uuid}/threshold
π€ cURL Request
curl -X PATCH \
"https://public-api.mx.clara.com/api/v3/cards/abc-123/threshold" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"threshold": 800}'
6οΈβ£ Toggle Card Lock
Lock or unlock a card.
π Endpoint
PATCH /v3/cards/{uuid}/lock
π€ cURL Request
curl -X PATCH \
"https://public-api.mx.clara.com/api/v3/cards/abc-123/lock" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"lock": true}'
7οΈβ£ Delete a Card
Cancel (soft-delete) a single card.
π Endpoint
DELETE /v3/cards/{uuid}
π€ cURL Request
curl -X DELETE \
"https://public-api.mx.clara.com/api/v3/cards/abc-123" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
8οΈβ£ Delete Multiple Cards
Cancel multiple cards in one request.
π Endpoint
POST /v3/cards/delete
π€ cURL Request
curl -X POST \
"https://public-api.mx.clara.com/api/v3/cards/delete" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"uuids": ["abc-123", "def-456"]
}'
β οΈ Important Notes:
- Threshold changes and locks are allowed only on active cards.
- Locking a card prevents usage; unlocking restores access.
- Deleted cards cannot be recovered.
- Ensure your threshold doesnβt exceed your companyβs credit limit.
π‘ Tip: Use locking to disable lost/stolen cards and delete to permanently remove unused ones.