Skip to main content
Merchants are the payees on your transactions. Kualia enriches many merchants automatically (logos, verified names); the API exposes the resolved display name.

The merchant object

{
  "id": "k9921m...",
  "name": "Starbucks",
  "created_at": "2026-02-03T10:00:00.000Z",
  "updated_at": "2026-06-30T08:12:44.000Z"
}

List merchants

GET /v1/workspaces/{workspace_id}/merchants
Returns all active merchants sorted by name.

Get a merchant

GET /v1/workspaces/{workspace_id}/merchants/{merchant_id}

Create a merchant

POST /v1/workspaces/{workspace_id}/merchants
{ "name": "Corner Bakery" }
Names are unique per workspace (case-insensitive); a duplicate returns 409 conflict.
You usually don’t need to create merchants explicitly — passing merchant_name when creating a transaction finds or creates the merchant in one step.

Rename a merchant

PATCH /v1/workspaces/{workspace_id}/merchants/{merchant_id}
{ "name": "Corner Bakery Cafe" }

Delete a merchant

DELETE /v1/workspaces/{workspace_id}/merchants/{merchant_id}
Query parameterTypeDescription
move_to_merchant_idstringReassign the merchant’s transactions and planned transactions to this merchant
Without move_to_merchant_id, the merchant’s transactions keep their data but lose the payee. The response reports what moved:
{
  "data": {
    "deleted": true,
    "id": "k9921m...",
    "moved_transaction_count": 42,
    "updated_recurring_transaction_count": 1
  }
}