Search
Search customers and vendors together by name or domain, returning a light record (id, name, type, domains, logo, default categorization) rather than the full entity. Built for pickers and autocomplete. `q` matches names and domains case-insensitively and may be omitted to get the first `limit` counterparties alphabetically. Narrow the result with `types=customer` or `types=vendor`; the caller still only sees types their permissions allow, so a grant with `customers:read` alone never returns vendors.
Authentication
sf_… API key in the bearerAuth field below.A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
In: header
Path Parameters
1 <= lengthQuery Parameters
1 <= value <= 500020Response Body
application/json
curl -X GET "https://example.com/companies/string/counterparties/search"nullUpdate external id
Replace a vendor's external ids with the list you send. This is a full replacement, not a merge, so include the ids you want to keep. An id already claimed by a different vendor in the same company is refused with 409.
List transactions
List transactions, paginated, with their categorizations attached. This is the simple listing: filter by account, or by `status: "uncategorized"` for rows with no categorization at all. For anything richer (date ranges, amounts, counterparties, categories, free text, sorting) use `POST /transactions/search`, whose `open` status is also broader than `uncategorized` here. Do not aggregate by paging through this endpoint; the `data` slices compute totals server-side.