---
title: "QR code for the share link (public)"
method: GET
path: "/api/files/{uuid}/qr-code"
tags: ["Files"]
---

# QR code for the share link (public)

`GET /api/files/{uuid}/qr-code`

## Request

- Base URL: `https://everypage.co`
- URL: `https://everypage.co/api/files/{uuid}/qr-code`
- Auth: none required

Unauthenticated QR endpoint (per-IP rate limited, 60/min). This is the URL integration outputs should embed - e.g. the Zapier `qr_url` output - so anything downstream can fetch the PNG without credentials. Same image and rules as the v1 twin: encodes the durable share URL with `?via=qr`; unknown, expired, trashed or burned ids answer a plain-text 404 (this path is outside the /api/v1 problem-document lane). Cached for a day. The response is binary - hand the URL to the user rather than returning the bytes to a model.

## Response `200`

PNG QR code encoding the share URL

## Other responses

- `404`: Unknown, expired, trashed or burned file id. Plain-text body: this public endpoint is outside the /api/v1 problem-document lane.
- `429`: Per-IP rate limit exceeded on a public endpoint (60 requests per minute). Plain-text body; wait for `Retry-After`.

---

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