Users REST API


List users


โš ๏ธ Breaking Changes: The Bencher API is in beta and under active development. We may introduce breaking changes in future releases. We will announce any breaking changes in the release notes.

List all users. The user must be an admin on the server to use this route. The HTTP response header `X-Total-Count` contains the total number of users.

Headers


Content-Type

string

Required

Set to application/json.


Authorization

string

Required

Set to Bearer BENCHER_API_KEY, where BENCHER_API_KEY is a valid Bencher API key (or a deprecated API token).

Query Parameters


direction

string

The direction to sort by. If not specified, the default sort direction is used.

Default: asc

One of: asc, desc


page

integer

The page number to return. If not specified, the first page is returned.

Default: 1


per_page

integer

The number of items to return per page. If not specified, the default number of items per page (8) is used.

Default: 8


sort

string

The field to sort by. If not specified, the default sort field is used.

Default: name

One of: name


name

string

Filter by user name, exact match.


search

string

Search by user name, slug, or UUID.

GET
/v0/users
Bencher Cloudhttps://api.bencher.dev
Bencher Self-Hostedhttp://localhost:6610

Bencher CLI

bencher user list

View OpenAPI Spec

View a user


โš ๏ธ Breaking Changes: The Bencher API is in beta and under active development. We may introduce breaking changes in future releases. We will announce any breaking changes in the release notes.

View a user. Only the authenticated user themselves and server admins have access to this endpoint. To view users within your organization, use the organization members endpoints.

Headers


Content-Type

string

Required

Set to application/json.


Authorization

string

Required

Set to Bearer BENCHER_API_KEY, where BENCHER_API_KEY is a valid Bencher API key (or a deprecated API token).

Path Parameters


user
Required

The slug or UUID for a user.

GET
/v0/users/{user}
Bencher Cloudhttps://api.bencher.dev
Bencher Self-Hostedhttp://localhost:6610

Bencher CLI

bencher user view USER

View OpenAPI Spec

Update a user


โš ๏ธ Breaking Changes: The Bencher API is in beta and under active development. We may introduce breaking changes in future releases. We will announce any breaking changes in the release notes.

Update a user. Only the authenticated user themselves and server admins have access to this endpoint. Some fields can only be updated by an admin. Changing the email, admin, or locked field requires a user session, even for an admin: neither a user API key nor a deprecated user API token can change them. A user's new email for themselves takes effect only once it is confirmed from a link sent to that email, so until then the response shows the current email. Any later update to the user ends that link. A server admin's change to another user's email takes effect at once. To manage users within your organization, use the organization members endpoints.

Headers


Content-Type

string

Required

Set to application/json.


Authorization

string

Required

Set to Bearer BENCHER_API_KEY, where BENCHER_API_KEY is a valid Bencher API key (or a deprecated API token).

Path Parameters


user
Required

The slug or UUID for a user.

Body Parameters


admin

boolean

Update whether the user is an admin. Must be an admin to update this field.


email

string

The new email for the user. A user's new email for themselves takes effect once it is confirmed from a link sent to it. A server admin's change to another user's email takes effect at once.


locked

boolean

Update whether the user is locked. Must be an admin to update this field.


name

string

The new name of the user. Maximum length is 64 characters. May only contain alphanumeric characters, non-leading or trailing spaces, and the following characters: , . - '


slug

The preferred new slug for the user. Maximum length is 64 characters.

PATCH
/v0/users/{user}
Bencher Cloudhttps://api.bencher.dev
Bencher Self-Hostedhttp://localhost:6610

Bencher CLI

bencher user update USER

View OpenAPI Spec

Confirm a new email


โš ๏ธ Breaking Changes: The Bencher API is in beta and under active development. We may introduce breaking changes in future releases. We will announce any breaking changes in the release notes.

Change a user's email to the new email that a confirm link was sent to. A user who updates their own email is sent that link at the new email, and its token lasts as long as a login link's. No credential is needed, so the link works from any device. Any later update to the user ends the link, this confirm included. The response holds a new session for the new email. An invalid or expired token is refused with `401 Unauthorized`; a token for another user, or one sent before the user's latest update, with `403 Forbidden`; and a new email that another user has taken since with `409 Conflict`.

Headers


Content-Type

string

Required

Set to application/json.


Authorization

string

Set to Bearer BENCHER_API_KEY, where BENCHER_API_KEY is a valid Bencher API key (or a deprecated API token).

Path Parameters


user
Required

The slug or UUID for a user.

Body Parameters


token
Required

PUT
/v0/users/{user}/email
Bencher Cloudhttps://api.bencher.dev
Bencher Self-Hostedhttp://localhost:6610

View OpenAPI Spec


Published: Mon, February 12, 2024 at 7:26:00 AM UTC | Last Updated: Sun, October 4, 2026 at 4:59:55 PM UTC