ScanOrbit 2.0 Live: Unlimited dynamic QR codes with 1-year scan analytics. See Plans →
REST API v1 Specification

Programmatic QR Code Automation

Create, update destination URLs, and query real-time scan analytics programmatically. Integrate ScanOrbit directly with your CRM, e-commerce backend, or internal pipeline.

120 Requests / Minute Standard JSON Payloads 120 Requests/Min Per Key
api-request
HTTP 200 OK
# Fetch all QR codes on account
curl -X GET "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes" \
  -H "X-API-Key: qrk_your_key_here" \
  -H "Content-Type: application/json"
JSON Response:200 OK
{
  "status": "success",
  "data": [
    { "id": "qr_a1b2", "shortCode": "summer-menu", "scans": 1247 }
  ]
}

120/min

Rate Limit Per Key

Edge

Served via Vercel's Network

100%

RESTful Architecture

1

Signed Webhook, Any Endpoint

Quick Start in 3 Steps

  1. 1Ensure your account is active on the Business plan ($29/mo).
  2. 2Generate your live secret key in Dashboard → Settings → API Keys.
  3. 3Include the key in the X-API-Key request header.
cURL Request Example
curl https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes \
  -H "X-API-Key: qrk_xxxxxxxxxxxxxxxxxxxx"

Authentication

All requests require an X-API-Key header. Secret keys are prefixed with qrk_ and can be revoked anytime in your dashboard.

Rate Limits

Standard tier rate limit is 120 requests / minute / key. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining; exceeded requests return HTTP 429 with a Retry-After header.

Production Base URL

https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44

Core API Endpoints

Complete reference for querying, generating, modifying, and tracking QR code resources.

GET/api/v1/qrcodes
List all QR codes on account

Returns a paginated list of all dynamic and static QR codes created on your organization workspace.

Request Example (CURL)
GET /api/v1/qrcodes
curl -X GET "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes" \
  -H "X-API-Key: qrk_your_key_here" \
  -H "Content-Type: application/json"
JSON Response (200 OK)
Response Body
{
  "status": "success",
  "data": [
    {
      "id": "qr_a1b2c3d4",
      "name": "Summer Outdoor Menu",
      "type": "url",
      "shortCode": "summer-menu",
      "active": true,
      "totalScans": 1247,
      "createdAt": "2026-05-12T10:30:00.000Z"
    }
  ]
}
GET/api/v1/qrcodes/:id
Retrieve single QR code

Fetch comprehensive metadata, target destination URL, scan counts, and tag parameters for a specific QR record.

Request Example (CURL)
GET /api/v1/qrcodes/:id
curl -X GET "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes/qr_a1b2c3d4" \
  -H "X-API-Key: qrk_your_key_here"
JSON Response (200 OK)
Response Body
{
  "status": "success",
  "data": {
    "id": "qr_a1b2c3d4",
    "name": "Summer Outdoor Menu",
    "type": "url",
    "content": "https://restaurant.com/menu-v2",
    "shortCode": "summer-menu",
    "active": true,
    "totalScans": 1247,
    "uniqueScans": 982,
    "tags": ["restaurant", "patio"],
    "createdAt": "2026-05-12T10:30:00.000Z",
    "updatedAt": "2026-05-20T08:14:00.000Z"
  }
}
POST/api/v1/qrcodes
Create new QR code

Generate a new dynamic or static QR code programmatically with customizable destination URL, shortCode slug, and tags.

Request Example (CURL)
POST /api/v1/qrcodes
curl -X POST "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes" \
  -H "X-API-Key: qrk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Summer Outdoor Menu",
    "type": "url",
    "content": "https://restaurant.com/menu",
    "shortCode": "summer-menu",
    "tags": ["restaurant", "patio"]
  }'
JSON Request Payload
Request Body
{
  "name": "Summer Outdoor Menu",
  "type": "url",
  "content": "https://restaurant.com/menu",
  "shortCode": "summer-menu",
  "tags": ["restaurant", "patio"]
}
JSON Response (200 OK)
Response Body
{
  "status": "success",
  "data": {
    "id": "qr_a1b2c3d4",
    "name": "Summer Outdoor Menu",
    "type": "url",
    "shortCode": "summer-menu",
    "active": true,
    "createdAt": "2026-06-03T12:00:00.000Z"
  }
}
PATCH/api/v1/qrcodes/:id
Update existing QR destination

