Skip to main content
llms.txt

Authentification, réponses et erreurs API

Utilisez les en-têtes de clé, comprenez les permissions et traitez les erreurs de validation, d’accès et de limitation.

Envoyer la clé dans un en-tête

Utilisez l’un des deux en-têtes :

X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY

Envoyez un seul en-tête d’authentification. Les routes privées des offres, espaces et connexions refusent les identifiants dans l’URL, même avec un en-tête valide. Conservez les clés côté serveur.

Permissions et types

PermissionUtilisation
readLecture des ressources couvertes par l’API.
writeLecture et écriture ; inclut la lecture.
jobs:readLire les offres.
jobs:draft, jobs:publish, jobs:edit, jobs:lifecycleEnregistrer un brouillon, publier ou republier, modifier ou retirer, respectivement. Les anciennes autorisations jobs:write conservent leurs opérations.
spaces:readLire les espaces.
cities:readRechercher les villes ; read couvre aussi cette fonction.
events:readLire les événements.

Les clés cwk_rstr_ sont en lecture seule ; cwk_live_ permet les écritures configurées. Le préfixe seul ne donne aucun droit : les permissions et restrictions d’espace restent applicables. Une permission d’écriture d’offres ne donne pas toutes les permissions de lecture.

Format des réponses

Une réponse réussie contient success, status et data. Les offres utilisent data.jobs ; les villes et espaces renvoient des tableaux.

{
  "success": false,
  "status": 422,
  "error": {
    "code": "validation_error",
    "message": "Validation failed",
    "details": ["Job title is required"]
  }
}

error.details peut être un tableau ou un objet, notamment pour les permissions et limitations. Vérifiez le type avant de parcourir les détails. Traitez aussi les erreurs réseau et les réponses non JSON.

Corriger les erreurs

Statut HTTPAction
400Vérifier le JSON et le format de requête.
401Vérifier la clé, l’expiration, la révocation et les restrictions IP.
403Vérifier les permissions et l’espace de l’offre.
404Vérifier l’endpoint et l’identifiant. Les chemins v1 supprimés peuvent renvoyer ce statut ; utilisez l’API v2.
405Employer la méthode HTTP prise en charge.
409Consultez le code d’erreur. Pour job_exists, lisez l’offre existante. Si la révision a changé, relisez l’offre avant de confirmer.
410api_version_retired : migrer la requête vers l’API v2. Répéter la requête v1 ou renouveler sa clé ne rétablit pas l’accès. Voir le retrait de v1 et la migration.
422Corriger les champs de error.details.
429Attendre error.details.retry_after_seconds, puis réessayer avec un délai croissant et aléatoire.
500Réessayer prudemment ; transmettre le contexte sans secret à l’équipe.

Les écritures d’offres sont limitées par clé. La référence indique une valeur de repli de 120 écritures/minute, mais la limite configurée de la clé est prioritaire. Utilisez les valeurs de la réponse.

Réutilisez le même Idempotency-Key et le même corps pour répéter une requête identique. Le reçu ordinaire reste en cache jusqu’à 24 heures et peut être indisponible. Vérifiez l’offre après une réponse incertaine. Voir API des offres.