Skip to Content
Wagoo SaaS 1.0.25 is released 🎉
04 API ReferenceProjetsAPI Projets

API Projets

Gérez les projets et les membres.

Lister les projets

GET /api/projects Authorization: Bearer TOKEN

Paramètres

ParamètreTypeDescription
pagenumberNuméro de page (défaut: 1)
limitnumberNombre de résultats (défaut: 10)
statusstringFiltrer par statut (ACTIVE, INACTIVE, ARCHIVED)

Réponse (200)

{ "data": [ { "id": "proj_123", "name": "Mon Projet", "slug": "mon-projet", "description": "Description du projet", "customDomain": null, "isPublic": true, "status": "ACTIVE", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T10:30:00Z" } ], "meta": { "total": 5, "page": 1, "limit": 10 } }

Exemple cURL

curl http://localhost:3000/api/projects \ -H "Authorization: Bearer YOUR_TOKEN"

Obtenir un projet

GET /api/projects/{projectId}

Réponse (200)

{ "data": { ... } }

Créer un projet

POST /api/projects Authorization: Bearer TOKEN Content-Type: application/json

RequĂŞte

{ "name": "Mon Projet", "description": "Description", "slug": "mon-projet", "isPublic": true }

Réponse (201)

{ "data": { ... } }

Exemple cURL

curl -X POST http://localhost:3000/api/projects \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Mon Projet", "description": "Description du projet", "slug": "mon-projet" }'

Modifier un projet

PUT /api/projects/{projectId} Authorization: Bearer TOKEN Content-Type: application/json

RequĂŞte

{ "name": "Nouveau nom", "description": "Nouvelle description", "status": "ACTIVE" }

Réponse (200)

{ "data": { ... } }

Supprimer un projet

DELETE /api/projects/{projectId} Authorization: Bearer TOKEN

Réponse (204)

No content

Membres du projet

Lister les membres

GET /api/projects/{projectId}/members Authorization: Bearer TOKEN

Réponse (200)

{ "data": [ { "id": "member_123", "projectId": "proj_123", "userId": "user_456", "role": "OWNER", "user": { "id": "user_456", "email": "owner@example.com", "name": "Owner" } } ] }

Ajouter un membre

POST /api/projects/{projectId}/members Authorization: Bearer TOKEN Content-Type: application/json

RequĂŞte

{ "email": "newmember@example.com", "role": "MEMBER" }

Réponse (201)

Invitation créée et email envoyé.

Modifier le rĂ´le

PUT /api/projects/{projectId}/members/{memberId} Authorization: Bearer TOKEN Content-Type: application/json

RequĂŞte

{ "role": "OWNER" }

Supprimer un membre

DELETE /api/projects/{projectId}/members/{memberId} Authorization: Bearer TOKEN

Domaines custom

Ajouter un domaine

POST /api/projects/{projectId}/domains Authorization: Bearer TOKEN Content-Type: application/json

RequĂŞte

{ "domain": "monsite.com" }

Vérifier le domaine

POST /api/projects/{projectId}/domains/{domainId}/verify Authorization: Bearer TOKEN

Supprimer un domaine

DELETE /api/projects/{projectId}/domains/{domainId} Authorization: Bearer TOKEN

Erreurs

404 Not Found

Le projet n’existe pas.

403 Forbidden

Vous n’avez pas la permission de modifier ce projet.

Voir Gestion des projets pour plus de détails.

Last updated on