Applications
Référence technique générée depuis le contrat de la plateforme : les descriptions sont en français.
GET /api/v1/applications
`GET /applications` (§19.5) — nécessite `?org_id=`.
org_id(query, requis) — Identifiant de l'organisationinclude_archived(query) — Inclure les applications archivées
200— Applications de l'organisation401— Non authentifié ou 2FA requise404— Non membre de cette organisation422— org_id manquant ou invalide
POST /api/v1/applications
`POST /applications` (§19.5, §7.2) — nécessite `ApplicationsWrite`.
Corps de requête : JSON
200— Application créée en DRAFT401— Non authentifié ou 2FA requise402— Quota gratuit dépassé, abonnement requis (§7.2)403— CSRF invalide ou permission refusée404— Non membre de cette organisation409— Identifiant court déjà utilisé422— Validation échouée
GET /api/v1/applications/{id}
`GET /applications/{id}` (§19.5).
id(path, requis) — Identifiant de l'application
200— Application401— Non authentifié ou 2FA requise404— Application introuvable ou non membre de son organisation
PATCH /api/v1/applications/{id}
`PATCH /applications/{id}` (§19.5) — nécessite `ApplicationsWrite`.
Corps de requête : JSON
id(path, requis) — Identifiant de l'application
204— Application mise à jour401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Application introuvable409— Identifiant court déjà utilisé
DELETE /api/v1/applications/{id}
`DELETE /applications/{id}` (§5.8, §19.5) — nécessite `ApplicationsDelete`. L'application
id(path, requis) — Identifiant de l'application
204— Application supprimée (logiquement)401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Application introuvable409— L'application n'est pas archivée
POST /api/v1/applications/{id}/archive
`POST /applications/{id}/archive` (§5.8, §19.5) — nécessite `ApplicationsWrite`.
id(path, requis) — Identifiant de l'application
204— Application archivée401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Application introuvable409— Transition non autorisée depuis l'état courant
GET /api/v1/applications/{id}/config
`GET /applications/{id}/config` (§19.5) — pose l'en-tête `ETag` pour le verrouillage
id(path, requis) — Identifiant de l'application
200— Configuration courante (en-tête ETag posé)401— Non authentifié ou 2FA requise404— Application ou configuration introuvable
PUT /api/v1/applications/{id}/config
`PUT /applications/{id}/config` (§19.1 : `If-Match` obligatoire, verrouillage optimiste ;
Corps de requête : JSON
id(path, requis) — Identifiant de l'application
204— Configuration remplacée401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Application introuvable412— La configuration a changé depuis la dernière lecture (If-Match)422— Configuration invalide au regard du schéma
POST /api/v1/applications/{id}/config/validate
`POST /applications/{id}/config/validate` (§19.5) — valide sans enregistrer.
Corps de requête : JSON
id(path, requis) — Identifiant de l'application
204— Configuration valide401— Non authentifié ou 2FA requise404— Application introuvable422— Configuration invalide au regard du schéma
POST /api/v1/applications/{id}/duplicate
`POST /applications/{id}/duplicate` (§19.5, §7.2) — nécessite `ApplicationsWrite`. Consomme
id(path, requis) — Identifiant de l'application à dupliquer
200— Copie créée en DRAFT401— Non authentifié ou 2FA requise402— Quota gratuit dépassé, abonnement requis (§7.2)403— CSRF invalide ou permission refusée404— Application introuvable
GET /api/v1/applications/{id}/icon
`GET /applications/{id}/icon` — icône fournie par le développeur (404 si aucune : les
id(path, requis) — Identifiant de l'application
200— Icône enregistrée404— Aucune icône fournie
PUT /api/v1/applications/{id}/icon
`PUT /applications/{id}/icon` — enregistre l'icône (nécessite `ApplicationsWrite`). Elle
Corps de requête : JSON
id(path, requis) — Identifiant de l'application
204— Icône enregistrée404— Application introuvable422— Image refusée
DELETE /api/v1/applications/{id}/icon
`DELETE /applications/{id}/icon` — retire l'icône fournie (retour à l'icône du manifeste).
id(path, requis) — Identifiant de l'application
204— Icône retirée
POST /api/v1/applications/{id}/restore
`POST /applications/{id}/restore` (§5.8, §19.5) — nécessite `ApplicationsWrite`.
id(path, requis) — Identifiant de l'application
204— Application restaurée à son état précédent401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Application introuvable409— L'application n'est pas archivée
GET /api/v1/applications/{id}/versions
`GET /applications/{id}/versions` (§19.5).
id(path, requis) — Identifiant de l'application
200— Versions, de la plus récente à la plus ancienne401— Non authentifié ou 2FA requise404— Application introuvable
POST /api/v1/applications/{id}/versions
`POST /applications/{id}/versions` (§16.1-16.2, §19.5) — nécessite `ApplicationsWrite`.
Corps de requête : JSON
id(path, requis) — Identifiant de l'application
200— Version créée401— Non authentifié ou 2FA requise403— CSRF invalide ou permission refusée404— Application introuvable409— Version déjà existante pour cette application422— SemVer invalide ou code de version non croissant