API Docs
Developer resources and guides for integrating QR Cake.
Quick Start
The QR Cake API lets QR Cake users manage their account QR Codes.
Authentication
Create an API key in your dashboard and send it in the Authorization header.
Authorization: Bearer <API Key> Content-Type: application/json
Manage API keys in Dashboard API Keys.
API Request Tester
Test endpoints directly from this page. Enter your API key, select an endpoint, and inspect the live response.
Interactive API Tester
Run requests directly from your browser to the selected QR Cake API endpoint.
Authorization: Bearer <API Key>https://api.qrcake.com/v1/product/user/product
Terminology
Products
QR Codes
Users
QR Cake accounts
Request Bodies (POST/PUT)
For POST and PUT requests, request bodies must be stringified. If you are sending JSON, pass a JSON string (for example JSON.stringify(payload)).
const payload = { redirect: "https://example.com", metadata: {} };
await fetch(url, {
method: "POST",
body: JSON.stringify(payload),
});List QR Codes
Lists the QR Codes accessible to the API key.
Authorization: Bearer <API Key>Accept: application/json
[
{
"accountId": "string",
"productId": "string",
"userId": "string",
"redirect": "string",
"state": "ACTIVE",
"metadata": {},
"createdAt": 0,
"updatedAt": 0
}
]{
"message": {}
}Products = QR Codes.
Get a QR Code
Fetches one QR Code.
- productId (string)
Authorization: Bearer <API Key>Accept: application/json
{
"accountId": "string",
"productId": "string",
"userId": "string",
"redirect": "string",
"state": "ACTIVE",
"metadata": {},
"createdAt": 0,
"updatedAt": 0
}{
"message": {}
}Create a QR Code
Creates a new QR Code product.
Authorization: Bearer <API Key>Content-Type: application/jsonAccept: application/json
{
"redirect": "https://example.com",
"metadata": {},
"state": "ACTIVE"
}{
"accountId": "string",
"productId": "string",
"userId": "string",
"redirect": "string",
"state": "ACTIVE",
"metadata": {},
"createdAt": 0,
"updatedAt": 0
}{
"message": {}
}POST request body must be stringified (for example, JSON.stringify(payload)).
Update a QR Code
Updates an existing QR Code (product).
- productId (string)
Authorization: Bearer <API Key>Content-Type: application/jsonAccept: application/json
{
"redirect": "https://example.com",
"metadata": {},
"state": "ACTIVE"
}{
"accountId": "string",
"productId": "string",
"userId": "string",
"redirect": "string",
"state": "ACTIVE",
"metadata": {},
"expiresAt": 0,
"createdAt": 0,
"updatedAt": 0
}{
"message": {}
}PUT request body must be stringified.
Delete a QR Code
Deletes a QR Code.
- productId (string)
Authorization: Bearer <API Key>Accept: application/json
{
"productId": "string"
}{
"message": {}
}Permissions
Returns the permissions granted to the API key.
Authorization: Bearer <API Key>Accept: application/json
{
"success": true,
"result": {
"analytics": true,
"productLimit": 100,
"tier": "subscriber",
"productTotal": 3,
"productActiveLimit": 100,
"productActiveTotal": 3
}
}{
"message": {}
}Supported QR Types
Use these metadata types when creating or updating QR products.
redirect, link, image, video, file, pdf, audio, app, event, vCard
Start with dynamic QR codes and changeable QR codes on our homepage.