PWA2APP Documentation

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'organisation
  • 400 — Invitation invalide, expirée, révoquée, déjà acceptée, ou e-mail non correspondant
  • 401 — Non authentifié ou 2FA requise
  • 403 — 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 membre
  • 401 — 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 OWNER
  • 401 — Non authentifié ou 2FA requise
  • 403 — Jeton CSRF manquant ou invalide
  • 409 — 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 — Organisation
  • 401 — Non authentifié ou 2FA requise
  • 404 — 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 à jour
  • 401 — Non authentifié ou 2FA requise
  • 403 — CSRF invalide ou permission refusée
  • 404 — Non membre de cette organisation
  • 409 — 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 requise
  • 403 — CSRF invalide, permission refusée, ou step-up requis
  • 404 — Non membre de cette organisation
  • 422 — 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 requise
  • 403 — 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 fois
  • 401 — Non authentifié ou 2FA requise
  • 403 — CSRF invalide, permission refusée, ou step-up requis
  • 422 — 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'organisation
  • id (path, requis) — Identifiant de la clé API
  • 204 — Clé API révoquée
  • 401 — Non authentifié ou 2FA requise
  • 403 — CSRF invalide ou permission refusée
  • 422 — 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'organisation
  • limit (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'organisation
  • 401 — Non authentifié ou 2FA requise
  • 403 — Permission refusée
  • 422 — 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 requise
  • 403 — 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 requise
  • 403 — CSRF invalide ou permission refusée
  • 422 — 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'organisation
  • id (path, requis) — Identifiant de l'invitation
  • 204 — Invitation révoquée
  • 401 — Non authentifié ou 2FA requise
  • 403 — 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'organisation
  • id (path, requis) — Identifiant de l'invitation
  • 204 — Nouveau jeton émis, ancien invalidé, e-mail renvoyé
  • 401 — Non authentifié ou 2FA requise
  • 403 — CSRF invalide ou permission refusée
  • 404 — 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'organisation
  • 401 — Non authentifié ou 2FA requise
  • 404 — 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'organisation
  • user_id (path, requis) — Identifiant du membre
  • 204 — Rôle mis à jour
  • 401 — Non authentifié ou 2FA requise
  • 403 — CSRF invalide, permission refusée, ou step-up requis
  • 409 — Retirerait le dernier OWNER de l'organisation
  • 422 — 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'organisation
  • user_id (path, requis) — Identifiant du membre
  • 204 — Membre retiré
  • 401 — Non authentifié ou 2FA requise
  • 403 — CSRF invalide ou permission refusée
  • 409 — Retirerait le dernier OWNER de l'organisation
  • 422 — Identifiant invalide