83f94b1f09
Add complete documentation structure: - Frontend architecture documentation - Database schema documentation - Deployment guides (Docker, Traefik, Authentik, Environment) - Development guides (Setup, Testing, Contributing, Quality Gates) - Deployment architecture documentation - Updated docs README with complete navigation All new features and APIs are now documented. Quality gates: docs only, no code changes
2.4 KiB
2.4 KiB
Projects API
Project management endpoints.
Authentication
All endpoints require authentication (session cookie).
GET /projects
Description: List all projects for the current user.
Response
Success (200 OK)
[
{
"id": "uuid",
"name": "My Project",
"description": "Project description",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
POST /projects
Description: Create a new project.
Request
Request Body
{
"name": "My Project",
"description": "Optional description"
}
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | Project name (max 255 chars) |
description |
string |
No | Project description |
Response
Success (201 Created)
{
"id": "uuid",
"name": "My Project",
"description": "Optional description",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Error (422 Validation Error)
{
"detail": [
{
"loc": ["body", "name"],
"msg": "field required",
"type": "value_error.missing"
}
]
}
GET /projects/{id}
Description: Get project details.
Response
Success (200 OK)
{
"id": "uuid",
"name": "My Project",
"description": "Project description",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
Error (404 Not Found)
{
"detail": "Project not found"
}
PUT /projects/{id}
Description: Update a project.
Request
Request Body
{
"name": "Updated Name",
"description": "Updated description"
}
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
No | New project name |
description |
string |
No | New description |
Response
Success (200 OK)
{
"id": "uuid",
"name": "Updated Name",
"description": "Updated description",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-02T00:00:00Z"
}
DELETE /projects/{id}
Description: Delete a project and all associated repositories.
Response
Success (204 No Content)
Error (404 Not Found)
{
"detail": "Project not found"
}
Warning: This also deletes all repositories and their data. Cannot be undone.