---
title: "List QR codes"
method: GET
path: "/workspace/{workspace_id}/hovercodes/"
tags: ["QR codes"]
---

# List QR codes

`GET /workspace/{workspace_id}/hovercodes/`

## Request

- Base URL: `https://hovercode.com/api/v2`
- URL: `https://hovercode.com/api/v2/workspace/{workspace_id}/hovercodes/`
- Auth: API key in header `Authorization`

The workspace's QR codes, newest first. Paginated 50 per page (max 200). `include=scans` adds `total_scans`/`unique_scans` (lifetime by default; use `days` or `start`/`end` for a window), `include=tags` adds each code's tags.

## Path parameters

- `workspace_id` string, uuid, required

## Query parameters

- `q` string
- `folder` string
- `subfolders` boolean
- `include` string
- `days` integer
- `start` string
- `end` string
- `page` integer
- `page_size` integer

## Response `200`

OK

- union: Page of QR codes.
  - object: DRF page-number pagination envelope.
    - `count` integer, required
    - `next` string, uri, nullable, required
    - `previous` string, uri, nullable, required
    - `results` QRCodeListItem[], required
      - `id` string, uuid, required
      - `qr_data` string, nullable
      - `qr_type` 'Link' | 'PDF' | 'Text' | 'vCard' | 'App stores' | 'Call' | 'Send email' | 'Send message' | 'Page' | 'Wifi' | 'Form' | 'GS1', required
      - `display_name` string, nullable
      - `shortlink_url` string, uri, nullable
      - `png` string, uri, nullable
      - `dynamic` boolean, required
      - `created` string, date-time, required
      - `folder` FolderRef, nullable, required: The folder a code is filed in, or null when unfiled.
        - `id` string, uuid, required
        - `name` string, required
        - `slug` string, nullable, required
        - `path` string, required: Full breadcrumb, e.g. `Campaigns / Spring 2026`.
      - `total_scans` integer, nullable: Only with `include=scans`; null for codes that can't be tracked.
      - `unique_scans` integer, nullable: Only with `include=scans`.
      - `tags` Tag[]: Only with `include=tags`.
        - `id` string, uuid, required
        - `title` string, required
        - `slug` string, nullable, required
  - EmptyResults: Returned instead of a pagination envelope when the list is empty.
    - `message` 'No results found', required
    - `results` unknown[], required
      - unknown

## Other responses

- `400`: Validation error.
- `401`: Missing or invalid API token.
- `404`: Not found, or not in a workspace you belong to.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds before retrying.

---

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