---
title: "List API keys"
method: GET
path: "/v1/api-keys"
tags: ["API keys"]
---

# List API keys

`GET /v1/api-keys`

## Request

- Base URL: `https://serp-agent.com`
- URL: `https://serp-agent.com/v1/api-keys`
- Auth: HTTP bearer

All keys on the account, newest first. Only `key_prefix` + `last4` are exposed — the full secret and hash never appear after creation.

## Response `200`

The account's keys.

- ApiKeyList
  - `keys` ApiKey[], required
    - `id` string, required
    - `name` string, nullable, required
    - `key_prefix` 'sk_sandbox_' | 'sk_live_', required
    - `last4` string, required: Last 4 characters of the raw key.
    - `mode` 'sandbox' | 'live', required
    - `created_at` string, date-time, required
    - `last_used_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required: Sandbox keys expire; live keys have null.
    - `revoked_at` string, date-time, nullable, required

## Other responses

- `401`: Missing, malformed, unknown, revoked, or expired API key. Codes: `unauthorized`, `key_revoked`, `key_expired`.
- `429`: Rate limit exceeded (600 requests/minute per API key). Honor `Retry-After`.

---

[API](https://skmtc.dev/serp-agent/apis/serp-agent-api.md) · [All operations](https://skmtc.dev/serp-agent/apis/serp-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/serp-agent/apis/serp-agent-api/revisions/438a943019ac?raw)
