QRCodeStack API Reference

The QRCodeStack REST API lets you create, manage, and track dynamic QR codes programmatically. Use it to integrate QR generation into a CRM, print workflow, marketing automation tool, or any backend system.

Base URL: https://qrcodestack.com/api/v1. Auth: Authorization: Bearer qrs_<your_key>. All responses are JSON. Timestamps are RFC 3339 UTC.

Getting started

  1. Sign up for a Pro or Advanced plan (the API is not available on Starter).
  2. Generate a key from /qr-dashboard/integrations. Keys are shown once — save immediately.
  3. Make your first request:
curl https://qrcodestack.com/api/v1/me \
  -H "Authorization: Bearer qrs_YOUR_KEY"

Plans and rate limits

PlanPer minutePer monthBulk endpoint
Startern/an/aNo
Pro605,000No
Advanced600100,000Yes

Exceeding either window returns HTTP 429 with a Retry-After header.

Endpoints

MethodPathWhat it does
GET/meAccount info + plan + usage
POST/qr-codesCreate a dynamic QR code
GET/qr-codesList QR codes (paginated)
GET/qr-codes/{id}Get one QR code
PATCH/qr-codes/{id}Update destination / design
DELETE/qr-codes/{id}Soft-delete a QR code
GET/qr-codes/{id}/analyticsAggregated scan analytics
GET/qr-codes/{id}/scansIndividual scan event log
POST/qr-codes/bulkCreate up to 500 QR codes in one call (Advanced plan only)

Example: create a dynamic QR code

curl -X POST https://qrcodestack.com/api/v1/qr-codes \
  -H "Authorization: Bearer qrs_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Spring promo",
    "type": "url",
    "destination_url": "https://shop.example.com/spring",
    "render_customizations": {
      "dot_color": "#0F172A",
      "dot_shape": "rounded",
      "logo_url": "https://shop.example.com/logo.png",
      "frame": "scan-me-bottom"
    }
  }'

Errors

Errors are JSON: { "success": false, "error": "<message>", "code": "<machine_code>" }. Standard HTTP status codes apply (401 unauthenticated, 403 forbidden by plan, 404 not found, 422 validation failure, 429 rate-limited, 5xx server error).

Versioning

Current version is v1. Breaking changes ship under v2; non-breaking additions (new optional fields, new endpoints) land under v1 without notice.

Support

Email support@qrcodestack.com or open a ticket from your dashboard.

Loading interactive API explorer…