Files
headquarter/docs/api/projects.md
T
Fusion 83f94b1f09 docs: comprehensive documentation overhaul
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
2026-05-19 14:18:20 +02:00

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.