---
title: "List users"
method: GET
path: "/v1/user"
tags: ["Users"]
---

# List users

`GET /v1/user`

List out all users. The users are sorted by creation date, with the most recently-created users coming first

## Query parameters

- `limit` integer, nullable — Limit the number of objects to return
- `starting_after` string, uuid — Pagination cursor id. For example, if the final item in the last page you fetched had an id of `foo`, pass `starting_after=foo` to fetch the next page. Note: you may only pass one of `starting_after` and `ending_before`
- `ending_before` string, uuid — Pagination cursor id. For example, if the initial item in the last page you fetched had an id of `foo`, pass `ending_before=foo` to fetch the previous page. Note: you may only pass one of `starting_after` and `ending_before`
- `ids` union — Filter search results to a particular set of object IDs. To specify a list of IDs, include the query param multiple times
  - string, uuid
  - string[]
- `given_name` union — Given name of the user to search for. You may pass the param multiple times to filter for more than one given name
  - string
  - string[]
- `family_name` union — Family name of the user to search for. You may pass the param multiple times to filter for more than one family name
  - string
  - string[]
- `email` union — Email of the user to search for. You may pass the param multiple times to filter for more than one email
  - string
  - string[]
- `org_name` string — Filter search results to within a particular organization

## Response `200`

Returns a list of user objects

- object
  - `objects` User[], required — A list of user objects
    - `id` string, uuid, required — Unique identifier for the user
    - `given_name` string, nullable — Given name of the user
    - `family_name` string, nullable — Family name of the user
    - `email` string, nullable — The user's email
    - `avatar_url` string, nullable — URL of the user's Avatar image
    - `created` string, date-time, nullable — Date of user creation

## Other responses

- `400` — The request was unacceptable, often due to missing a required parameter
- `401` — No valid API key provided
- `403` — The API key doesn’t have permissions to perform the request
- `429` — Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
- `500` — Something went wrong on Braintrust's end. (These are rare.)

## Changes

- **2024-09-30** `ac2727014d93` — 5 breaking
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - …1 more
- **2024-07-30** `9635568dd298` — 6 info
  - `query` request parameter `email` list-of-types was widened by adding types `array`
  - `query` request parameter `family_name` list-of-types was widened by adding types `array`
  - `query` request parameter `given_name` list-of-types was widened by adding types `array`
  - for the `query` request parameter `email`, the type/format was generalized from `string`/`` to ``/``
  - …2 more
- **2024-05-06** `44b51ad3239a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/user/get.md)

---

[API](https://skmtc.dev/braintrustdata/apis/braintrust-api.md) · [All operations](https://skmtc.dev/braintrustdata/apis/braintrust-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/braintrustdata/braintrust-api/revisions/9d216c8243fe/schema)
