Authenticatie
qr3.app gebruikt API-sleutels (Bearer-tokens) voor authenticatie. Er zijn geen OAuth-flows — genereer gewoon een sleutel en gebruik deze direct.
API-sleutel maken
- Meld je aan op app.qr3.app
- Ga naar Instellingen → API-sleutels
- Klik op Nieuwe sleutel
- Kies de gewenste machtigingen (scopes)
- Kopieer de sleutel — deze wordt slechts eenmalig weergegeven!
Sleuteltypes
| Type | Prefix | Gebruik |
|---|
| Secret Key | qr3_sk_ | Server-side (API, backend) |
| Publishable Key | qr3_pk_ | Client-side (alleen-lezen) |
| Test Key | qr3_test_sk_ | Ontwikkeling (eigen rate limits) |
Gebruik
Authorization: Bearer qr3_sk_your_key_here
cURL
curl https://qr3.app/v1/codes \
-H "Authorization: Bearer qr3_sk_your_key_here"
TypeScript SDK
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: "qr3_sk_your_key_here" });
const codes = await client.codes.list();
CLI
export QR3_API_KEY=qr3_sk_your_key_here
Rate limits
| Abonnement | Requests/minuut | Response-headers |
|---|
| Free | 30 | X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset |
| Pro | 120 | ← |
| Business | 300 | ← |
| Agency | 600 | ← |
Bij overschrijding retourneert de API HTTP 429:
"type": "https://docs.qr3.app/errors/rate-limited",
"title": "Too Many Requests",
"detail": "Rate limit of 30 requests/minute exceeded"
Scopes
| Scope | Beschrijving |
|---|
* | Volledige toegang |
codes:read | QR-codes lezen |
codes:write | QR-codes maken en bewerken |
scans:read | Scanstatistieken lezen |
webhooks:write | Webhooks configureren |
account:read | Accountgegevens lezen |