Organisations
Technical reference generated from the platform contract: descriptions are in French.
POST /api/v1/invitations/{token}/accept
`POST /invitations/{token}/accept` (§19.4) — l'utilisateur doit être connecté (§29.6.2 :
token(path, requis) — Jeton d'invitation en clair (reçu par e-mail)
200— Invitation acceptée, membre ajouté à l'organisation400— Invitation invalide, expirée, révoquée, déjà acceptée, ou e-mail non correspondant401— Non authentifié ou 2FA requise403— Jeton CSRF manquant ou invalide
GET /api/v1/orgs
`GET /orgs` (§19.4) — organisations dont l'utilisateur est membre.
200— Organisations dont l'utilisateur est membre401— Non authentifié ou 2FA requise
POST /api/v1/orgs
`POST /orgs` (§19.4) — crée une organisation `TEAM`. **Non vérifié** : la restriction
Corps de requête : JSON
200— Organisation TEAM créée, créateur défini comme OWNER401— Non authentifié ou 2FA requise403— Jeton CSRF manquant ou invalide409— Identifiant d'organisation déjà utilisé422— Nom d'organisation manquant
GET /api/v1/orgs/{org_id}
`GET /orgs/{org_id}` (§19.4).
org_id(path, requis) — Identifiant de l'organisation
200— Organisation401— Non authentifié ou 2FA requise404— Non membre de cette organisation (anti-énumération, §6.5)
PATCH /api/v1/orgs/{org_id}
`PATCH /orgs/{org_id}` (§19.4) — nécessite `MembersManage` (`OWNER`/`ADMIN`, seuls rôles
Corps de requête : JSON
org_id(path, requis) — Identifiant de l'organisation
204— Organisation mise à jour401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Non membre de cette organisation409— Identifiant d'organisation déjà utilisé
DELETE /api/v1/orgs/{org_id}
`DELETE /orgs/{org_id}` (§19.4) — nécessite `OrgDelete` (`OWNER` uniquement, §6.5) et un
Corps de requête : JSON
org_id(path, requis) — Identifiant de l'organisation
204— Organisation supprimée (jamais une organisation PERSONAL)401— Non authentifié ou 2FA requise403— CSRF invalide, permission refusée, ou step-up requis404— Non membre de cette organisation422— Nom de confirmation incorrect, ou organisation PERSONAL
GET /api/v1/orgs/{org_id}/api-keys
`GET /orgs/{org_id}/api-keys` (§19.4) — nécessite `ApiKeysManageOwn`.
org_id(path, requis) — Identifiant de l'organisation
200— Clés API de l'organisation (jamais le secret)401— Non authentifié ou 2FA requise403— Permission refusée
POST /api/v1/orgs/{org_id}/api-keys
`POST /orgs/{org_id}/api-keys` (§19.4, §29.2.21 : « step-up requis ») — nécessite
Corps de requête : JSON
org_id(path, requis) — Identifiant de l'organisation
200— Clé API créée — secret en clair affiché une seule fois401— Non authentifié ou 2FA requise403— CSRF invalide, permission refusée, ou step-up requis422— Scopes manquants ou durée de validité excessive
DELETE /api/v1/orgs/{org_id}/api-keys/{id}
`DELETE /orgs/{org_id}/api-keys/{id}` (§19.4) — nécessite `ApiKeysManageOwn`.
org_id(path, requis) — Identifiant de l'organisationid(path, requis) — Identifiant de la clé API
204— Clé API révoquée401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée422— Identifiant invalide
GET /api/v1/orgs/{org_id}/audit
`GET /orgs/{org_id}/audit` (§19.4, §22.9, §29.2.24) — nécessite `MembersManage` (les
org_id(path, requis) — Identifiant de l'organisationlimit(query) — Taille de page (défaut 50, max 100, §19.1)cursor(query) — Curseur opaque de la page suivante
200— Page du journal d'audit de l'organisation401— Non authentifié ou 2FA requise403— Permission refusée422— Curseur invalide
GET /api/v1/orgs/{org_id}/invitations
`GET /orgs/{org_id}/invitations` (§19.4, implicite — §29.2.22 : liste des invitations en
org_id(path, requis) — Identifiant de l'organisation
200— Invitations en attente (ni acceptées, ni révoquées, non expirées)401— Non authentifié ou 2FA requise403— Permission refusée
POST /api/v1/orgs/{org_id}/invitations
`POST /orgs/{org_id}/invitations` (§19.4) — nécessite `MembersManage`.
Corps de requête : JSON
org_id(path, requis) — Identifiant de l'organisation
201— Invitation créée et e-mail envoyé401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée422— E-mail ou rôle invalide
DELETE /api/v1/orgs/{org_id}/invitations/{id}
`DELETE /orgs/{org_id}/invitations/{id}` (§19.4) — nécessite `MembersManage`.
org_id(path, requis) — Identifiant de l'organisationid(path, requis) — Identifiant de l'invitation
204— Invitation révoquée401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée
POST /api/v1/orgs/{org_id}/invitations/{id}/resend
`POST /orgs/{org_id}/invitations/{id}/resend` (§29.2.22 : « Renvoyer ») — nécessite
org_id(path, requis) — Identifiant de l'organisationid(path, requis) — Identifiant de l'invitation
204— Nouveau jeton émis, ancien invalidé, e-mail renvoyé401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Invitation introuvable ou déjà traitée
GET /api/v1/orgs/{org_id}/members
`GET /orgs/{org_id}/members` (§19.4).
org_id(path, requis) — Identifiant de l'organisation
200— Membres de l'organisation401— Non authentifié ou 2FA requise404— Non membre de cette organisation
PATCH /api/v1/orgs/{org_id}/members/{user_id}
`PATCH /orgs/{org_id}/members/{user_id}` (§19.4) — nécessite `MembersManage`. Un step-up
Corps de requête : JSON
org_id(path, requis) — Identifiant de l'organisationuser_id(path, requis) — Identifiant du membre
204— Rôle mis à jour401— Non authentifié ou 2FA requise403— CSRF invalide, permission refusée, ou step-up requis409— Retirerait le dernier OWNER de l'organisation422— Rôle ou identifiant invalide
DELETE /api/v1/orgs/{org_id}/members/{user_id}
`DELETE /orgs/{org_id}/members/{user_id}` (§19.4) — nécessite `MembersManage`.
org_id(path, requis) — Identifiant de l'organisationuser_id(path, requis) — Identifiant du membre
204— Membre retiré401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée409— Retirerait le dernier OWNER de l'organisation422— Identifiant invalide