User / team / organization / usage

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.

get/api/v2/organizations/{uid_organization}/members/

Request

  • The document declares no server URL.
  • Auth: one of:
    • HTTP basic
    • API key in header Authorization

Path parameters

uid_organizationstring required

UID of the organization

Query parameters

limitinteger

Number of results to return per page. Use with start.

offsetinteger

Deprecated alias of start.

ordering'-created' | '-date_added' | '-date_joined' | '-role' | '-status' | '-user__has_sso_enabled' | '-user__username' | 'created' | 'date_added' | 'date_joined' | 'role' | 'status' | 'user__has_sso_enabled' | 'user__username'

Which field to use when ordering the results. Note: role sorts by privilege rank (member → admin → owner).

qstring

Filter the results with a search query.

startinteger

The initial index from which to return the results. Use with limit.

Response

countinteger required
nextstring uri nullable
previousstring uri nullable

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 #1 subschema #2 to the // response property oneOf list for the response status

    • breaking

      the // response's property type changed from string to no type for status

    • info

      added the new optional query request parameter ordering

    • info

      added the new optional query request parameter q

    • info

      removed the admin enum value from the // response property for the response status

    • info

      removed the member enum value from the // response property for the response status

    • info

      removed the owner enum value from the // response property for the response status

    • breaking

      the // response's property type changed from no type to string for status

    • warning

      deleted the query request parameter ordering

    • warning

      deleted the query request parameter q

    • warning

      added the new admin enum value to the // response property for the response status

    • warning

      added the new member enum value to the // response property for the response status

    • warning

      added the new owner enum value to the // response property for the response status

    • info

      removed subschema #1 subschema #2 from the // response property oneOf list for the response status