canonical: https://jentic.com/apis/openqr.io/openqr

# OpenQR.io

Jentic publishes the only available OpenAPI specification for OpenQR.io, keeping it validated and agent-ready. OpenQR.io is a QR code generation service that organises generated codes into folders and supports file uploads tied to specific QR codes for landing-page or media payloads. Each request authenticates with an API key issued from the OpenQR dashboard, making it suitable for marketing teams and apps that need branded, organised QR codes at scale.

## For AI agents

Generate, organise, and manage QR codes via folders and file uploads through the OpenQR.io API.

## Scope

Does not handle scan analytics, dynamic redirect targets, or barcode formats other than QR - use for QR code generation, folder organisation, and file attachment only.

## Capabilities

- Create new QR codes with destination URL or payload data
- Retrieve a QR code's metadata and current image by ID
- Organise QR codes into named folders for a single tenant
- Retrieve, update, or remove a folder by ID
- Upload a file to associate with a QR code's destination payload
- Authenticate every request with a Bearer API key in the Authorization header

## Use cases

### Campaign-organised QR codes for marketing

A marketing team groups QR codes by campaign using OpenQR folders, generates a code per asset, and tracks them centrally. Instead of regenerating untracked images per print run, every code lives under a folder and can be retrieved via the API for re-export or audit.

Example prompt: POST /folders to create 'Summer 2026', then POST /qr-codes with folder_id set and a campaign URL, and return the qr_code_id.

### Document distribution via QR-linked uploads

A field team generates a QR code that points at a file uploaded through /files and prints it on a placard so visitors can scan to download. OpenQR keeps the code-to-file link as a managed resource rather than a fragile bare URL, and the file can be replaced without reprinting.

Example prompt: Upload a PDF via POST /files, then POST /qr-codes referencing the returned file id, and confirm the QR resolves to the document.

### Bulk QR generation for product packaging

A consumer-goods team generates one QR code per SKU pointing to a product info page, organises them in a per-SKU folder, and downloads them for the printer. Because each code is a managed object, it can be regenerated or relabelled later without losing the original payload mapping.

Example prompt: Loop through 100 SKUs and POST /qr-codes for each with the per-product URL, storing the returned qr_code_id alongside the SKU.

### Agent-driven QR generation through Jentic

A marketing automation agent calls OpenQR via Jentic to generate codes for new campaign assets and assign them to the correct folder. Jentic isolates the OpenQR API key, so the agent does not need to handle the secret directly when generating dozens of codes per workflow.

Example prompt: Search Jentic for 'generate a QR code', load the POST /qr-codes operation, and execute it with a campaign URL and the right folder_id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/qr-codes` | Create a new QR code |
| GET | `/qr-codes/{qr_code_id}` | Retrieve a QR code by ID |
| POST | `/folders` | Create a new folder for grouping QR codes |
| GET | `/folders/{folder_id}` | Retrieve a folder by ID |
| POST | `/files` | Upload a file referenced by a QR code |

## Key resources

- **QR codes** — Generate, retrieve, and manage QR code objects
- **Folders** — Group and organise QR codes by campaign or project
- **Files** — Upload files referenced by QR code destinations

## Why Jentic

- **Setup:** Wiring the OpenQR.io API by hand means sending your key in the Authorization header and shaping the request bodies for QR code generation, folder organisation, and file attachment yourself. Through Jentic you install once, import the OpenQR.io API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** OpenQR puts the folder id in the URL path (`/folders/{folder_id}`), so a rule can pin your agent to one folder: it can read that folder and nothing else. You choose the operations it may call, so QR code creation and file uploads are not included unless you add them.
- **Credential handling:** Your OpenQR API key is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate a QR code' or 'organise QR codes into folders', and Jentic returns the matching qr-codes, folders, or files operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **QR Code Monkey API** — Free QR code generation with custom design options
- **QR Code Generator API** — Hosted QR code generator with tracking analytics
- **Bitly API** — Shorten and track destination URLs encoded in QR codes

## FAQ

### Why is there no official OpenAPI spec for OpenQR.io?

OpenQR.io does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call OpenQR.io via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the OpenQR.io API use?

OpenQR.io uses Bearer authentication with an API key obtained from the OpenQR dashboard, passed in the Authorization header. Through Jentic the key is held in the encrypted vault and added at execution time so it never appears in agent prompts.

### Can I organise QR codes into folders with the OpenQR.io API?

Yes. POST /folders creates a folder, and the qr_codes endpoints accept a folder_id so each generated code is grouped under the right campaign or project. Folders can be retrieved and updated by ID.

### What are the rate limits for the OpenQR.io API?

OpenQR enforces account-tier rate limits that are not encoded in the OpenAPI spec; the API key carries the tier. Check your plan in the OpenQR dashboard before scheduling bulk generation jobs across thousands of SKUs.

### How do I generate a QR code through Jentic?

Run pip install jentic, search 'generate a QR code', load the POST /qr-codes operation, and execute it with the destination URL or payload. Jentic injects the bearer Authorization header and returns the QR code object including its id.

### Can I tie a QR code to a hosted file?

Yes. Upload the asset via POST /files, then create the QR code referencing that file so the scan resolves to a stable, managed URL. This avoids reprinting when the underlying document changes.

### Can I limit what my agent is allowed to do with the OpenQR.io API?

Yes. Jentic One is self-hosted, so you run it and your own rules decide which OpenQR.io operations and credentials the agent may use. Because OpenQR puts the folder id in the URL path (`/folders/{folder_id}`), you can pin the agent to a single folder so it reads that folder and nothing else. You also choose which operations it may call, so QR code creation via POST /qr-codes and file uploads via POST /files stay unavailable unless you explicitly allow them.