Update the destination URL or status on a live dynamic QR code instantly without changing the printed graphic.

Request Example (CURL)
PATCH /api/v1/qrcodes/:id
curl -X PATCH "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes/qr_a1b2c3d4" \
  -H "X-API-Key: qrk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "https://restaurant.com/menu-fall-update",
    "active": true
  }'
JSON Request Payload
Request Body
{
  "content": "https://restaurant.com/menu-fall-update",
  "active": true
}
JSON Response (200 OK)
Response Body
{
  "status": "success",
  "data": {
    "id": "qr_a1b2c3d4",
    "name": "Summer Outdoor Menu",
    "type": "url",
    "active": true,
    "updatedAt": "2026-06-03T12:05:00.000Z"
  }
}
DELETE/api/v1/qrcodes/:id
Permanently delete QR code

Delete a QR code record and immediately release its custom shortCode slug for reallocation.

Request Example (CURL)
DELETE /api/v1/qrcodes/:id
curl -X DELETE "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/qrcodes/qr_a1b2c3d4" \
  -H "X-API-Key: qrk_your_key_here"
JSON Response (200 OK)
Response Body
{
  "status": "success",
  "data": {
    "deleted": true,
    "id": "qr_a1b2c3d4"
  }
}
GET/api/v1/analytics/:id
Query real-time scan analytics

Retrieve comprehensive scan metrics, time-series distributions, device types, operating systems, and country breakdowns.

Request Example (CURL)
GET /api/v1/analytics/:id
curl -X GET "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/analytics/qr_a1b2c3d4" \
  -H "X-API-Key: qrk_your_key_here"
JSON Response (200 OK)
Response Body
{
  "status": "success",
  "data": {
    "id": "qr_a1b2c3d4",
    "totalScans": 1247,
    "uniqueScans": 982,
    "lastScanned": "2026-06-03T11:42:00.000Z",
    "scansByDay": [{ "date": "2026-06-01", "scans": 42 }],
    "scansByDevice": [{ "device": "iOS", "scans": 620 }, { "device": "Android", "scans": 590 }],
    "scansByCountry": [{ "country": "US", "scans": 480 }, { "country": "UK", "scans": 310 }]
  }
}
POST/api/v1/hooks
Subscribe a URL to an event

For Zapier, Make, n8n and your own services. Each event is posted to the URL as JSON as it happens: lead.captured, form.submitted, qr.created or scan (bots excluded). Every payload has an id you can deduplicate on. Respond 410 Gone to unsubscribe, or call DELETE /api/v1/hooks/:id. Read-only keys can subscribe.

Request Example (CURL)
POST /api/v1/hooks
curl -X POST "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/hooks" \
  -H "X-API-Key: qrk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"event": "lead.captured", "targetUrl": "https://example.com/hooks/scanorbit"}'
JSON Request Payload
Request Body
{
  "event": "lead.captured",
  "targetUrl": "https://example.com/hooks/scanorbit"
}
JSON Response (200 OK)
Response Body
{
  "data": {
    "id": "6f1c2a9e-…",
    "event": "lead.captured",
    "targetUrl": "https://example.com/hooks/scanorbit",
    "createdAt": "2026-10-05T10:30:00.000Z"
  }
}
GET/api/v1/leads
List recent leads

The newest contacts captured by your digital business cards, in the same shape as the lead.captured event. GET /api/v1/form-responses does the same for forms, surveys, polls and feedback. Both take ?limit= (up to 100).

Request Example (CURL)
GET /api/v1/leads
curl "https://brrtnzrdqgpmddvvppql.supabase.co/functions/v1/make-server-d9709a44/api/v1/leads?limit=10" \
  -H "X-API-Key: qrk_your_key_here"
JSON Response (200 OK)
Response Body
{
  "data": [
    {
      "event": "lead.captured",
      "id": "card123:1791200000000",
      "qrName": "Priya Sharma, Sales",
      "name": "Alex Morgan",
      "email": "alex@example.com",
      "company": "Northwind",
      "timestamp": "2026-10-05T10:30:00.000Z"
    }
  ]
}

