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

# List API keys

`GET /v1/api-keys`

## Request

- Base URL: `https://api.naturali.ai`
- URL: `https://api.naturali.ai/v1/api-keys`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.naturali.ai/authorize`, token URL `https://api.naturali.ai/token`, scopes: `mcp:access`)

Lists API keys accessible to the caller. A project-scoped credential sees only keys in its project; an account-scoped credential sees all keys in the account. Raw secrets are never returned.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

A page of API keys.

- ApiKeyList
  - `data` ApiKeyRecord[], required
    - `id` string, required: Public API key ID (key_ prefix).
    - `name` string, required
    - `key_prefix` string, required: Leading characters of the raw key, for identification.
    - `scope` 'project' | 'account', required: Whether the key is scoped to one project or the whole account.
    - `project_id` string, nullable: The project this key is scoped to; null for account-scoped keys.
    - `capabilities` string[], required: Capabilities granted to this key. Empty means it inherits the creator's.
    - `created_at` string, date-time, required
    - `last_used_at` string, date-time, nullable: When the key was last presented; null if never used.
  - `next_cursor` string, nullable, required

## Other responses

- `401`: Missing or invalid credentials.

---

[API](https://skmtc.dev/naturali/apis/naturali-ai-api.md) · [All operations](https://skmtc.dev/naturali/apis/naturali-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/naturali/apis/naturali-ai-api/revisions/e4905b78f422?raw)
