Démarrage rapide
Créez un projet et une clé dans la console. La clé n'est affichée qu'une fois. Définissez GALON_API_BASE avec l'URL publiée pour votre environnement.
curl "$GALON_API_BASE/v1/jobs" \
-H "Authorization: Bearer $GALON_API_KEY" \
-H "Idempotency-Key: build-catalogue-2026-10-14" \
-H "Content-Type: application/json" \
-d '{"type":"build.application_web","input":{"plan":{"nature":"application_web"}}}'
Authentification et isolation
Chaque clé appartient à un projet, un environnement et un tenant. Donnez seulement les scopes nécessaires. Ne placez jamais une clé dans une application cliente.
Services
Les raccourcis POST /v1/search et POST /v1/ai/responses créent les mêmes jobs typés que POST /v1/jobs. Le catalogue GET /v1/tools décrit les scopes et paramètres autorisés.
curl "$GALON_API_BASE/v1/search" -H "Authorization: Bearer $GALON_API_KEY" -H "Idempotency-Key: recherche-0001" -H "Content-Type: application/json" -d '{"query":"actualité IA en Côte d’Ivoire","limit":5}'
Jobs asynchrones
Une création rend 202 Accepted et un identifiant. Réutiliser la même clé d'idempotence avec la même intention rend le même job ; avec une autre intention, l'API rend 409.
GET /v1/jobs/{job_id}
POST /v1/jobs/{job_id}/cancel
GET /v1/builds/{job_id}/artifacts
Webhooks
Galon signe les octets exacts du corps avec HMAC-SHA256. Vérifiez Galon-Signature avant de décoder le JSON, refusez les horodatages de plus de cinq minutes et dédoublonnez Galon-Event-Id.
signed = timestamp + "." + raw_body
expected = HMAC_SHA256(signing_secret, signed)
header = "t=<timestamp>,v1=<hex>"
Galon AI
L'orchestrateur utilise ce même registre de projets, la même file de jobs et les mêmes artefacts. Il possède une identité interne tenant-scopée : aucune clé développeur n'entre dans le prompt.