GET/v1/groups
List groups of the organization
list_groups
Without kind, returns regular groups, “All members” and role groups. Personal groups (single_user) are returned only with an explicit kind=single_user. Membership of all_members, role and single_user groups is computed from the organization's users, and so is their members_count.
Authentication
Send an API key in the Authorization header: Authorization: Bearer <key>.
Query parameters
kindGroupKindlimitintegerPage size. Without
limitandcursorthe whole list is returned; with it, at mostlimititems, and the next page is given in theLink(rel="next") andX-Next-Cursorheaders.≥ 1, ≤ 200
cursorstringCursor of the next page from
X-Next-Cursorornext_cursorof the previous response with the same filters; it carries the page size. Together withoffset:422 validation.failed; a cursor of another list, other filters or a malformed one:400 api.cursor_invalid.length ≤ 512
updated_sincestring (date-time)Only objects with
updated_atat or after this moment (RFC 3339 with an offset), for synchronization. With it, the list is sorted byupdated_atascending, then byid, and the cursor continues in that order. Deleted objects are not listed: deletions come as events.length ≤ 512
Responses
200OK
Response headers
LinkAddress of the next page,
<…>; rel="next". No header means this is the last page.X-Next-CursorCursor of the next page for the
cursorparameter. No header means this is the last page.RateLimit-PolicyLimits in effect, in the format of the IETF draft
draft-ietf-httpapi-ratelimit-headers: comma-separated items"<name>";q=<quota>;w=<window in seconds>.keyis the request rate of the API key (the quota is the burst, the window is the time to refill it fully; for a session it isuser, without credentialsip);minute,dayandmonthare the organization's quotas for the calendar minute, day and month in UTC.RateLimitWhat is left of each limit in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit of the strictest entry in
RateLimit-Policy(the one with the fewest requests left).X-RateLimit-RemainingRequests left under the strictest limit.
X-RateLimit-ResetSeconds until the strictest limit resets.
application/json
idintegerrequiredorg_idintegerrequiredkeystringrequiredStable key:
all,role:<role>,user:<id>or the key of a regular group. The interface translates built-in groups by key.titlestringrequireduser_idinteger | nullrequiredPersonal groups only.
Role groups only.
members_countintegerrequiredNumber of active members. Deactivated users are not members of groups.
disabledbooleanrequiredThe personal group of a deactivated user: its grants are kept but have no effect while the user is inactive.
falsefor all other groups.created_atstring (date-time)requiredupdated_atstring (date-time)required
401No credentials were sent (neither a session cookie nor an API key), or the key was not found.
Response headers
RateLimit-PolicyLimits in effect, in the format of the IETF draft
draft-ietf-httpapi-ratelimit-headers: comma-separated items"<name>";q=<quota>;w=<window in seconds>.keyis the request rate of the API key (the quota is the burst, the window is the time to refill it fully; for a session it isuser, without credentialsip);minute,dayandmonthare the organization's quotas for the calendar minute, day and month in UTC.RateLimitWhat is left of each limit in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit of the strictest entry in
RateLimit-Policy(the one with the fewest requests left).X-RateLimit-RemainingRequests left under the strictest limit.
X-RateLimit-ResetSeconds until the strictest limit resets.
application/json
422Validation error: the body or parameters do not match the schema (`detail` is a list of validation errors), or a parameter value is out of range (`detail` is a message).
Response headers
RateLimit-PolicyLimits in effect, in the format of the IETF draft
draft-ietf-httpapi-ratelimit-headers: comma-separated items"<name>";q=<quota>;w=<window in seconds>.keyis the request rate of the API key (the quota is the burst, the window is the time to refill it fully; for a session it isuser, without credentialsip);minute,dayandmonthare the organization's quotas for the calendar minute, day and month in UTC.RateLimitWhat is left of each limit in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit of the strictest entry in
RateLimit-Policy(the one with the fewest requests left).X-RateLimit-RemainingRequests left under the strictest limit.
X-RateLimit-ResetSeconds until the strictest limit resets.
application/json
429Too many requests (`api.rate_limited`), the organization's quota for the minute, day or month is used up (`api.quota_exceeded`; `error.details` holds `quota`, `limit` and `reset_at`), the organization's limit is reached, or the answer service is busy (`answers.engine_busy`). Wait for the time in the `Retry-After` header.
Response headers
Retry-AfterNumber of seconds to wait before you retry the request.
RateLimit-PolicyLimits in effect, in the format of the IETF draft
draft-ietf-httpapi-ratelimit-headers: comma-separated items"<name>";q=<quota>;w=<window in seconds>.keyis the request rate of the API key (the quota is the burst, the window is the time to refill it fully; for a session it isuser, without credentialsip);minute,dayandmonthare the organization's quotas for the calendar minute, day and month in UTC.RateLimitWhat is left of each limit in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimit of the strictest entry in
RateLimit-Policy(the one with the fewest requests left).X-RateLimit-RemainingRequests left under the strictest limit.
X-RateLimit-ResetSeconds until the strictest limit resets.
application/json
Error codes
Codes this endpoint can return in error.code, besides the general codes of every request.
Rate limits
Responses carry the RateLimit and RateLimit-Policy headers and the earlier X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. A 429 response has Retry-After in seconds: wait and retry.