# QRKit API ## Docs - [Create Batch](https://docs.useqrkit.com/api-reference/batches/create.md): Creates up to 1,000 QR codes asynchronously. Returns `202` immediately; poll `GET /batches/{id}` for progress. Available on Plus, Pro, Ultra and Agency plans. Requires the `qr:write` scope. - [Create Batch](https://docs.useqrkit.com/api-reference/batches/create-batch.md): Creates up to 1,000 QR codes asynchronously. Returns `202` immediately; poll `GET /batches/{id}` for progress. Available on Plus, Pro, Ultra and Agency plans. Requires the `qr:write` scope. - [Download Batch](https://docs.useqrkit.com/api-reference/batches/download.md): ZIP archive of all completed QR images in the batch. Returns `422` while the batch is still processing. - [Download Batch as ZIP](https://docs.useqrkit.com/api-reference/batches/download-batch-as-zip.md): ZIP archive of all completed QR images in the batch. Returns `422` while the batch is still processing. - [Get Batch](https://docs.useqrkit.com/api-reference/batches/get-batch.md): Batch status with item-level results. Poll until `status` is `completed`. - [List Batches](https://docs.useqrkit.com/api-reference/batches/list.md) - [List Batches](https://docs.useqrkit.com/api-reference/batches/list-batches.md) - [Get Batch](https://docs.useqrkit.com/api-reference/batches/retrieve.md): Batch status with item-level results. Poll until `status` is `completed`. - [Create Folder](https://docs.useqrkit.com/api-reference/folders/create.md) - [Create Folder](https://docs.useqrkit.com/api-reference/folders/create-folder.md) - [Delete Folder](https://docs.useqrkit.com/api-reference/folders/delete.md): Deletes the folder. The QR codes inside are kept — they just leave the folder. - [Delete Folder](https://docs.useqrkit.com/api-reference/folders/delete-folder.md): Deletes the folder. The QR codes inside are kept — they just leave the folder. - [List Folders](https://docs.useqrkit.com/api-reference/folders/list.md) - [List Folders](https://docs.useqrkit.com/api-reference/folders/list-folders.md) - [Update Folder](https://docs.useqrkit.com/api-reference/folders/update.md) - [Update Folder](https://docs.useqrkit.com/api-reference/folders/update-folder.md) - [API Reference](https://docs.useqrkit.com/api-reference/overview.md): Complete reference for the QRKit API - [QR Code Analytics](https://docs.useqrkit.com/api-reference/qr-codes/analytics.md): Scan analytics for a dynamic QR code: totals, daily series and top breakdowns. Requires the `analytics:read` scope. Static codes have no scan tracking and return `422`. - [Create QR Code](https://docs.useqrkit.com/api-reference/qr-codes/create.md): Creates a QR code, renders its image (SVG, stored on QRKit's CDN) and returns the full object. Requires the `qr:write` scope. - [Create QR Code](https://docs.useqrkit.com/api-reference/qr-codes/create-qr-code.md): Creates a QR code, renders its image (SVG, stored on QRKit's CDN) and returns the full object. Requires the `qr:write` scope. - [Delete QR Code](https://docs.useqrkit.com/api-reference/qr-codes/delete.md): Soft-deletes the QR code — it disappears from the dashboard and API immediately. Requires the `qr:write` scope. - [Delete QR Code](https://docs.useqrkit.com/api-reference/qr-codes/delete-qr-code.md): Soft-deletes the QR code — it disappears from the dashboard and API immediately. Requires the `qr:write` scope. - [Download QR Image](https://docs.useqrkit.com/api-reference/qr-codes/download.md): Regenerates the QR image at the requested size and format from the stored design. Requires the `qr:read` scope. - [Download QR Image](https://docs.useqrkit.com/api-reference/qr-codes/download-qr-image.md): Regenerates the QR image at the requested size and format from the stored design. Requires the `qr:read` scope. - [List QR Codes](https://docs.useqrkit.com/api-reference/qr-codes/list.md): Lists dynamic and static QR codes in the workspace (newest first by default), with cursor pagination. Requires the `qr:read` scope. - [List QR Codes](https://docs.useqrkit.com/api-reference/qr-codes/list-qr-codes.md): Lists dynamic and static QR codes in the workspace (newest first by default), with cursor pagination. Requires the `qr:read` scope. - [QR Code Analytics](https://docs.useqrkit.com/api-reference/qr-codes/qr-code-analytics.md): Scan analytics for a dynamic QR code: totals, daily series and top breakdowns. Requires the `analytics:read` scope. Static codes have no scan tracking and return `422`. - [Retrieve QR Code](https://docs.useqrkit.com/api-reference/qr-codes/retrieve.md) - [Retrieve QR Code](https://docs.useqrkit.com/api-reference/qr-codes/retrieve-qr-code.md) - [Update QR Code](https://docs.useqrkit.com/api-reference/qr-codes/update.md): Updates a QR code. Requires the `qr:write` scope. - [Update QR Code](https://docs.useqrkit.com/api-reference/qr-codes/update-qr-code.md): Updates a QR code. Requires the `qr:write` scope. - [Create API Key](https://docs.useqrkit.com/api-reference/tokens/create.md): Creates an API key. Authenticated with a **Clerk session token** (dashboard sign-in), not an API key — most users should create keys from the [dashboard](https://useqrkit.com/dashboard/api-keys) instead. The full key is returned **once**; only its prefix is retrievable later. Requires a paid plan. - [Create API Key](https://docs.useqrkit.com/api-reference/tokens/create-api-key.md): Creates an API key. Authenticated with a **Clerk session token** (dashboard sign-in), not an API key — most users should create keys from the [dashboard](https://useqrkit.com/dashboard/api-keys) instead. The full key is returned **once**; only its prefix is retrievable later. Requires a paid plan. - [List API Keys](https://docs.useqrkit.com/api-reference/tokens/list.md): Lists the workspace's active API keys (prefixes only). Clerk session auth. - [List API Keys](https://docs.useqrkit.com/api-reference/tokens/list-api-keys.md): Lists the workspace's active API keys (prefixes only). Clerk session auth. - [Revoke API Key](https://docs.useqrkit.com/api-reference/tokens/revoke.md): Immediately and permanently invalidates the key. Clerk session auth. - [Revoke API Key](https://docs.useqrkit.com/api-reference/tokens/revoke-api-key.md): Immediately and permanently invalidates the key. Clerk session auth. - [Rotate API Key](https://docs.useqrkit.com/api-reference/tokens/rotate.md): Revokes the old key and returns a new one with identical name, scopes, environment and expiry. Clerk session auth. - [Rotate API Key](https://docs.useqrkit.com/api-reference/tokens/rotate-api-key.md): Revokes the old key and returns a new one with identical name, scopes, environment and expiry. Clerk session auth. - [Authentication](https://docs.useqrkit.com/authentication.md): API key management, Bearer tokens, and scopes - [Errors](https://docs.useqrkit.com/errors.md): Error response format and error codes reference - [Introduction](https://docs.useqrkit.com/introduction.md): Generate, customize, and manage QR codes with the QRKit API - [Pagination](https://docs.useqrkit.com/pagination.md): Cursor-based pagination for list endpoints - [Quickstart](https://docs.useqrkit.com/quickstart.md): Create your first QR code in 5 minutes - [Rate Limiting](https://docs.useqrkit.com/rate-limiting.md): Rate limits by plan, response headers, and handling 429 errors ## OpenAPI Specs - [openapi](https://docs.useqrkit.com/openapi.yaml)