> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compozy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference

> Complete API reference for Compozy base structure configuration.

## JSON Schema

```json https://compozy.dev/schemas/base-structure.json [expandable] theme={"dark"}
{
  "type": "object",
  "required": ["name", "version"],
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the workflow"
    },
    "version": {
      "type": "string",
      "description": "Version of the workflow"
    },
    "description": {
      "type": "string",
      "description": "Description of what the workflow does"
    },
    "author": {
      "$ref": "https://compozy.dev/schemas/authors.json"
    },
    "tools": {
      "$ref": "https://compozy.dev/schemas/tools.json"
    },
    "agents": {
      "$ref": "https://compozy.dev/schemas/agents.json"
    },
    "tasks": {
      "$ref": "https://compozy.dev/schemas/tasks.json"
    },
    "workflows": {
      "$ref": "https://compozy.dev/schemas/workflows.json"
    },
    "env": {
      "type": "object",
      "patternProperties": {
        "^.*$": {
          "type": "string",
          "description": "Environment variable value or reference"
        }
      }
    },
    "memory": {
      "$ref": "https://compozy.dev/schemas/memory.json"
    },
    "trigger": {
      "$ref": "https://compozy.dev/schemas/triggers.json"
    },
    "template-dependencies": {
      "type": "object",
      "properties": {
        "npm": {
          "type": "array",
          "items": { "type": "string" }
        },
        "python": {
          "type": "array",
          "items": { "type": "string" }
        }
      }
    }
  }
}
```

## Parameters

### Base Structure

<ParamField path="name" type="string" required>
  Unique identifier for the workflow
</ParamField>

<ParamField path="version" type="string" required>
  Semantic version (MAJOR.MINOR.PATCH)
</ParamField>

<ParamField path="description" type="string">
  Human-readable workflow description
</ParamField>

<ParamField path="author" type="object">
  Author and contributor information. [See Authors API Reference](/core/base-structure/authors)
</ParamField>

<ParamField path="env" type="object">
  Environment configuration
</ParamField>

<ParamField path="trigger" type="object" required>
  Workflow trigger configuration. [See complete Triggers Reference](/core/base-structure/triggers)
</ParamField>

<ParamField path="template-dependencies" type="object">
  Custom dependencies for template expressions. [Learn more](/core/template-engine/custom-dependencies)

  <Expandable title="Properties">
    <ParamField path="npm" type="array">
      NPM package dependencies
    </ParamField>

    <ParamField path="python" type="array">
      Python package dependencies
    </ParamField>
  </Expandable>
</ParamField>

### Components

<ParamField path="memory" type="object">
  Memory and context settings. [See Memory API Reference](/core/memory/api)
</ParamField>

<ParamField path="tools" type="array">
  Tool definitions and configurations. [See Tools API Reference](/core/tools/api)
</ParamField>

<ParamField path="mcp_servers" type="array">
  MCP Server configurations. [See MCP Server API Reference](/core/mcp/api)
</ParamField>

<ParamField path="agents" type="array">
  AI agent configurations. [See Agents API Reference](/core/agents/api)
</ParamField>

<ParamField path="tasks" type="array">
  Task definitions and flow control. [See Tasks API Reference](/core/tasks/api)
</ParamField>

<ParamField path="workflows" type="object" required>
  Nested workflow definitions and imports. [See Workflows API Reference](/core/workflows/api)
</ParamField>
