---
title: "Create Component"
method: POST
path: "/components"
tags: ["Components"]
---

# Create Component

`POST /components`

Create a new component (agent, team, or workflow) with initial config.

## Request body

- ComponentCreate
  - `name` string, required — Display name
  - `component_id` string, nullable — Unique identifier for the entity. Auto-generated from name if not provided.
  - `component_type` 'agent' | 'team' | 'workflow', required
  - `description` string, nullable — Optional description
  - `metadata` object, nullable — Optional metadata
  - `config` object, nullable — Optional configuration
  - `label` string, nullable — Optional label (e.g., 'stable')
  - `stage` string — Stage: 'draft' or 'published'
  - `notes` string, nullable — Optional notes
  - `set_current` boolean — Set as current version

## Response `201`

Successful Response

- ComponentResponse
  - `component_id` string, required
  - `component_type` 'agent' | 'team' | 'workflow', required
  - `name` string, nullable
  - `description` string, nullable
  - `current_version` integer, nullable
  - `metadata` object, nullable
  - `created_at` integer, required
  - `updated_at` integer, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/agno/apis/agno-api-reference.md) · [All operations](https://skmtc.net/agno/apis/agno-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agno/agno-api-reference/revisions/5f6149d395d0/schema)