HTTP Status Codes

StatusDescription
200 OKRequest completed successfully and returned requested payload.
400 Bad RequestMissing required parameters or malformed JSON body.
401 UnauthorizedMissing, invalid, revoked or expired API key (expired keys return KEY_EXPIRED), or the account is not on the Business plan.
403 ForbiddenA read-only key tried to create, change or delete something (KEY_READ_ONLY).
404 Not FoundThe requested QR code record ID does not exist.
409 ConflictThe requested custom shortCode slug is already claimed.
429 Rate LimitedExceeded 120 requests/minute. Respect the Retry-After header.
500 Server ErrorUnexpected server error. Retry the request; if it keeps happening, contact support with the time and endpoint.
Developer FAQ

Frequently Asked Questions

Technical details on authentication, rate limits, schema payloads, and bulk creation.

Need higher rate limits or custom scopes?

Our developer relations team can configure custom dedicated rate limits for high-throughput enterprise systems.

Contact Developer Support
The Complete Catalog

Explore all 31 QR code formats

All specialized QR types can be created and managed programmatically via the REST API.

Explore All 31 Live Types

Website URL

Editable dynamic link

Dynamic
SCAN TO VISIT

Point to any website or page. Change the destination anytime without reprinting.

Vector SVG & HD PNGCreate Website

Digital vCard Plus

1-Tap contact save

Dynamic
SAVE CONTACT

Complete professional profile. Directly saves names, numbers & emails to phone contacts.

Vector SVG & HD PNGCreate Digital

WiFi Network Pass

Instant zero-type connect

Static
CONNECT WIFI

Connect phones directly to guest WPA/WPA2 networks without typing long passwords.

Vector SVG & HD PNGCreate WiFi

WhatsApp Chat Starter

Pre-filled direct chat

Dynamic
CHAT ON WHATSAPP

Launches WhatsApp with a custom pre-written enquiry message directly to your phone.

Vector SVG & HD PNGCreate WhatsApp

1-Tap Phone Call

Instant dialler trigger

Static
CALL DIRECT

Opens the native phone dialler with your business line ready to call with one touch.

Vector SVG & HD PNGCreate 1-Tap

Email Dispatch

Pre-composed message

Static
SEND EMAIL

Opens user's default email client with recipient, subject, and body pre-populated.

Vector SVG & HD PNGCreate Email

Social Media Multi-Link

All channels in one bio

Dynamic
FOLLOW US

Mobile landing page aggregating Instagram, TikTok, YouTube, LinkedIn, and X.

Vector SVG & HD PNGCreate Social

App Store Smart Router

iOS & Android auto-routing

Dynamic
GET THE APP

Detects scanner device OS and redirects instantly to Apple App Store or Google Play.

Vector SVG & HD PNGCreate App

Google Review Booster

Direct 5-star rating link

Dynamic
LEAVE A REVIEW

Sends customers straight to the Google Maps review submission box in 1 scan.

Vector SVG & HD PNGCreate Google

A/B Smart Traffic Split

50/50 variant split test

Dynamic
A/B SMART SPLIT

Split scan traffic across two distinct landing pages to measure conversion winners.

Vector SVG & HD PNGCreate A/B

Video & Showreel Stream

Instant video playback

Dynamic
WATCH VIDEO

Streams YouTube, Vimeo, or MP4 video without requiring viewers to install apps.

Vector SVG & HD PNGCreate Video

Image Portfolio Gallery

Multi-photo showcase

Dynamic
VIEW GALLERY

Displays a swipeable, high-resolution photo gallery on any printed flyer or display.

Vector SVG & HD PNGCreate Image

Audio & MP3 Streamer

Podcast & audio player

Dynamic
LISTEN NOW

Plays audio tracks, museum tour guides, and podcast episodes in the browser.

Vector SVG & HD PNGCreate Audio

PDF Document & Catalog

Replace heavy print runs

Dynamic
VIEW PDF MENU

Downloadable PDF menus, brochures, and user manuals. Update files without reprinting.

Vector SVG & HD PNGCreate PDF

Interactive Food Menu

Contactless digital menu

Dynamic
SCAN FOR MENU

Mobile menu with allergen tags, multi-language support, and 1-second price updates.

