API Documentation (v1)

Integrate QRFlow directly into your workflow. Our RESTful API allows you to programmatically create, manage, and track your dynamic QR codes.

💡
Looking for your API Key?

You can find your unique API key in your Account Settings. Keep this key secure and never share it publicly.

Authentication

All API requests require a Bearer Token for authentication. Include your API key in the Authorization header of every request.

Authorization: Bearer YOUR_API_KEY
Setting Value
Base URL https://api.qrflow.in/v1/
Content-Type application/json

QR Code Management

GET

/qrcodes

Retrieve a list of all QR codes associated with your account.

Example Request:
curl -X GET "https://api.qrflow.in/v1/qrcodes" \
     -H "Authorization: Bearer YOUR_API_KEY"
Success Response:
{
  "data": [
    {
      "id": 124,
      "name": "Spring Sale 2024",
      "short_code": "a1b2c3d",
      "destination_url": "https://example.com/sale",
      "status": "active",
      "created_at": "2024-03-21 14:30:00",
      "redirect_url": "https://qrflow.in/r/a1b2c3d"
    }
  ],
  "count": 1
}
POST

/qrcodes

Create a new dynamic QR code.

Request Body:
Field Type Required Description
name string Yes Internal name for the QR code.
destination_url string Yes The URL the QR code will redirect to.
Example Request:
curl -X POST "https://api.qrflow.in/v1/qrcodes" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "New Campaign",
       "destination_url": "https://myproduct.com"
     }'
GET

/qrcodes/{id}

Fetch details for a specific QR code by its ID.

GET

/qrcodes/{id}/qr

Directly fetch the QR code image file. This endpoint is public and does not require an Authorization header, making it ideal for embedding images directly in your application.

<img src="https://api.qrflow.in/v1/qrcodes/124/qr" alt="QR Code">
PUT

/qrcodes/{id}

Update the destination or status of an existing QR code.

Payload options:
  • name (string)
  • destination_url (url)
  • status ("active" or "paused")
DELETE

/qrcodes/{id}

Permanently delete a QR code. Warning: This cannot be undone.


Analytics

GET

/analytics/{qr_id}

Retrieve detailed scan analytics for a specific QR code, including total scans, unique visitors, and recent scan logs.

Query Parameters:
  • limit (int, default: 100, max: 1000) - Number of recent scans to return.
Example Response:
{
  "data": {
    "qr_id": "124",
    "summary": {
      "total_scans": 450,
      "unique_scans": 380
    },
    "recent_scans": [
      {
        "city": "New York",
        "device_type": "mobile",
        "scanned_at": "2024-03-22 10:15:22"
      }
    ]
  }
}

HTTP Status Codes

Code Meaning Description
200 OK Request successful.
201 Created Resource successfully created.
400 Bad Request Invalid input or missing required fields.
401 Unauthorized Missing or invalid API key.
404 Not Found The requested resource does not exist.
405 Method Not Allowed HTTP method not supported for this endpoint.