QR Code Types
The API supports 9 QR code content types. Each type requires specific fields in the content object.
text — Plain Text
| Field | Type | Required | Max Length |
|---|---|---|---|
text | string | Yes | 900 chars |
json
{
"type": "text",
"content": {
"text": "Hello, World!"
}
}url — Web URL
| Field | Type | Required | Max Length |
|---|---|---|---|
url | string | Yes | 900 chars |
URL must start with http:// or https://.
json
{
"type": "url",
"content": {
"url": "https://example.com/page?ref=qr"
}
}phone — Phone Number
| Field | Type | Required | Max Length |
|---|---|---|---|
phone | string | Yes | 15 chars |
Produces a tel: URI for click-to-call.
json
{
"type": "phone",
"content": {
"phone": "+1234567890"
}
}email — Email
| Field | Type | Required | Max Length |
|---|---|---|---|
email | string | Yes | 254 chars |
subject | string | No | 78 chars |
message | string | No | 500 chars |
Produces a mailto: URI.
json
{
"type": "email",
"content": {
"email": "hello@example.com",
"subject": "Inquiry",
"message": "I'd like to learn more."
}
}sms — SMS Message
| Field | Type | Required | Max Length |
|---|---|---|---|
phone | string | Yes | 15 chars |
message | string | No | 160 chars |
Produces an sms: URI that opens the messaging app.
json
{
"type": "sms",
"content": {
"phone": "+1234567890",
"message": "Hi there!"
}
}whatsapp — WhatsApp Message
| Field | Type | Required | Max Length |
|---|---|---|---|
phone | string | Yes | 15 chars |
message | string | No | 500 chars |
json
{
"type": "whatsapp",
"content": {
"phone": "+1234567890",
"message": "Hello from QR!"
}
}wifi — WiFi Network
| Field | Type | Required | Max Length |
|---|---|---|---|
ssid | string | Yes | 32 chars |
password | string | No | 63 chars |
encryption | string | No | — |
hidden | boolean | No | — |
Encryption options: WPA, WEP, nopass (default: WPA).
json
{
"type": "wifi",
"content": {
"ssid": "MyNetwork",
"password": "s3cure_pass",
"encryption": "WPA",
"hidden": false
}
}Produces: WIFI:T:WPA;S:MyNetwork;P:s3cure_pass;H:false;;
contact — vCard Contact
| Field | Type | Required | Max Length |
|---|---|---|---|
firstName | string | Yes | 40 chars |
lastName | string | No | 40 chars |
phone | string | No | 15 chars |
email | string | No | 60 chars |
organization | string | No | 60 chars |
title | string | No | 60 chars |
address | string | No | 60 chars |
city | string | No | 60 chars |
zip | string | No | 10 chars |
country | string | No | 60 chars |
website | string | No | 200 chars |
json
{
"type": "contact",
"content": {
"firstName": "Jane",
"lastName": "Doe",
"phone": "+1234567890",
"email": "jane@example.com",
"organization": "Acme Inc",
"title": "CEO",
"website": "https://example.com"
}
}Produces a vCard 3.0 format.
event — Calendar Event
| Field | Type | Required | Max Length |
|---|---|---|---|
name | string | Yes | 80 chars |
startDate | string | Yes | — |
endDate | string | Yes | — |
description | string | No | 150 chars |
location | string | No | 100 chars |
Dates should be in YYYY-MM-DDTHH:mm format (ISO 8601 local time). They are converted to UTC vEvent format YYYYMMDDTHHmmssZ.
json
{
"type": "event",
"content": {
"name": "Team Meeting",
"startDate": "2025-02-01T09:00",
"endDate": "2025-02-01T10:00",
"description": "Weekly sync",
"location": "Conference Room A"
}
}Produces a BEGIN:VEVENT iCalendar format.