Skip to content

Profiles & Templates API

Profiles and templates are configuration-driven session blueprints. Profiles define runtime settings (model, resources, MCP servers). Templates define workspace layouts (repos, setup scripts) and include runtime settings.

All endpoints are prefixed with /api/v1/volundr.

Profile endpoints

Method Path Description
GET /profiles List profiles (optional workload_type filter)
GET /profiles/{name} Get a profile by name
POST /profiles Create a profile
PUT /profiles/{name} Update a profile
DELETE /profiles/{name} Delete a profile

Template endpoints

Method Path Description
GET /templates List templates (optional workload_type filter)
GET /templates/{name} Get a template by name

Templates are read-only — they come from YAML config or Kubernetes CRDs.

Profile model

{
  "name": "gpu-heavy",
  "description": "GPU-accelerated session",
  "workload_type": "session",
  "model": "claude-sonnet-4-20250514",
  "system_prompt": "You are a helpful assistant...",
  "resource_config": {
    "cpu": "4",
    "memory": "16Gi",
    "gpu": "1"
  },
  "mcp_servers": [
    {"name": "filesystem", "type": "stdio"}
  ],
  "env_vars": {"PYTHONPATH": "/workspace"},
  "is_default": false
}

Template model

Templates extend profiles with workspace configuration:

{
  "name": "python-monorepo",
  "description": "Multi-package Python workspace",
  "repos": [
    {"url": "github.com/org/repo", "branch": "main", "path": "/workspace/repo"}
  ],
  "setup_scripts": ["uv sync --dev", "npm install"],
  "workspace_layout": {"root": "/workspace"},
  "workload_type": "session",
  "model": "claude-sonnet-4-20250514",
  "is_default": false
}