docs · pour les développeurs

REST API

Tout ce que le tableau de bord peut faire à un site, en HTTPS. 71 routes sous /v1, authentifiées par des jetons d’espace de travail, décrites par un document OpenAPI 3.1.

Authentification et portées

curl https://api.cookiecrumbs.eu/v1/sites \
  -H "Authorization: Bearer cc_…"

Créez des jetons sous Paramètres de l’espace de travail → Développeurs (le secret est affiché une fois) ou avec cookiecrumbs tokens create. Chaque route déclare la portée dont elle a besoin : sites:read, sites:write, banner:read, banner:write, banner:publish, scans:read, scans:run, logs:read, logs:export, analytics:read. Les jetons peuvent être liés à un site ou à un environnement et expirer à une date que vous fixez.

La surface

GroupeCe qu’il couvre
sitesLister, créer, lire et mettre à jour des sites (PATCH /sites/:id : nom, conservation, paramètres), leurs domaines et la vérification de domaine.
configLire et écrire le brouillon (GET/PUT /sites/:id/config/draft), validation côté serveur (POST …/config/validate).
versionsPublier (POST /sites/:id/versions), lister, revenir en arrière, promouvoir la prévisualisation en production.
scansMettre en file et lire des scans, les résultats en JSON, CSV ou SARIF (GET /scans/:id/findings?format=…), le diff avec l’exécution précédente, le planning de scan (GET/PATCH /sites/:id/scan-schedule) et les vérifications d’installation (GET/POST /sites/:id/install-checks).
servicesLes traceurs enregistrés : lister, créer, mettre à jour, supprimer ; les problèmes de conformité et leur suppression (POST /issues/:id/suppress).
declarationLa liste publique des cookies en .json, .html ou .md, par langue.
consentsLire les preuves de consentement ; les identifiants des personnes sont masqués sans logs:export.
exportsCréer et télécharger des exports de preuve signés. Les téléchargements portent X-Content-SHA256, X-Signature-Ed25519 et X-Signing-Kid pour que n’importe qui puisse vérifier le fichier contre les clés publiées.
alerts · webhooks · templates · tokensLa boîte de réception des alertes et les canaux d’alerte, les endpoints et livraisons de webhooks, les modèles de bannière (lister, lire, enregistrer, mettre à jour, supprimer, appliquer), la gestion des jetons.
me · rGET /v1/me décrit le jeton ; GET /v1/r résout le pays d’un visiteur en régime (utilisé par le runtime).

Des endpoints de facturation existent mais n’acceptent qu’un utilisateur connecté, jamais un jeton cc_*.

Limites et erreurs

600 requêtes par minute et par jeton. Les erreurs sont en problem+json RFC 9457 avec un type stable, filtrez donc dessus plutôt que sur le texte du message.

Le document OpenAPI

GET https://api.cookiecrumbs.eu/v1/openapi.json est le contrat lisible par machine, adapté à la génération de clients. La page Développeurs du tableau de bord renvoie vers une copie rendue.