Transactions

Card spend (swipes, online purchases, P2P, ACH events) is mirrored locally from provider webhooks.

GET/partner/cards/transactions

๐Ÿ”‘ Org key + secret๐Ÿ‘ค User session
ParamDefaultNotes
payment_card_idโ€”UUID; scope to one card.
limit20
offset / page0 / โ€”page (1-indexed) overrides offset.
searchโ€”Free-text over merchant/description.
200 ยท Response
{
  "count": 47,
  "results": [
    {
      "id": "uuid", "status": "completed", "amount": 12.50,
      "posted_at": "2026-05-23T14:30:00Z", "description": "...",
      "direction": "debit", "mcc": "5812", "merchant_name": "Chipotle",
      "transaction_type": "purchase", "category_type": "dining_and_drinks"
    }
  ],
  "limit": 20, "offset": 0, "has_next": true, "has_previous": false, "total_pages": 3
}

category_type is Qwik's budget category โ€” auto-derived from the MCC, or your override (see categorize below).

GET/partner/cards/transactions/:externalTransactionId/status

๐Ÿ”‘ Org key + secret๐Ÿ‘ค User session

Latest stored status for a provider transaction/payment id. Shape varies by transaction type but always includes status and external_transaction_id. Useful when polling a P2P/ACH after creating it.

PATCH/partner/transactions/:transactionId/category

๐Ÿ”‘ Org key + secret๐Ÿ‘ค User session

Override the auto-classified category on one of the user's transactions. Path: transactionId โ€” accepts either the local row id or the provider external_transaction_id.

Body: { "category": <category> | null } โ€” null clears the override. Allowed categories:

Allowed categories
dining_and_drinks, groceries, entertainment, shopping, gas, transportation,
healthcare, utilities, rent_and_housing, education, travel, personal_care, other
200 ยท Response
{ "transaction": { "id": 123, "external_transaction_id": "...", "platform_category": "groceries" }, "message": "Category set to groceries" }

404 if the transaction doesn't belong to this user.