zenly/Documentation
Search documentation
English
API referenceClients

List clients

GET/v1/clients

Newest first. locationIds is omitted on this endpoint; read a single client for its roster.

Authorization

Any active key, sent as a bearer token. Keys are owner-equivalent, so there are no scopes to grant and nothing to configure per endpoint. See Authentication.

Parameters
querystringqueryOPTIONAL

Case-insensitive search over name, email, phone and id document

statusstring (enum)queryOPTIONAL

Defaults to every status, archived included

locationIdstring (uuid)queryOPTIONAL

Narrow to the members of one location

limitinteger (int64)queryOPTIONAL
offsetinteger (int64)queryOPTIONAL

Edit any field above and the request updates as you type. Empty fields are left out.

Response fields
dataarray of ClientBody
12 fields per item
addressAddressBody
6 fields
citystringOPTIONAL
countrystringOPTIONAL
line1stringOPTIONAL
line2stringOPTIONAL
postalCodestringOPTIONAL
statestringOPTIONAL
birthdatestring (date)OPTIONAL
contactEmailstringOPTIONAL

The address the organization has on file, which is not necessarily a portal login

contactNamestring
contactPhonestringOPTIONAL
createdAtstring (date-time)
idstring
idDocumentIDDocumentBodyOPTIONAL
2 fields
typestring (enum)

cpf (Brazilian, checksum-validated) or other (freeform foreign id or passport)

valuestring

For cpf, punctuation is optional and the stored value is 11 digits.

locationIdsarray of string

Locations this client belongs to. Omitted when listing; read one client to get it.

notesstringOPTIONAL
statusstring (enum)
updatedAtstring (date-time)
limitinteger (int64)
offsetinteger (int64)
totalinteger (int64)

Rows matching the filter, ignoring pagination

Errors

These apply to every endpoint on the API, not just this one. Errors covers the body shape.

401
Unauthorized

No bearer token, or a token that is unknown, revoked or expired. All four answer identically on purpose, so a caller probing tokens learns nothing about which is which.

402
Payment Required

The organization’s plan does not include the public API. It is available on Pro and above, and the check runs on every request, so a downgrade stops keys that were minted earlier.

403
Forbidden

The organization is not active.

429
Too Many Requests

The key is over its rate limit. Back off and retry.

500
Internal Server Error

Something failed on our side. The body carries a short sentence and never an internal error string, so quote your own request timestamp when reporting one.

stays in this tab
cURL
curl "https://api.zenly.app.br/v1/clients" \
  -H "Authorization: Bearer $ZENLY_API_KEY"
Response200 OK
{
  "data": [
    {
      "address": {
        "city": "string",
        "country": "string",
        "line1": "string",
        "line2": "string",
        "postalCode": "string",
        "state": "string"
      },
      "birthdate": "2026-01-31",
      "contactEmail": "string",
      "contactName": "string",
      "contactPhone": "string",
      "createdAt": "2026-01-31T09:00:00Z",
      "id": "string",
      "idDocument": {
        "type": "cpf",
        "value": "string"
      },
      "locationIds": [
        "string"
      ],
      "notes": "string",
      "status": "active",
      "updatedAt": "2026-01-31T09:00:00Z"
    }
  ],
  "limit": 0,
  "offset": 0,
  "total": 0
}