---
title: "List hosted pages"
method: GET
path: "/api/v1/pages"
tags: ["Public API v1"]
---

# List hosted pages

`GET /api/v1/pages`

## Request

- Base URL: `https://scanduro.com`
- URL: `https://scanduro.com/api/v1/pages`
- Auth: HTTP bearer

Hosted pages live on their own registrable domain, so that a takedown or a blocklisting
affecting customer-authored content can never stop a printed code from resolving.

## Response `200`

Every hosted page in the workspace, with the plan allowance.

- object
  - `data` PublicPage[], required
    - `id` integer, required
    - `slug` string, required
    - `name` string, required
    - `type` string, required: The page type
    - `status` 'draft' | 'published', required
    - `moderationState` string, required: Reported, never accepted. A caller must not be able to lift a freeze that a notice put in place.
    - `theme` string
    - `locale` string
    - `url` string, nullable
    - `publishedAt` string, date-time, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time
    - `content` object: The page content
  - `used` integer, required
  - `limit` integer, required

## Other responses

- `401`: No key, a malformed key, an unknown key, a revoked key or an expired key. Deliberately one response for all five: telling the caller which applies would make the endpoint an oracle for enumerating valid keys.
- `403`: Either the plan does not include API access (`plan_required`) or the key does not carry the required scope (`missing_scope`). The credential itself is valid in both cases.
- `429`: Per-key limit reached. Retry-After gives the seconds remaining in the window.
- `503`: Hosted pages are not enabled on this deployment. Codes, analytics and resolution are unaffected — pages are a separate domain and a separate feature on purpose.

---

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