Files
headquarter/docs/api/tool-types.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.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"
}