List plans
What the organization sells, with the entitlements each grants. Enough to render a pricing page.
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.
Case-insensitive name search
Defaults to every status
Edit any field above and the request updates as you type. Empty fields are left out.
16 fields per item
When true the plan sells at every location and locationIds is empty
How often it charges. Present only for recurring plans.
6 fields per item
Credits granted at signup. Present only for type=credits.
Visit cap within each period. Present only for a capped access grant.
An entry product, sellable once to a client with no contract history
Integer minor units of currency, never a decimal
The agreement snapshotted onto a contract at signup
Rows matching the filter, ignoring pagination
These apply to every endpoint on the API, not just this one. Errors covers the body shape.
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.
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.
The organization is not active.
The key is over its rate limit. Back off and retry.
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.
curl "https://api.zenly.app.br/v1/plans" \ -H "Authorization: Bearer $ZENLY_API_KEY"
{
"data": [
{
"allLocations": false,
"billingInterval": "week",
"billingKind": "recurring",
"createdAt": "2026-01-31T09:00:00Z",
"currency": "string",
"durationCount": 0,
"durationUnit": "day",
"entitlements": [
{
"creditQuantity": 0,
"maxVisitsPerPeriod": 0,
"period": "day",
"serviceGroupId": "string",
"serviceTypeId": "string",
"type": "access"
}
],
"id": "string",
"isTrial": false,
"locationIds": [
"string"
],
"name": "string",
"priceCents": 0,
"status": "active",
"terms": "string",
"updatedAt": "2026-01-31T09:00:00Z"
}
],
"limit": 0,
"offset": 0,
"total": 0
}