A valid request URL is required to generate request examples{
"levels": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"rank": 123,
"requirements": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "points",
"threshold": 123,
"metric_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rule_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"achievement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"segment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target": "<string>",
"unit": "<string>"
}
],
"icon": "<string>",
"contacts": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"requirement_kinds": [
"<string>"
]
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}List levels
Requires engagement:manage. Ordered by rank, which since metrics arrived is the only thing that orders a ladder: a rung is a set of conditions, and no arithmetic ranks “400 points and 4 courses” against “400 points and 10 courses”.
Each level carries its requirements and contacts: how many people sit in it right now, computed as the highest rank whose every condition each person satisfies — the same sentence a contact’s own read applies to themselves, so the histogram and the badge cannot drift into two definitions of what level somebody is.
The response also carries requirement_kinds, the vocabulary a condition may use.
A valid request URL is required to generate request examples{
"levels": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"rank": 123,
"requirements": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "points",
"threshold": 123,
"metric_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rule_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"achievement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"segment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target": "<string>",
"unit": "<string>"
}
],
"icon": "<string>",
"contacts": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"requirement_kinds": [
"<string>"
]
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Authorizations
A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange. Only a 401 means it is spent; not_a_member (403) is about the organization named in X-Organization-Id and leaves the token good for the others.
Headers
The organization the caller is acting on — the org_… code that appears in the panel URL. It identifies; the membership JOIN is what authorizes, so a forged code reads nothing: the answer is not_a_member (403), which does not mean the session is over. Absent, the session's default organization answers, or — if that membership was revoked while the session was open — any other one the caller still holds.
Query Parameters
Which environment to act in. A view parameter, valid only on the staff surface — a machine credential never chooses its environment, it is resolved from the key.
live, test