---
title: "List API keys (admin, interactive session only)"
method: GET
path: "/api-keys"
tags: ["API keys"]
---

# List API keys (admin, interactive session only)

`GET /api-keys`

## Request

- Base URL: `https://api.app.lastaccountingcompany.com/portal`
- URL: `https://api.app.lastaccountingcompany.com/portal/api-keys`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/docs/api-keys/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists the company's portal API keys (metadata only — the secret is shown once at creation). Requires an interactive admin session; API-key bearers receive 403.

## Response `200`

API keys.

- object
  - `api_keys` ApiKey[]
    - `id` string
    - `name` string
    - `scope` 'read' | 'write'
    - `created_by` string
    - `created_at` string
    - `last_used_at` string, nullable
    - `revoked_at` string, nullable

## Other responses

- `401`: Missing or invalid bearer token.
- `403`: Insufficient scope or role — e.g. a read-scoped key on a mutating method, or an API key on an admin/approver-only endpoint.

---

[API](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api.md) - [All operations](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lastaccountingcompany/apis/lac-customer-api/revisions/52e277b4f031?raw)
