Requête exemple
Réponse exemple
POST/v1/scim/tokensGénère un nouveau jeton SCIM (bearer IdP) pour le workspace courant.Génère un nouveau jeton de provisionnement SCIM pour le workspace courant et renvoie sa valeur secrète une seule fois dans la réponse. Le jeton (préfixé scim_ suivi de 64 caractères hexadécimaux) est destiné à être collé comme bearer SCIM dans votre fournisseur d'identité (Okta, Azure AD). Côté serveur, seule l'empreinte SHA-256 du jeton est stockée (token_hash), accompagnée d'un préfixe tronqué (token_prefix) pour l'identification : la valeur brute n'est donc jamais récupérable après cette réponse. L'opération est strictement rattachée au workspace résolu par votre clé.
Authentification
Cet endpoint exige une clé API valide portant le scope workspace:manage (un scope plus large comme * convient aussi). L'identité de l'appelant (userId) est enregistrée dans created_by. Transmettez la clé via Authorization: Bearer cof_live_.... L'idempotence est active sur cet endpoint d'écriture : fournissez un en-tête Idempotency-Key pour rejouer en toute sécurité une création en cas de retry réseau.
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
| name | string | Oui | Libellé lisible du jeton, p. ex. « Okta production ». La valeur est nettoyée (trim) ; une chaîne vide ou absente déclenche une erreur validation_error. |
Réponse
Renvoie un statut 201 avec l'enregistrement créé (id, name, token_prefix, created_at), enrichi de trois champs propres à la création : token (la valeur secrète complète, à sauvegarder immédiatement), warning (rappel que le jeton ne sera plus affiché) et scim_base_url (https://api.coffrify.com/scim/v2, l'URL de base à configurer dans l'IdP).
| Champ | Type | Description |
|---|---|---|
| id | string (uuid) | Identifiant du jeton créé. |
| name | string | Libellé fourni dans la requête. |
| token_prefix | string | Préfixe tronqué (14 premiers caractères + « ... »). |
| created_at | string | Date de création. |
| token | string | Valeur secrète complète (scim_ + 64 hex). Affichée une seule fois. |
| warning | string | Rappel de sauvegarder le jeton et de l'utiliser comme bearer SCIM dans l'IdP. |
| scim_base_url | string | URL de base SCIM v2 à configurer côté fournisseur d'identité. |
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 400 validation_error | name manquant ou vide après nettoyage. | Fournissez un name non vide (p. ex. « Okta production »). |
| 401 missing_api_key | Aucun en-tête Authorization et aucune session valide. | Ajoutez Authorization: Bearer cof_live_.... |
| 401 invalid_api_key / revoked_api_key / expired_api_key | Clé absente du registre, révoquée ou expirée. | Émettez une nouvelle clé API valide. |
| 403 scope_missing | La clé ne porte pas workspace:manage. | Émettez une clé avec workspace:manage sur app.coffrify.com/developer. |
| 403 ip_not_allowed | IP appelante non autorisée pour la clé. | Appelez depuis une IP autorisée. |
| 409 idempotency_conflict / idempotency_in_progress | Réutilisation incohérente d'un Idempotency-Key. | Utilisez une nouvelle clé d'idempotence pour une création distincte. |
| 429 rate_limited | Quota d'écriture du workspace dépassé. | Respectez Retry-After avant de réessayer. |
| 500 internal_error | Échec de l'insertion en base. | Réessayez ; conservez le request_id. |
Voir aussi
- GET /v1/scim/tokens — lister et auditer les jetons existants.
- Endpoint SCIM v2 :
https://api.coffrify.com/scim/v2(à configurer dans Okta/Azure AD). - GET /v1/members — vérifier les utilisateurs provisionnés automatiquement.