---
title: "List API keys"
method: GET
path: "/api_keys"
tags: ["API Keys"]
---

# List API keys

`GET /api_keys`

## Request

- Base URL: `https://api.llmpulse.ai/api/v1`
- URL: `https://api.llmpulse.ai/api/v1/api_keys`
- Auth: API key in header `Authorization`

Lists the API keys of the user the calling key belongs to, newest first, revoked ones included: name, the visible prefix of the token, scope (read or read_write), the projects a key is limited to (project_scoped, project_ids; an empty list on an account-wide key), when it was created and last used, and when it was revoked. The secret token is only ever returned once, by POST /api_keys. Requires an account-wide `read_write` scope API key: a key limited to some projects answers ERR_KEY_PROJECT_SCOPED. Still answers after the account moves below the Scale plan, so old keys can be found and revoked. A team member needs the API Keys permission and sees only their own keys.

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

OK

- object
  - `page` integer
  - `per_page` integer
  - `total` integer
  - `data` ApiKeyInfo[]
    - `id` integer, required
    - `name` string, required
    - `prefix` string, required: The visible start of the token, to recognize the key. Never the secret itself.
    - `scope` 'read' | 'read_write', required
    - `project_scoped` boolean, required: True when the key is limited to project_ids; false for an account-wide key.
    - `project_ids` integer[], required: The projects the key is limited to; empty for an account-wide key.
    - `created_at` string, date-time, required
    - `last_used_at` string, date-time, nullable, required: Updated at most once a minute.
    - `revoked_at` string, date-time, nullable, required
  - `request_id` string

## Other responses

- `401`: Authentication failed
- `403`: A key limited to some projects answers ERR_KEY_PROJECT_SCOPED and a read-only key ERR_INSUFFICIENT_SCOPE: managing keys needs an account-wide read and write key. A team member without the API Keys permission answers ERR_INSUFFICIENT_PERMISSION, and creating a key below the Scale plan ERR_PLAN_REQUIRED, with the same status

## Changes

- **2026-10-28** `06e08edc0987`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/llmpulse/apis/llm-pulse-api/changes/api_keys/get.md)

---

[API](https://skmtc.dev/llmpulse/apis/llm-pulse-api.md) - [All operations](https://skmtc.dev/llmpulse/apis/llm-pulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/llmpulse/apis/llm-pulse-api/revisions/38a31f123641?raw)
