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
/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
}
/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"
}'
/qrcodes/{id}
Fetch details for a specific QR code by its ID.
/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">
/qrcodes/{id}
Update the destination or status of an existing QR code.
Payload options:
name(string)destination_url(url)status("active" or "paused")
/qrcodes/{id}
Permanently delete a QR code. Warning: This cannot be undone.
Analytics
/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. |