List Members
Retrieves all members and pending invitations in the specified organization.
Searching
Search can be made with the q parameter. It will implicitly match against the username, email, first name, last name, and profile name (extra_details__data__name) of the members or pending invitations.
curl -X GET https://kf.kobotoolbox.org/api/v2/organizations/{uid_organization}/members/?q=luis
[!WARNING] Explicit Field Searching: Because this endpoint combines active members (OrganizationUser) and pending invitations (OrganizationInvitation), you cannot use an explicit boolean OR across different model fields in the same query (e.g., q=user__email:luis@example.com OR invitee__email:luis@example.com). Doing so will cause both query parsers to reject the invalid field, resulting in a 400 Bad Request error.
To search across both groups simultaneously, simply rely on the generic query (e.g., q=luis@example.com) without specifying prefixes. Use explicit field prefixes ONLY when you want to narrow the results to a specific group (e.g., q=user__email:luis@example.com to target only active members).
Sorting
Results can be sorted with the ordering parameter, e.g.:
curl -X GET https://kf.kobotoolbox.org/api/v2/organizations/{uid_organization}/members/?ordering=-user__username
Allowed ordering fields:
- user__username
- status
- date_joined (or date_added, created)
- role (sorted by privilege rank: member → admin → owner)
- user__has_sso_enabled
Prefix field names with - for descending sort.
Request
- The document declares no server URL.
- Auth: one of:
- HTTP basic
- API key in header Authorization
Path parameters
UID of the organization
Query parameters
Number of results to return per page. Use with start.
Deprecated alias of start.
Which field to use when ordering the results. Note: role sorts by privilege rank (member → admin → owner).
Filter the results with a search query.
The initial index from which to return the results. Use with limit.
Response
Example response
{
"count": 123,
"next": "https://kf.kobotoolbox.org/api-endpoint/?start=400&limit=100",
"previous": "https://kf.kobotoolbox.org/api-endpoint/?start=200&limit=100",
"results": [
{
"url": "https://kf.kobotoolbox.org/api/v2/organizations/orgR6zUBwMHop2mgGygtFd6c/members/bob/",
"user": "https://kf.kobotoolbox.org/api/v2/users/bob/",
"invite": {
"url": "https://kf.kobotoolbox.org/api/v2/organizations/orgR6zUBwMHop2mgGygtFd6c/invites/f3ba00b2-372b-4283-9d57-adbe7d5b1bf1/",
"invited_by": "https://kf.kobotoolbox.org/api/v2/users/bob/"
}
}
]
}Changes
- breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
added
subschema #1subschema #2to the//response propertyoneOflist for the response status - breaking
the
//response's property type changed fromstringto no type for status - info
added the new optional
queryrequest parameterordering - info
added the new optional
queryrequest parameterq - info
removed the
adminenum value from the//response property for the response status - info
removed the
memberenum value from the//response property for the response status - info
removed the
ownerenum value from the//response property for the response status
- breaking
- breaking
the
//response's property type changed from no type tostringfor status - warning
deleted the
queryrequest parameterordering - warning
deleted the
queryrequest parameterq - warning
added the new
adminenum value to the//response property for the response status - warning
added the new
memberenum value to the//response property for the response status - warning
added the new
ownerenum value to the//response property for the response status - info
removed
subschema #1subschema #2from the//response propertyoneOflist for the response status
- breaking