Skip to content

Users

Beta

The Users API is in Beta. Additive changes are normal, and breaking changes may be made with notice while the resource incorporates customer feedback. See Versioning and compatibility.

These endpoints list the team members of the business linked to your API Access Token. Both require the users:read scope.

Two kinds of status

Every user carries two independent statuses. Read them together - a user can be an active member of your business while their Rho account is blocked.

FieldWhat it tells you
membership_statusWhere the user sits in your business: invited (invite sent, not yet accepted), active (accepted), or removed.
user_statusThe state of the user's Rho account: active, or blocked.

List users

GET /api/v1/users returns the users on your business, newest first.

curl "https://rhoapi.rho.co/api/v1/users?membership_status=active&page_size=20" \
  -H "Authorization: Bearer $RHO_API_TOKEN"

membership_status filters by membership. Leave it out and removed members are excluded - pass membership_status=removed to see them.

role_name filters by role, including custom roles you have defined. Role names are unique within a business.

email returns the single user on your business with that email, or an empty list if nobody matches. It combines with membership_status rather than overriding it, so a user you have removed also returns an empty list unless you pass membership_status=removed alongside it. To look someone up regardless of membership status, use GET /api/v1/users/{id}.

sort_by accepts created_at. order can be asc or desc and defaults to desc. page_size can be from 1 to 100 and defaults to 20 - follow the cursor as described in Pagination until next_page_token is null.

{
  "users": [
    {
      "id": "40000000-0000-4000-8000-000000000002",
      "first_name": "Grace",
      "last_name": "Hopper",
      "email": "grace.hopper@example.com",
      "phone_number": "+15551000002",
      "membership_status": "active",
      "user_status": "blocked",
      "role_name": "Admin"
    }
  ],
  "page": {"next_page_token": null}
}

Only id, membership_status, user_status, and role_name are always present. A name, email, or phone number Rho does not hold is omitted.

Get a user

GET /api/v1/users/{id} returns one user by their id - the same identifier other resources use to reference a person. Use it to refresh a single user without paging the whole list.

curl "https://rhoapi.rho.co/api/v1/users/40000000-0000-4000-8000-000000000002" \
  -H "Authorization: Bearer $RHO_API_TOKEN"
{
  "id": "40000000-0000-4000-8000-000000000002",
  "first_name": "Grace",
  "last_name": "Hopper",
  "email": "grace.hopper@example.com",
  "phone_number": "+15551000002",
  "membership_status": "active",
  "user_status": "blocked",
  "role_name": "Admin"
}

Users removed from your business are still returned here, with a membership_status of removed. A user who was never on your business returns 404 Not Found.

Reference

See the Rho API v1 reference for all fields and parameters.