api.bodyguard.ai est un endpoint global à utiliser par défaut. api.bodyguard.ai est situé dans la région de Bruxelles (Belgique).
Endpoints régionaux
Pour réduire la latence, vous pouvez envoyer vos requêtes directement vers une région spécifique :Les endpoints régionaux exposent la même API que l’endpoint global — seule l’URL de base change. Votre clé d’API fonctionne dans toutes les régions.
Démarrage rapide
L’exemple suivant analyse un message texte. Remplacez<your-api-key> et <your-channel-id> par les valeurs fournies par Bodyguard.
Authentification
Toutes les requêtes doivent inclure un en-têteAuthorization utilisant le schéma ApiKey. Le nom du schéma est sensible à la casse — ApiKey doit être écrit exactement comme indiqué.
En-têtes de requête requis
Votre clé API est fournie par Bodyguard. Gardez-la secrète et ne l’exposez jamais côté client.
Erreurs d’authentification
Tous les échecs d’authentification renvoient une réponse401 Unauthorized avec le code AUTHENTICATION_ERROR et l’une des raisons suivantes :
La raison est renvoyée dans le champ
details.authenticationError.reason de l’enveloppe d’erreur. Voir Erreurs pour le format complet de la réponse et un exemple concret.
Versionnement
Les endpoints vivent sous un chemin versionné — par exemple,/analyze/v1/text. Les endpoints en /v1/ sont stables et Bodyguard s’engage sur leur stabilité d’API. Tout changement cassant sera introduit sous un nouveau chemin de version (par exemple /v2/), vous permettant de migrer à votre propre rythme.
Limites de débit
Les limites de débit sont appliquées par organisation. Chaque endpoint a son propre quota indépendant. Les quotas sont spécifiques à chaque client et négociés dans le cadre de votre contrat. Lorsque votre organisation dépasse un quota, l’API renvoie429 Too Many Requests avec le code QUOTA_ERROR. Le tableau details.quotaError.violations de l’enveloppe de réponse identifie le quota spécifique qui a été dépassé.
Erreurs
Toutes les erreurs suivent une enveloppe JSON cohérente :details contient des informations structurées propres au type d’erreur et possède exactement un champ dont le nom correspond au code d’erreur (par exemple badRequestError pour BAD_REQUEST_ERROR). Le Content-Type des réponses d’erreur est toujours application/json.
Codes d’erreur
Exemple : requête invalide
Exemple : échec d’authentification
Exemple : échec transitoire
TRANSIENT_ERROR avec un backoff exponentiel. Les autres codes d’erreur ne doivent pas être retentés sans avoir corrigé la cause sous-jacente.
Étapes suivantes
Concepts clés
Découvrez les éléments fondamentaux de l’API Bodyguard : organisations, sources, canaux, références et dates de publication.