Ga naar inhoud

Authenticatie

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

  1. Meld je aan op app.qr3.app
  2. Ga naar Instellingen → API-sleutels
  3. Klik op Nieuwe sleutel
  4. Kies de gewenste machtigingen (scopes)
  5. Kopieer de sleutel — deze wordt slechts eenmalig weergegeven!

Sleuteltypes

TypePrefixGebruik
Secret Keyqr3_sk_Server-side (API, backend)
Publishable Keyqr3_pk_Client-side (alleen-lezen)
Test Keyqr3_test_sk_Ontwikkeling (eigen rate limits)

Publishable Keys (qr3_pk_) ontvangen geen persoonsgegevens. Routes die namen, e-mailadressen of gebruikers-ID’s van personen teruggeven, antwoorden op zo’n sleutel met 403: GET /v1/members, GET /v1/workspace/stats/code-creators, GET /v1/audit-logs, GET /v1/organizations, GET /v1/organizations/:id, GET /v1/codes/:id/comments.

Gebruik

HTTP-header

Authorization: Bearer qr3_sk_your_key_here

cURL

Terminal window
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

Terminal window
qr3 login
# or:
export QR3_API_KEY=qr3_sk_your_key_here

Rate limits

Elke API-sleutel mag 60 verzoeken per minuut verzenden, op elk abonnement. De limiet is van toepassing per sleutel, niet per werkruimte of organisatie.

Bij overschrijding retourneert de API HTTP 429:

{
"type": "https://docs.qr3.app/errors/rate-limited",
"title": "Too Many Requests",
"status": 429,
"detail": "Rate limit of 60 requests/minute exceeded for this API key"
}

Scopes

ScopeBeschrijving
*Volledige toegang
codes:readQR-codes lezen
codes:writeQR-codes maken en bewerken
scans:readScanstatistieken lezen
webhooks:writeWebhooks configureren
account:readAccountgegevens lezen