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

# List API keys

`GET /api/v3/keys`

List all API keys belonging to the authenticated user.

Each entry exposes its workspace scope via `scopes`. Every scope entry carries a `scope_type`:
- `workspace` — the key is explicitly scoped to that workspace, with its own per-workspace permission (`viewer`, `editor`, or `owner`).
- `global` — the key has no explicit scope rows and reaches every workspace you can access; `scopes` then lists those workspaces with your own current role on each (the effective access ceiling). A global key never mixes the two types.

## Query parameters

- `is_expired` boolean
- `page` integer
- `page_size` integer

## Response `200`

Paginated list of API keys belonging to the authenticated user.

- PaginatedAPIKeyV3ResponseList
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `results` APIKeyV3Response[], required
    - `id` string, required
    - `name` string, required
    - `prefix` string, required
    - `created_at` string, date-time, required
    - `expires_at` string, date-time, nullable, required
    - `scopes` APIKeyScope[], required
      - `workspace_id` integer, required
      - `workspace_name` string, required
      - `workspace_upload_method` string, required
      - `workspace_datasource_type` string, nullable, required
      - `role` string, required
      - `scope_type` 'workspace' | 'global', required — * `workspace` - workspace * `global` - global

## Other responses

- `400` — Bad Request — invalid query parameters.
- `401` — Authentication credentials were not provided or are invalid

---

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