---
title: "List your saved codes — dynamic and static"
method: GET
path: "/v1/codes"
---

# List your saved codes — dynamic and static

`GET /v1/codes`

Returns every code in your library, newest first. `short_url` is null for static codes: their payload is encoded directly, so there is nothing to redirect. `/v1/dynamic` remains available as the dynamic-only view.

## Query parameters

- `limit` integer

## Response `200`

Your codes.

- object
  - `codes` SavedCode[]
    - `id` string
    - `type` string — Payload type: url, text, email, phone, sms, whatsapp, wifi, geo or vcard.
    - `dynamic` boolean — True for editable short-link codes; false for static codes with a baked payload.
    - `destination` string — The redirect target (dynamic) or the encoded payload (static).
    - `label` string, nullable
    - `status` string
    - `short_url` string, nullable — The oqr.to short link, or null for static codes.
    - `created_at` string, date-time

## Other responses

- `401` — The `Authorization: Bearer oqr_…` header is missing or the API key is invalid or revoked.
- `500` — An unexpected server-side error.

## Changes

- **2026-09-02** `0f28d209971b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openqr/apis/openqr-api/changes/v1/codes/get.md)

---

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