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

# List API keys

`GET /api/v1/api-keys`

List all API keys for the current organization.

Returns API keys with masked key_prefix (never the full key).

RLS: Filtered to current client (ClientRLSDB).

## Response `200`

Successful Response

- ApiKeyResponse[]
  - `created_at` string, date-time, required — Creation timestamp
  - `description` string, nullable, required — Optional description
  - `expires_at` string, date-time, nullable, required — Expiration datetime
  - `id` string, uuid, required — API key UUID
  - `key_prefix` string, required — Key prefix for display (e.g., kat_live_7kD9...)
  - `last_used_at` string, date-time, nullable, required — Last usage timestamp
  - `name` string, required — API key name
  - `scopes` string[], required — Granted scopes
  - `status` 'active' | 'revoked' | 'expired', required — Status of an API key.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

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