---
title: "List organization API keys"
method: GET
path: "/v1/organization/api_keys"
tags: ["Organizations"]
---

# List organization API keys

`GET /v1/organization/api_keys`

## Request

- Base URL: `https://api.braintrust.dev`
- URL: `https://api.braintrust.dev/v1/organization/api_keys`
- Auth: one of:
  - HTTP bearer
  - none

List all API keys associated with users in an organization, sorted by creation date with the newest keys first. An organization-scoped API key determines the organization; otherwise, provide `org_id`. If `org_id` does not match the organization-scoped key's organization, or the caller is not an owner of the organization, no keys are returned. Responses include key metadata only; key secrets are never returned. To list service tokens, use `GET /v1/service_token`.

## 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[]
- `api_key_name` string: Name of the api_key to search for
- `org_id` string, uuid: Identify the organization to list API keys for
- `created_after` string, date-time: Include API keys created at or after this timestamp
- `created_before` string, date-time: Include API keys created at or before this timestamp

## Response `200`

Returns a list of api_key objects

- object
  - `objects` ApiKey[], required: A list of api_key objects
    - `id` string, uuid, required: Unique identifier for the api key
    - `created` string, date-time, nullable: Date of api key creation
    - `name` string, required: Name of the api key
    - `preview_name` string, required: Masked preview showing the key prefix and last four characters, e.g. sk-…AbCd.
    - `user_id` string, uuid, nullable: Unique identifier for the user
    - `user_email` string, nullable: The user's email
    - `user_given_name` string, nullable: Given name of the user
    - `user_family_name` string, nullable: Family name of the user
    - `org_id` string, uuid, nullable: Unique identifier for the organization
    - `expires_at` string, date-time, nullable: Date at which the API key expires. If null, the key never expires.

## 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

- **2026-10-15** `aa86a5dee6e9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/organization/api_keys/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.dev/braintrustdata/apis/braintrust-api/revisions/19184ec94018?raw)
