QR codes
GET https://qr-kode.no/api/qr-codes/
curl --request GET \
--url 'https://qr-kode.no/api/qr-codes/' \
--header 'Authorization: Bearer {api_key}' \
--url 'https://qr-kode.no/api/qr-codes/' \
--header 'Authorization: Bearer {api_key}' \
| Parameters | Details | Description |
|---|---|---|
| search | Optional String | The search string. |
| search_by | Optional String | What field are you searching by. Allowed values are: name. |
| project_id | Optional Integer | |
| type | Optional String | What field are you searching by. Allowed values are: gs1_static, barcode, text, url, phone, sms, email, whatsapp, facetime, location, wifi, event, vcard, review, pdf, image, document, audio, video, multilink, payment_request, coupon, photo_collection, whatsapp_dynamic, landingpage, biolink, app_store. |
| datetime_field | Optional String | Allowed values: datetime, last_datetime |
| datetime_start | Optional String | Filter results starting from this datetime. Y-m-d H:i:s format. |
| datetime_end | Optional String | Filter results up to this datetime. Y-m-d H:i:s format. |
| order_by | Optional String | What field to order the results by. Allowed values are: qr_code_id, datetime, last_datetime, name, type. |
| order_type | Optional String | The ordering of the results. Allowed values are: ASC for ascending ordering, and DESC for descending ordering. |
| page | Optional Integer | The page number that you want results from. Defaults to 1. |
| results_per_page | Optional Integer | How many results you want per page. Allowed values are: 10, 25, 50, 100, 250, 500, 1000. Defaults to 25. |
{
"data": [
{
"id": 1,
"type": "url",
"name": "Example name",
"qr_code": "https://qr-kode.no/uploads/qr_code/example.svg",
"qr_code_png": "https://qr-kode.no/qr-code-image/0123456789abcdef0123456789abcdef.png",
"qr_code_logo": null,
"qr_code_background": null,
"settings": {
"foreground_type": "color",
"foreground_color": "#000000",
"background_color": "#ffffff",
"custom_eyes_color": false,
"qr_code_logo_size": 25,
"size": 500,
"margin": 0,
"ecc": "L",
"url": "https://example.com"
...
},
"embedded_data": "https://example.com",
"last_datetime": null,
"is_paid": false,
"link_id": null,
"datetime": "2026-10-05 13:40:44",
},
],
"meta": {
"page": 1,
"results_per_page": 25,
"total": 1,
"total_pages": 1
},
"links": {
"first": "https://qr-kode.no/api/qr-codes?page=1",
"last": "https://qr-kode.no/api/qr-codes?page=1",
"next": null,
"prev": null,
"self": "https://qr-kode.no/api/qr-codes?page=1"
}
}
The qr_code_png field is a PNG version of the QR code. Append ?size=128..2048 for another size (default 1024); a transparent QR gives a PNG with an alpha channel. The URL changes whenever the QR code is updated, so fetch it fresh from the API. Download the PNG once and store it instead of hotlinking: the image endpoint is rate limited (errors: 404 unknown, 429 rate limit, 503 try again in 60 seconds). The value is null for locked QR codes and QR codes without an image.
GET https://qr-kode.no/api/qr-codes/{qr_code_id}
curl --request GET \
--url 'https://qr-kode.no/api/qr-codes/{qr_code_id}' \
--header 'Authorization: Bearer {api_key}' \
--url 'https://qr-kode.no/api/qr-codes/{qr_code_id}' \
--header 'Authorization: Bearer {api_key}' \
{
"data": {
"id": 1,
"type": "url",
"name": "Example name",
"qr_code": "https://qr-kode.no/uploads/qr_code/example.svg",
"qr_code_png": "https://qr-kode.no/qr-code-image/0123456789abcdef0123456789abcdef.png",
"qr_code_logo": null,
"qr_code_background": null,
"settings": {
"foreground_type": "color",
"foreground_color": "#000000",
"background_color": "#ffffff",
"custom_eyes_color": false,
"qr_code_logo_size": 25,
"size": 500,
"margin": 0,
"ecc": "L",
"url": "https://example.com"
...
},
"embedded_data": "https://example.com",
"last_datetime": null,
"is_paid": false,
"link_id": null,
"datetime": "2026-10-05 13:40:44",
}
}
POST https://qr-kode.no/api/qr-codes
| Parameters | Details | Description |
|---|---|---|
curl --request POST \
--url 'https://qr-kode.no/api/qr-codes' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'name=New York' \
--form 'type=text' \
--form 'text=Hello!' \
--url 'https://qr-kode.no/api/qr-codes' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'name=New York' \
--form 'type=text' \
--form 'text=Hello!' \
{
"data": {
"id": 1
}
}
POST https://qr-kode.no/api/qr-codes/{qr_code_id}
curl --request POST \
--url 'https://qr-kode.no/api/qr-codes/{qr_code_id}' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'name=Las Vegas' \
--url 'https://qr-kode.no/api/qr-codes/{qr_code_id}' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'name=Las Vegas' \
{
"data": {
"id": 1
}
}
DELETE https://qr-kode.no/api/qr-codes/{qr_code_id}
curl --request DELETE \
--url 'https://qr-kode.no/api/qr-codes/{qr_code_id}' \
--header 'Authorization: Bearer {api_key}' \
--url 'https://qr-kode.no/api/qr-codes/{qr_code_id}' \
--header 'Authorization: Bearer {api_key}' \