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

# List API tokens

`GET /v1/api-keys`

<Note>
  This endpoint requires **Organization Admin** permissions.
</Note>

List API tokens in the organization - including Organization API keys, Personal Access Tokens, and MCP OAuth grants - with optional filtering by type. Only metadata - not actual secret values - is returned.

## Query parameters

- `type` 'organization' | 'personal' | 'mcp'
- `cursor` string, uuid
- `pageSize` integer
- `sortField` 'createdAt' | 'name'
- `sortDirection` 'asc' | 'desc'

## Response `200`

API tokens retrieved successfully.

- object
  - `pageInfo` PageInfo — Pagination information for paginated responses.
    - `hasNextPage` boolean — Indicates if there are more records available.
    - `nextCursor` string, nullable — Cursor for the next page of results. `null` if no more results.
    - `pageSize` integer — Number of records per page.
    - `totalRecords` integer — Total number of records matching the query.
  - `records` object[]
    - `id` string, uuid — Unique ID for the token.
    - `name` string — Token name.
    - `type` 'organization' | 'personal' | 'mcp' — Token type.
    - `enabled` boolean — Whether the token is enabled. `false` for disabled Organization API keys; PATs and MCP tokens are always `true`.
    - `createdAt` string, date-time — ISO 8601 timestamp of when the token was created.
    - `membershipId` string, uuid, nullable — Membership ID of the user who owns the token. `null` for Organization API keys.

## Other responses

- `400` — Bad Request. Validation errors include: - `type: Invalid option: expected one of "organization"|"personal"|"mcp"` - `cursor: Invalid UUID` - `pageSize: Page size must be at least 1` - `pageSize: Page size cannot exceed 100` - `pageSize: Invalid input: expected number, received NaN` - `sortField: Invalid option: expected one of "createdAt"|"name"` - `sortDirection: Invalid option: expected one of "asc"|"desc"` - `Bad authorization header, must be formatted as Bearer <token>`
- `403` — Forbidden. Requires Organization Admin permissions.
- `405` — Method Not Allowed - Invalid HTTP method for this endpoint
- `429` — Too Many Requests - Rate limit exceeded (60 requests/minute)

---

[API](https://skmtc.net/omni/apis/omni-api.md) · [All operations](https://skmtc.net/omni/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omni/omni-api/revisions/6b02f7349d0e/schema)
