---
title: "List S3 Access Keys"
method: GET
path: "/api/storage/s3/access-keys"
tags: ["S3 Access Keys"]
---

# List S3 Access Keys

`GET /api/storage/s3/access-keys`

Return every S3 access key configured for this project. Plaintext
secrets are **never** returned here — the secret is only shown once
in the response of `POST /api/storage/s3/access-keys`.

## Response `200`

List of access keys (without secrets)

- object
  - `data` S3AccessKey[]
    - `id` string, uuid, required — Internal UUID of the access key record
    - `accessKeyId` string, required — 20-character access key id with fixed `INSF` prefix
    - `description` string, nullable, required — User-supplied label (max 200 chars)
    - `createdAt` string, date-time, required
    - `lastUsedAt` string, date-time, nullable, required — Updated asynchronously after each successful SigV4 verification

## Other responses

- `401` — Missing or invalid API key / admin token
- `429` — Rate limit exceeded (20 requests / 15 min / IP)

---

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