QRBlock API Documentation

Programmatically generate, read, and track your QR codes.

Welcome to the interactive Developer API. You can test endpoints directly from this page!

⚡ API Rate Limit: 60 requests per minute per workspace.

Paste your API Key here to interact with the endpoints. All requests use the Authorization: Bearer header. Find your api key or make a new one here

Create QR Code

POST/api/v1/qr

Programmatically create static or dynamic QR codes.

Test Endpoint

Request Body Example

{
  "type": "url",               // Required: "url", "text", "wifi", "email", "vcard"
  "qr_value": "https://...",   // Required: The destination or data
  "is_dynamic": true,          // Optional: Defaults to true
  "settings": {                // Optional: Custom styling
    "color": "#000000",
    "bgColor": "#ffffff",
    "level": "H",
    "logoUrl": "/api/logo/..." // Use the /logo endpoint to upload this!
  }
}

Upload Logo

POST/api/v1/logo

Send an image file via multipart/form-data under the key file. We will automatically optimize it to WebP format.

Required for GET, PATCH, DELETE, and Analytics. You can create a QR code above and use its ID here.

List & Read

GET/api/v1/qr

Returns an array of the latest QR codes in your workspace. Use ?limit= to paginate.

GET/api/v1/qr/:id

Returns details for a specific QR code.

Update & Delete

PATCH/api/v1/qr/:id

Update a dynamic QR code. Send a JSON body with qr_value or settings.

DELETE/api/v1/qr/:id

Permanently delete a QR code.

Analytics & Images

GET/api/v1/qr/:id/analytics

Returns time-series data and breakdowns for OS, Device, and Referrer.

GET/api/v1/qr/:id/image

Downloads or streams the raw QR code image. This endpoint can be embedded directly in an <img> tag. Optional Query Parameters: ?format=png (default) or ?format=svg.

API RESPONSE

// Ready. Enter your API Key to begin testing...