Aller au contenu

Documentation de l'API

Crée, modifie et suis tes QR codes par programme. L'API REST est incluse dans l'offre Business ; la spécification OpenAPI 3.1 est publique.

Mis à jour le 24 septembre 2026

Authentification

Chaque requête porte une clé API dans l'en-tête Authorization: Bearer qrt_live_.... Crée tes clés dans Paramètres, API, avec une portée lecture seule ou lecture et écriture. Les clés qrt_test_ créent de vrais codes, hors quota, visibles seulement avec une clé de test.

Limites

60 requêtes par minute et 50 000 par mois et par compte. Les en-têtes X-RateLimit-* indiquent ta consommation ; au-delà, l'API répond 429.

Adresse de base

https://qrtada.com/api/public/v1

Points d'accès

Points d'accès de l'API publique v1
MéthodeCheminRôle
GET/codesLister les codes
POST/codesCréer un code
POST/codes/bulkCréer jusqu'à 100 codes
GET/codes/{id}Lire un code
PATCH/codes/{id}Modifier un code
DELETE/codes/{id}Mettre un code à la corbeille
GET/codes/{id}/imageTélécharger l'image d'un code
GET/codes/{id}/statsStatistiques d'un code
GET/foldersLister les dossiers
POST/foldersCréer un dossier
GET/account/usageUsage du compte

Exemples

GET /codes : lister les codes

cURL

curl -X GET "https://qrtada.com/api/public/v1/codes?limit=30" \
  -H "Authorization: Bearer $QRTADA_API_KEY"

JavaScript

const res = await fetch("https://qrtada.com/api/public/v1/codes?limit=30", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.QRTADA_API_KEY}`,
  },
});
const { data } = await res.json();

Python

import os, requests

res = requests.get(
    "https://qrtada.com/api/public/v1/codes?limit=30",
    headers={"Authorization": f"Bearer {os.environ['QRTADA_API_KEY']}"},
)
data = res.json()["data"]

POST /codes : créer un code

cURL

curl -X POST "https://qrtada.com/api/public/v1/codes" \
  -H "Authorization: Bearer $QRTADA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Menu du midi","kind":"dynamic","type":"url","content":{"url":"https://chezpaul.fr/menu"}}'

JavaScript

const res = await fetch("https://qrtada.com/api/public/v1/codes", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.QRTADA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name":"Menu du midi","kind":"dynamic","type":"url","content":{"url":"https://chezpaul.fr/menu"}}),
});
const { data } = await res.json();

Python

import os, requests

res = requests.post(
    "https://qrtada.com/api/public/v1/codes",
    headers={"Authorization": f"Bearer {os.environ['QRTADA_API_KEY']}"},
    json={"name":"Menu du midi","kind":"dynamic","type":"url","content":{"url":"https://chezpaul.fr/menu"}},
)
data = res.json()["data"]

Télécharger la spécification OpenAPI

Prêt à imprimer un QR code qui ne meurt jamais ?

7 jours pour 0 €, carte requise, rappel 2 jours avant le premier paiement, annulation en 2 clics.