OpenQR.io (1.0.1)

Download OpenAPI specification:Download

Getting Started

This documentation covers the available API endpoints, designed using the REST architecture. Each API endpoint returns a JSON response with standard HTTP response codes. API endpoints are secured and need a Bearer Authentication via an API Key.

How get API Key?

To obtain a new API Key, first, register on https://dashboard.openqr.io. Once registered, access the user menu in the top right corner of the dashboard and navigate to the "API Keys" section. Here, you can easily generate multiple API keys as needed to integrate with a different services. Enjoy seamless access to our API and enhance your QR code experiences.

OpenQR.io API Keys

šŸ”’ Important: Your API Key is a crucial access token for OpenQR's services. Copy it and store it safely! Remember, for security reasons, API Keys are not stored in our database and won't be visible again. Treat it like a valuable secret to ensure smooth integration and protect your account.

Folders

The Folder API in OpenQR allows developers to manage and organize QR codes within separate folders programmatically. With this API, developers can efficiently create, retrieve, and update folders. This allows better to categorize and manage their QR code projects.

Update folder

Update a folder for the authorized user by folder ID

Authorizations:
api_key
path Parameters
folder_id
required
integer

Folder ID

Request Body schema: application/json

Request body to save Folder

name
required
string [ 5 .. 255 ] characters

Folder name

Responses

Request samples

Content type
application/json
{
  • "name": "demo"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create folder

Create a new folder for the authorized user

Authorizations:
api_key
Request Body schema: application/json

Request body to save Folder

name
required
string [ 5 .. 255 ] characters

Folder name

Responses

Request samples

Content type
application/json
{
  • "name": "demo"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get folders list

Get list of folders for logged in user

Authorizations:
api_key

Responses

Request samples

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://api.openqr.io/api/v1/folders',
[
    'headers' => [
        'Authorization' => 'Bearer api_key',
        'Accept' => 'application/json',
    ]
]);

echo $response->getBody()->getContents();

Response samples

Content type
application/json
{}

QR Codes

The QR Codes API in OpenQR enables developers to programmatically create, customize, and manage QR codes within their applications or systems. With the API, developers can integrate OpenQR's QR code generation capabilities seamlessly into their software, websites, or mobile apps.

Create QR Code

Create a new QR Code for the authorized user.

Authorizations:
api_key
Request Body schema: application/json

Request body to save QR Code

name
required
string [ 5 .. 255 ] characters

QR code name

type
required
string (QRCodeType)
Enum: "call" "call_static" "email" "email_static" "event" "event_static" "geo" "geo_static" "sms" "sms_static" "text" "text_static" "url" "url_static" "vcard" "vcard_static" "wifi" "wifi_static"
required
URL QR Code Static/Dynamic type (object) or Text QR Code Static/Dynamic type (object) or Call QR Code Static/Dynamic type (object) or Email QR Code Static/Dynamic type (object) or Event QR Code Static/Dynamic type (object) or Geo QR Code Static/Dynamic type (object) or SMS QR Code Static/Dynamic type (object) or VCard QR Code Static/Dynamic type (object) or WIFI QR Code Static type (object)
object (QRCodeDesign)

Responses

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{}

Get QR Codes list

Get list of QR Codes for logged in user

Authorizations:
api_key

Responses

Request samples

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://api.openqr.io/api/v1/qr-codes',
[
    'headers' => [
        'Authorization' => 'Bearer xxxxxx',
        'Accept' => 'application/json',
    ]
]);

echo $response->getBody()->getContents();

Response samples

Content type
application/json
{}

Update QR Code

Update a QR Code for the authorized user by QR Code ID

Authorizations:
api_key
path Parameters
qr_code_id
required
integer

QR Code ID

Request Body schema: application/json

Request body to save QR Code

name
required
string [ 5 .. 255 ] characters

QR code name

type
required
string (QRCodeType)
Enum: "call" "call_static" "email" "email_static" "event" "event_static" "geo" "geo_static" "sms" "sms_static" "text" "text_static" "url" "url_static" "vcard" "vcard_static" "wifi" "wifi_static"
required
URL QR Code Static/Dynamic type (object) or Text QR Code Static/Dynamic type (object) or Call QR Code Static/Dynamic type (object) or Email QR Code Static/Dynamic type (object) or Event QR Code Static/Dynamic type (object) or Geo QR Code Static/Dynamic type (object) or SMS QR Code Static/Dynamic type (object) or VCard QR Code Static/Dynamic type (object) or WIFI QR Code Static type (object)
object (QRCodeDesign)

Responses

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{}

Get QR Code

Get a QR Code for the authorized user by QR Code ID

Authorizations:
api_key
path Parameters
qr_code_id
required
integer

QR Code ID

Responses

Request samples

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://api.openqr.io/api/v1/qr-codes/{qr_code_id}',
[
    'headers' => [
        'Authorization' => 'Bearer xxxxxx',
        'Accept' => 'application/json',
    ]
]);

echo $response->getBody()->getContents();

Response samples

Content type
application/json
{}

Files

Files API allows users to upload and manage custom images or files that can be integrated into QR codes generated through other API endpoints.

Upload new file

Users can upload image files (e.g., PNG, JPEG) to the server using a POST request to this endpoint. These uploaded files are stored securely on the server for future use.

Authorizations:
api_key
Request Body schema: multipart/form-data

Request body to upload file

file
required
string <binary>

File to upload. Accept only PNG and JPEG file formats and max size 5MB

Responses

Request samples

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('POST', 'https://api.openqr.io/api/v1/files/qr-logos',
    [
        'headers' => [
            'Authorization' => 'Bearer api_key',
            'Accept' => 'application/json',
        ],
        'multipart' => [
            'name' => 'file',
            'filename' => 'demo.png',
            'Mime-Type'=> 'image/png',
            'contents' => fopen( '/files_demo/demo.png', 'r' ),
        ]
    ]
);

echo $response->getBody()->getContents();



Response samples

Content type
application/json
{}

Get files list

Users can retrieve their uploaded files or public presetted as needed through this endpoint using unique file identifiers.

Authorizations:
api_key

Responses

Request samples

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://api.openqr.io/api/v1/files/qr-logos',
[
    'headers' => [
        'Authorization' => 'Bearer api_key',
        'Accept' => 'application/json',
    ]
]);

echo $response->getBody()->getContents();

Response samples

Content type
application/json
{}