πŸ’³ Transactions API: How to Use It

πŸ” What is the Transactions API?

The Transactions API (v2) allows you to programmatically access expense data made with Clara cards. This includes both physical and virtual card transactions, with detailed metadata such as amount, currency, merchant, category, and status.

You can use this API to:

  • Build automated reporting dashboards
  • Analyze spend by user, team, or category
  • Monitor transaction activity in near real-time

πŸ“Œ Available Endpoints

OperationEndpointMethod
Retrieve all transactions/v2/transactionsGET
Get transaction by UUID/v2/transactions/{uuid}GET

1️⃣ Retrieve all transactions

Fetch a list of all transactions for your company. You can apply optional filters such as status, userUuid, or date range.

πŸ”— Endpoint

GET /v2/transactions

πŸ“€ cURL Request

curl -X GET \
"https://public-api.mx.clara.com/api/v2/transactions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

πŸ’‘ You can add filters as query parameters, for example: /v2/transactions?status=APPROVED&userUuid=abc-123

πŸ“₯ Sample JSON Response

[
  {
    "uuid": "txn-123",
    "amount": 580.00,
    "currency": "MXN",
    "status": "APPROVED",
    "merchant": "Amazon",
    "userUuid": "user-456",
    "category": "Office Supplies",
    "createdAt": "2024-06-10T15:30:00Z"
  },
  {
    "uuid": "txn-124",
    "amount": 1200.00,
    "currency": "MXN",
    "status": "PENDING",
    "merchant": "Uber",
    "userUuid": "user-789",
    "category": "Transportation",
    "createdAt": "2024-06-11T09:00:00Z"
  }
]

2️⃣ Retrieve Transaction by UUID

Fetch full details for a single transaction using its unique identifier.

πŸ”— Endpoint

GET /v2/transactions/{uuid}

πŸ“€ cURL Request

curl -X GET \
"https://public-api.mx.clara.com/api/v2/transactions/txn-123" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

πŸ“₯ Sample JSON Response

{
  "uuid": "txn-123",
  "amount": 580.00,
  "currency": "MXN",
  "status": "APPROVED",
  "merchant": "Amazon",
  "category": "Office Supplies",
  "description": "Team supplies",
  "user": {
    "uuid": "user-456",
    "fullName": "Ana GΓ³mez"
  },
  "card": {
    "uuid": "card-789",
    "lastFour": "4321",
    "type": "virtual"
  },
  "createdAt": "2024-06-10T15:30:00Z"
}

πŸ’‘ Tip: Use the transaction status field to filter transactions by lifecycle stage (e.g. PENDING, APPROVED, DECLINED, etc.).

⚠️ Note: Some fields like description, category, or user may be updated after the transaction is first created, depending on reconciliation and review processes.