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.6 KiB
2.6 KiB
Tool Types API
Tool type management endpoints.
Authentication
All endpoints require authentication (session cookie).
GET /tool-types
Description: List all tool types.
Response
Success (200 OK)
[
{
"id": "uuid",
"name": "code-server",
"display_name": "VS Code Server",
"description": "VS Code in the browser",
"is_builtin": true,
"created_at": "2024-01-01T00:00:00Z"
}
]
POST /tool-types
Description: Create a new tool type.
Request
Request Body
{
"name": "my-tool",
"display_name": "My Custom Tool",
"description": "A custom development tool",
"compose_template": "version: \"3.8\"\nservices:\n tool:\n image: my-image:latest\n container_name: {{TOOL_NAME}}\n volumes:\n - {{REPO_PATH}}:/workspace",
"required_variables": ["TOOL_NAME", "REPO_PATH"]
}
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Yes | Unique identifier |
display_name |
string |
Yes | Human-readable name |
description |
string |
No | Description |
compose_template |
string |
Yes | Docker Compose YAML |
required_variables |
array |
Yes | Required template variables |
Response
Success (201 Created)
{
"id": "uuid",
"name": "my-tool",
"display_name": "My Custom Tool",
"description": "A custom development tool",
"compose_template": "...",
"required_variables": ["TOOL_NAME", "REPO_PATH"],
"is_builtin": false,
"created_at": "2024-01-01T00:00:00Z"
}
Error (400 Bad Request)
{
"detail": "Invalid YAML in compose template"
}
GET /tool-types/{id}
Description: Get tool type details.
Response
Success (200 OK)
{
"id": "uuid",
"name": "code-server",
"display_name": "VS Code Server",
"description": "VS Code in the browser",
"compose_template": "...",
"required_variables": ["TOOL_NAME", "REPO_PATH"],
"is_builtin": true,
"created_at": "2024-01-01T00:00:00Z"
}
PUT /tool-types/{id}
Description: Update a tool type.
Note: Built-in tool types cannot be modified.
Request
Request Body
Same as POST /tool-types.
Response
Success (200 OK)
Returns updated tool type.
Error (403 Forbidden)
{
"detail": "Cannot modify built-in tool types"
}
DELETE /tool-types/{id}
Description: Delete a tool type.
Note: Built-in tool types cannot be deleted.
Response
Success (204 No Content)
Error (403 Forbidden)
{
"detail": "Cannot delete built-in tool types"
}