# List keys

`GET https://api.llm.buzz/api/v1/keys`

Your unrevoked inference keys, newest first, 100 per page; never a management key.

Authentication: a management key, created on the console's Keys page, as `Authorization: Bearer KEY`; the samples read it from `$LLM_BUZZ_MANAGEMENT_KEY`.

## Parameters

- `offset` (query integer): Keys to skip.
- `include_disabled` (query boolean): `true` adds disabled keys.
- `include_expired` (query boolean): `true` adds expired keys.

## Responses

- 200: The keys, as `{"data": [...]}`.
- 400: The body is not JSON (`invalid_json`), a field or query value is invalid (`invalid_parameter`, with `metadata.param`), or a `PATCH` sets no field (`invalid_request`).
- 401: No `Authorization` header (`missing_authentication`), or the key is unknown, expired, revoked or disabled (`invalid_key`).
- 403: An inference key called a route that takes a management key. Create one on the console's Keys page.

## Example (curl)

```bash
curl https://api.llm.buzz/api/v1/keys \
  -H "Authorization: Bearer $LLM_BUZZ_MANAGEMENT_KEY"
```

## Example response

```json
{
  "data": [
    {
      "hash": "...",
      "name": "CI key",
      "label": "CI key",
      "disabled": false,
      "created_at": "...",
      "updated_at": null,
      "expires_at": null,
      "last_used_at": null,
      "limit": 5,
      "limit_remaining": 5,
      "limit_reset": "monthly",
      "include_byok_in_limit": false,
      "usage": 0,
      "usage_daily": 0,
      "usage_weekly": 0,
      "usage_monthly": 0,
      "byok_usage": 0,
      "byok_usage_daily": 0,
      "byok_usage_weekly": 0,
      "byok_usage_monthly": 0,
      "creator_user_id": "...",
      "external_user": null,
      "workspace_id": "default"
    }
  ]
}
```
