Aller au contenu

Authentification

Authentification

qr3.app utilise des clés API (Bearer token) pour l’authentification. Il n’y a pas de flux OAuth — générez simplement une clé et utilisez-la immédiatement.

Créer une clé API

  1. Connectez-vous sur app.qr3.app
  2. Allez dans Paramètres → Clés API
  3. Cliquez sur Nouvelle clé
  4. Sélectionnez les autorisations (scopes) souhaitées
  5. Copiez la clé — elle ne sera affichée qu’une seule fois !

Types de clés

TypePréfixeUtilisation
Secret Keyqr3_sk_Côté serveur (API, backend)
Publishable Keyqr3_pk_Côté client (lecture seule)
Test Keyqr3_test_sk_Développement (limites de requêtes propres)

Les Publishable Keys (qr3_pk_) ne reçoivent aucune donnée personnelle. Les routes qui renvoient des noms, des adresses e-mail ou des identifiants d’utilisateur répondent 403 à ces clés : 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.

Utilisation

En-tête HTTP

Authorization: Bearer qr3_sk_your_key_here

cURL

Fenêtre de terminal
curl https://qr3.app/v1/codes \
-H "Authorization: Bearer qr3_sk_your_key_here"

SDK TypeScript

import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: "qr3_sk_your_key_here" });
const codes = await client.codes.list();

CLI

Fenêtre de terminal
qr3 login
# or:
export QR3_API_KEY=qr3_sk_your_key_here

Limites de requêtes

Chaque clé API peut envoyer 60 requêtes par minute, quel que soit le forfait. La limite s’applique par clé, et non par espace de travail ou organisation.

En cas de dépassement, l’API renvoie un code 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

| Scope | Description | |---|---|| | * | Accès complet | | codes:read | Lire les QR codes | | codes:write | Créer et modifier des QR codes | | scans:read | Lire les statistiques de scan | | webhooks:write | Configurer les webhooks | | account:read | Lire les informations du compte |