Authentification
Chaque appel porte une clé d’organisation dans l’en-tête Authorization. Créez-la dans Tableau de bord, onglet API et webhooks. Elle commence par qrg_ et n’est affichée qu’une fois : seule son empreinte est conservée. Une clé donne accès aux liens de son organisation, à rien d’autre.
curl https://lien.gg/api/v1/links \ -H "Authorization: Bearer qrg_votre_cle"
Créer un lien
Seule la destination est obligatoire. Le QR code, l’adresse courte et le suivi des scans viennent avec.
curl -X POST https://lien.gg/api/v1/links \
-H "Authorization: Bearer qrg_votre_cle" \
-H "Content-Type: application/json" \
-d '{
"destination": "https://exemple.fr/promo",
"name": "Flyer septembre",
"utmSource": "flyer"
}'Points d’entrée
Base : https://lien.gg/api/v1. Réponses en JSON, erreurs au format { "error": "…" } avec le code HTTP correspondant.
| GET | /links | Liste les liens de l'organisation · Paramètres limit et cursor. |
| POST | /links | Crée un lien · destination obligatoire ; kind, name, slug, domainId, utm*, password, design en option. |
| GET | /links/{id} | Détail d'un lien |
| PATCH | /links/{id} | Modifie un lien · Mêmes champs que la création, tous optionnels. |
| DELETE | /links/{id} | Supprime un lien |
| GET | /links/{id}/stats | Statistiques · Totaux, courbe sur 30 jours, répartitions par appareil, pays et ville. |
| GET | /links/{id}/qr | Image du QR code · format=svg ou png, size jusqu'à 4096. |
Webhooks
Chaque scan et chaque modification peuvent être poussés vers votre URL. Le corps JSON contient les champs id, event, createdAt et data. La signature est dans l’en-tête X-Signature, au format sha256=HMAC(secret, X-Timestamp + "." + corps). Événements : link.scanned, link.created, link.updated, link.deleted.
Description machine
La description OpenAPI 3.1 est servie à /api/v1/openapi.json. Elle suffit à un client généré automatiquement, à Postman ou à un agent qui doit découvrir l’API sans lire cette page.
Limites
Le nombre de clés actives dépend de votre offre. Les destinations sont vérifiées à la création et à chaque modification : une adresse signalée comme dangereuse est refusée avec un code 422. Les redirections, elles, ne sont jamais limitées.