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

# List API keys

`GET /api-keys`

## Request

- Base URL: `https://www.unitpost.com/api/v1`
- URL: `https://www.unitpost.com/api/v1/api-keys`
- Auth: HTTP bearer

Retrieve a list of your workspace's API keys — the key prefix and metadata only, never the secret. Create a new key with [Create an API key](#post-api-keys) or revoke one with [Revoke an API key](#delete-api-keys-id). This endpoint is session-gated: it requires a dashboard session and cannot be called with a Bearer API key.

## Query parameters

- `limit` integer
- `after` string
- `before` string

## Response `200`

A page of API keys.

- object
  - `object` 'list', required
  - `has_more` boolean, required
  - `data` ApiKey[], required
    - `object` 'api_key', required
    - `id` string, required
    - `name` string, required
    - `prefix` string, required
    - `scope` 'full' | 'sending' | 'read_only', required
    - `capabilities` string[], required
    - `last_used_at` string, nullable, required
    - `revoked_at` string, nullable, required
    - `created_at` string, required

## Other responses

- `401`: Not authenticated (no dashboard session).
- `403`: Insufficient permission (`apikeys:manage` required).
- `422`: Invalid pagination params.

---

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