KKreatoAI/Documentation API

Authentification

Chaque requête vers l'API doit porter une clé API. Les clés se créent depuis le dashboard — voir la gestion des clés.

Headers acceptés

Deux formes équivalentes — x-api-key (recommandé) ou Authorization: Bearer ; utilisez celle qui convient à votre client HTTP :

# Recommandé — header x-api-key
curl https://api.kreatoai.com/v1/media \
  -H "x-api-key: sk-kre-v1-..."

# Équivalent — Authorization: Bearer
curl https://api.kreatoai.com/v1/media \
  -H "Authorization: Bearer sk-kre-v1-..."

Si les deux headers sont présents, Authorization est prioritaire. Une session dashboard (JWT) peut aussi appeler les mêmes routes — utile pour tester depuis l'interface.

Format des clés

sk-kre-v1- suivi de 64 caractères hexadécimaux (256 bits d'entropie), soit 74 caractères au total. Le préfixe identifie la clé d'un coup d'œil et permet aux scanners de secrets (GitHub, GitGuardian…) de détecter une fuite. La clé complète n'est affichée qu'une seule fois à la création — seule son empreinte SHA-256 est conservée côté serveur.

Scopes

Chaque clé porte des scopes qui limitent ce qu'elle peut faire (principe du moindre privilège). Une requête hors scope reçoit 403 insufficient_scope.

ScopeDonne accès à
media:writePOST /v1/media — ingestion d’images
publish:tiktokPOST /v1/publish/tiktok/photo et GET /v1/publish/tiktok/status/:publishId

Expiration et rotation

À la création, chaque clé reçoit une durée de vie : 30 jours, 90 jours (défaut recommandé), 1 an ou sans expiration. Une clé expirée reçoit 401 api_key_expired.

Pour une rotation sans coupure : créez la nouvelle clé, basculez vos workflows, puis révoquez l'ancienne — plusieurs clés actives peuvent coexister sur le même espace de travail.

Bonnes pratiques

Stockez la clé dans un gestionnaire de secrets (variables d'environnement de votre application, coffre-fort type Vault, ou le stockage de credentials de votre outil d'automatisation — n8n, Make, Zapier…), jamais dans votre code source ni dans un dépôt git. En cas de doute sur une fuite, révoquez immédiatement depuis le dashboard et créez une nouvelle clé — la révocation est instantanée.