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

# List API keys

`GET /api/v1/keys`

## Request

- Base URL: `https://prowl.chat`
- URL: `https://prowl.chat/api/v1/keys`
- Auth: HTTP bearer

Every key on the account with its scope, limits and last use. Secrets are never returned — only the prefix, which is enough to tell two keys apart.

## Headers

- `authorization` string, nullable

## Cookies

- `prowl_session` string, nullable

## Response `200`

Successful Response

- ApiKeyListResponse
  - `keys` ApiKeySummary[], required
    - `id` string, required
    - `prefix` string, required: First characters of the key, enough to tell keys apart.
    - `name` string, nullable
    - `created_at` string, nullable
    - `last_used_at` string, nullable
    - `is_active` boolean, required
    - `allowed_categories` string[]
    - `denied_categories` string[]
    - `daily_spend_limit_usd` number, nullable
    - `total_spend_limit_usd` number, nullable
    - `ip_allowlist` string[]
    - `billing_mode` string: How the key is priced. Every key you create is `standard`.

## Other responses

- `401`: Missing, malformed or expired credential.
- `422`: Validation Error

---

[API](https://skmtc.dev/prowl/apis/prowl-rest-api-v1.md) · [All operations](https://skmtc.dev/prowl/apis/prowl-rest-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/prowl/apis/prowl-rest-api-v1/revisions/897e8b30c330?raw)
