/clientsList clientsReturns the authenticated organization's non-deleted clients, ordered by opaque internal ID for a stable cursor anchor. Use the cursor returned in meta.cursor (if meta.hasMore is true) to fetch the next page.
Today's response includes id, name, domain, createdAt, updatedAt. Additional fields (email, phone, company, notes) listed in the v1.0 spec are not yet populated.
Parameters
limitintegerqueryPage size (default 20, max 100).
cursorstringqueryOpaque cursor from a previous response's `meta.cursor`.
Responses
Headers
X-RateLimit-LimitThe request cap for the tighter of the per-organization / per-endpoint windows that applied to this request.
X-RateLimit-RemainingRequests remaining in the current window.
X-RateLimit-ResetUnix timestamp (seconds) when the current window resets.
allOf · 2 options
datavaluerequiredThe response payload — shape depends on the endpoint.
metaobjectrequiredPagination metadata — populated on list endpoints, empty on single-resource endpoints.
Show child attributes
cursornull | stringOpaque cursor to pass to the next request.
hasMoreboolean | nullTrue when further pages of results are available.
dataarray of objectShow child attributes
Show array items
A client record (partner's CRM account / customer). The fields `email`, `phone`, `company`, and `notes` from the v1.0 spec document are not yet populated — tracked as a follow-up.
accountManagersarray of objectrequiredUsers assigned as account managers for this client. Peers — no primary/secondary distinction. Always present; an empty array signals no managers are assigned.
Show child attributes
Show array items
Minimal user identity surfaced on client records.
emailstring · emailrequiredfirstNamestringrequiredlastNamestringrequireduserIdstring · uuidrequiredStable UUID for this user.
clientTypestringrequiredLifecycle stage of the client (status, not legal entity type). `prospect` → `active` → `churned` is the canonical progression. Use this to answer pipeline/status questions ("who are my prospects?", "who has churned?"). Defaults to `active` on creation when the caller omits the field.
createdAtstring · date-timerequiredUTC timestamp when the client was created.
domainnull | stringPrimary email domain used to auto-assign communications (e.g. `acme.com`).
idstring · uuidrequiredStable UUID for this client.
namestringrequiredDisplay name of the client.
updatedAtstring · date-timerequiredUTC timestamp of the most recent update.
{
"data": [
{
"accountManagers": [
{
"email": "user@example.com",
"firstName": "string",
"lastName": "string",
"userId": "00000000-0000-0000-0000-000000000000"
}
],
"clientType": "active",
"createdAt": "2026-06-09T00:00:00Z",
"domain": "acme.com",
"id": "8b2d1c4e-3f5a-4e2b-9c8f-1e2d3c4b5a6f",
"name": "Acme Corp",
"updatedAt": "2026-06-09T00:00:00Z"
}
],
"meta": {
"cursor": "string",
"hasMore": true
}
}errorobjectrequiredShow child attributes
codestringrequiredMachine-readable error category.
detailsobjectOptional per-code context (field names, retry windows, …).
messagestringrequiredHuman-readable description — intended for operator logs, not end-user display.
{
"error": {
"code": "invalid_argument",
"message": "limit must be an integer between 1 and 100"
}
}errorobjectrequiredShow child attributes
codestringrequiredMachine-readable error category.
detailsobjectOptional per-code context (field names, retry windows, …).
messagestringrequiredHuman-readable description — intended for operator logs, not end-user display.
{
"error": {
"code": "unauthorized",
"message": "Authentication required"
}
}Headers
Retry-AfterSeconds the client should wait before retrying.
errorobjectrequiredShow child attributes
codestringrequiredMachine-readable error category.
detailsobjectOptional per-code context (field names, retry windows, …).
messagestringrequiredHuman-readable description — intended for operator logs, not end-user display.
{
"error": {
"code": "rate_limited",
"details": {
"retry_after_seconds": 30
},
"message": "Rate limit exceeded"
}
}