Vector SVG & HD PNGCreate Interactive

Retail Product Showcase

Photo, specs & buy link

Dynamic
VIEW PRODUCT

Connects on-pack packaging to rich product specifications, reviews, and reorders.

Vector SVG & HD PNGCreate Retail

GS1 Digital Link Barcode

2D packaging standard

Dynamic
GS1 DIGITAL LINK

The official retail packaging barcode standard combining POS checkout and consumer info.

Vector SVG & HD PNGCreate GS1

Coupon & Promo Voucher

Tracked discount redemption

Dynamic
CLAIM 20% OFF

Delivers digital coupon codes with barcode scanners and expiration countdowns.

Vector SVG & HD PNGCreate Coupon

Calendar Event Pass

1-Tap .ics calendar add

Dynamic
ADD TO CALENDAR

Adds conference sessions, webinars, and dates straight into Apple/Google Calendar.

Vector SVG & HD PNGCreate Calendar

Lead Capture Form

Point-of-scan CRM sync

Dynamic
GET IN TOUCH

Collects names, phone numbers, and requirements on-location, synced to your CRM.

Vector SVG & HD PNGCreate Lead

Hosted Micro-Site

No code or domain needed

Dynamic
OPEN PAGE

Full mobile landing page builder hosted on fast CDN edge servers with custom branding.

Vector SVG & HD PNGCreate Hosted

Customer NPS & Feedback

1-Tap star rating

Dynamic
RATE EXPERIENCE

Collects customer satisfaction scores, reviews, and qualitative feedback in real time.

Vector SVG & HD PNGCreate Customer

Multi-Question Survey

Detailed survey intake

Dynamic
START SURVEY

Gathers multi-step responses and research data directly into downloadable CSV tables.

Vector SVG & HD PNGCreate Multi-Question

Instant Live Poll

Live audience voting

Dynamic
VOTE NOW

Collects single-question live votes during keynotes, lectures, and live events.

Vector SVG & HD PNGCreate Instant

Google Maps Pin Location

1-Tap GPS directions

Static
GET DIRECTIONS

Opens exact GPS coordinates or venue address directly in Google Maps or Apple Maps.

Vector SVG & HD PNGCreate Google

UPI Direct Scan & Pay

Zero-fee Indian UPI

Dynamic
SCAN & PAY UPI

Generates instant UPI intent QR codes for Google Pay, PhonePe, Paytm, and BHIM.

Vector SVG & HD PNGCreate UPI

UPI Payment + Lead Form

Collect info then pay

Dynamic
PAY & REGISTER

Captures payer name, invoice number, and custom amount before triggering UPI checkout.

Vector SVG & HD PNGCreate UPI

Bitcoin & Crypto Wallet

BIP-21 wallet payments

Static
PAY WITH CRYPTO

Accepts BTC, ETH, and USDT payments with pre-configured recipient addresses.

Vector SVG & HD PNGCreate Bitcoin

SEPA Euro Bank Wire

European IBAN transfer

Static
SEPA WIRE PAY

Pre-fills Euro bank transfer invoices with IBAN, BIC, and exact payment references.

Vector SVG & HD PNGCreate SEPA

Static Plain Text

Offline serials & keys

Static
RAW TEXT DATA

Encodes alphanumeric hardware serials, inventory IDs, and offline text tokens.

Vector SVG & HD PNGCreate Static

SMS Auto-Draft

Pre-filled text message

Static
SEND SMS

Opens mobile messaging app with pre-filled recipient phone number and SMS body.

Vector SVG & HD PNGCreate SMS
31

All 31 Specialized QR Code Formats Supported

27 dynamic formats editable after printing · Vector SVG, PDF, and high-res PNG downloads included.

Explore All 31 Live Formats Hub
Automate in Under 5 Minutes

Automate Your QR Pipeline Today

Generate API keys on the Business plan and start creating dynamic QR codes in under five minutes, with dedicated per-key rate limits.

120 req/min Default Rate Limit
Multi-Language SDK Snippets
Instant Programmatic Redirects

Included on ScanOrbit Business at $29/mo · Instant API key generation

API EXPLORER
v1 LIVE
API DOCS

Scan to test in Mobile Browser

Instantly inspect interactive endpoints and specs on device