Skip to main content
The GetQR API is in beta and is available to selected workspaces. Details may change before the general release.
The GetQR API is a REST API for what you do in the dashboard: create and update QR codes, download their images, read scan analytics and export reports. Authenticate with your account API key and call versioned endpoints under /api/v1.

What you can do

QR codes

Create, list, update, pause, duplicate, delete and download QR codes.

Analytics

Scan totals and breakdowns for one QR code or the whole workspace.

Reports

Export a one-off report or schedule recurring report emails.

Templates

Save designs and apply them to new QR codes.

Bulk QR creations

Create up to 100 QR codes at once from JSON or a CSV file.

Files

Upload PDFs, images, videos and logos for your QR codes.

Health

Check that the API is up. No API key needed.

Guides

QR types

The data format for each of the 16 QR types.

Customization

Dot styles, corners, colors, frames and logos.

Access rules

Schedules, scan limits, passwords, pausing and deleting.

Base URL

All endpoints live under one base URL:

Versioning

The API version is part of the path: every endpoint lives under /api/v1/.
  • Breaking changes ship under a new version prefix such as /api/v2/, and /api/v1/ keeps working.
  • Additive changes, such as new optional fields or new endpoints, can appear within v1. Ignore response fields your code doesn’t recognize.

Quickstart

1

Get your API key

Generate or reveal your key in your account settings. See Authentication.
2

Check that the API is reachable

The response is { "status": "ok", "version": "v1" }.
3

Create your first QR code

The API answers 201 with the new QR code, including its id and shortLink.
4

Download the image

Requests and responses

  • Format. Send request bodies as JSON with Content-Type: application/json. The exception is the CSV upload for bulk creation, which uses multipart/form-data.
  • Responses. Responses are JSON. Downloads, such as QR images and bulk ZIP archives, return the file itself.
  • Dates. Dates are ISO 8601 strings in UTC, for example 2026-08-01T10:00:00.000Z.
  • Query parameters. Boolean parameters take the strings true or false.
  • Partial updates. PATCH endpoints change only the fields you send.
  • Secrets. Responses never include passwords or internal identifiers. A password-protected QR code only reports passwordProtected: true.
  • Workspace. Every request runs in the workspace your API key belongs to. You don’t pass a workspace ID. See Access and roles.
  • Errors. Failed requests return an error object with a stable code. See Errors.

Pagination

List endpoints (QR codes, templates and scheduled reports) take two query parameters: They answer with a data array and a pagination object:
Request the next page while hasMore is true. A pageSize over 100 returns 422.

Idempotency

A network error can leave you unsure whether a request went through. To retry Create a QR code safely, send an Idempotency-Key header with a unique value of your choice:
  • Repeating the request with the same key within 24 hours returns the original response instead of creating a second QR code.
  • The x-idempotent-replay response header is true for a replayed response and false for a new one.
  • If the first request with that key is still running, the API answers 409 conflict. Retry once it finishes.
  • Reusing a key with a different request body answers 422 unprocessable_entity.
  • Without the header, an identical request body sent within 30 seconds is treated as a duplicate.
Bulk creations take an idempotencyKey field in the request body instead. See Bulk QR creations.

Rate limits

Each API key can send up to 600 requests per minute. See Rate limits.

Coming later

Print-ready packs are planned for a later release.

What’s next

Authentication

QR codes