API Projets
Gérez les projets et les membres.
Lister les projets
GET /api/projects
Authorization: Bearer TOKENParamètres
| Paramètre | Type | Description |
|---|---|---|
page | number | Numéro de page (défaut: 1) |
limit | number | Nombre de résultats (défaut: 10) |
status | string | Filtrer 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/jsonRequĂŞ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/jsonRequĂŞte
{
"name": "Nouveau nom",
"description": "Nouvelle description",
"status": "ACTIVE"
}Réponse (200)
{
"data": { ... }
}Supprimer un projet
DELETE /api/projects/{projectId}
Authorization: Bearer TOKENRéponse (204)
No content
Membres du projet
Lister les membres
GET /api/projects/{projectId}/members
Authorization: Bearer TOKENRé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/jsonRequĂŞ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/jsonRequĂŞte
{
"role": "OWNER"
}Supprimer un membre
DELETE /api/projects/{projectId}/members/{memberId}
Authorization: Bearer TOKENDomaines custom
Ajouter un domaine
POST /api/projects/{projectId}/domains
Authorization: Bearer TOKEN
Content-Type: application/jsonRequĂŞte
{
"domain": "monsite.com"
}Vérifier le domaine
POST /api/projects/{projectId}/domains/{domainId}/verify
Authorization: Bearer TOKENSupprimer un domaine
DELETE /api/projects/{projectId}/domains/{domainId}
Authorization: Bearer TOKENErreurs
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