---
title: "Create an agent"
method: POST
path: "/v1/agents"
tags: ["agents"]
---

# Create an agent

`POST /v1/agents`

## Request body

- AgentCreate
  - `name` string, required
  - `description` string, nullable
  - `persona` string, nullable
  - `system_prompt` string, nullable
  - `global_skill_ids` string[], nullable
  - `context_variables` ContextVarSpec[], nullable
    - `name` string, required
    - `type` 'string' | 'int' | 'float' | 'bool' | 'enum', required
    - `source` 'system' | 'derived'
    - `enum_values` string[], nullable
    - `reask_cap` integer, nullable
    - `description` string, nullable
  - `variable_defaults` object, nullable
  - `channel_specific_config` object, nullable
  - `router_config_id` string, uuid, nullable
  - `model_settings` ModelChainEntry
    - `model` string, required
    - `config` ModelConfig
      - `temperature` number, nullable
      - `max_tokens` integer, nullable
      - `top_p` number, nullable
      - `stop_sequences` string[], nullable
      - `reasoning_effort` 'none' | 'low' | 'medium' | 'high' | 'xhigh', nullable
      - `request_timeout_ms` integer, nullable
      - `thinking_budget` integer, nullable
  - `metadata` object, nullable
  - `kb_clearance_level` integer, nullable
  - `kb_audience_tags` string[], nullable
  - `knowledge_gap_analysis_enabled` boolean

## Response `201`

Successful Response

- AgentResponse
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `name` string, required
  - `description` string, nullable
  - `active_revision_id` string, uuid, nullable
  - `active_revision` AgentRevisionResponse
    - `id` string, uuid, required
    - `agent_id` string, uuid, required
    - `name` string, required
    - `description` string, nullable
    - `persona` string, nullable
    - `system_prompt` string, nullable
    - `global_skill_ids` string[], nullable
    - `context_variables` ContextVarSpec[], nullable
      - `name` string, required
      - `type` 'string' | 'int' | 'float' | 'bool' | 'enum', required
      - `source` 'system' | 'derived'
      - `enum_values` string[], nullable
      - `reask_cap` integer, nullable
      - `description` string, nullable
    - `variable_defaults` object, nullable
    - `tool_refs` object[], nullable
    - `knowledge_base_refs` object[], nullable
    - `policies_enabled` boolean
    - `policy_refs` object[], nullable
    - `channel_specific_config` object, nullable
    - `router_config_id` string, uuid, nullable
    - `model_settings` ModelChainEntry
      - `model` string, required
      - `config` ModelConfig
        - `temperature` number, nullable
        - `max_tokens` integer, nullable
        - `top_p` number, nullable
        - `stop_sequences` string[], nullable
        - `reasoning_effort` 'none' | 'low' | 'medium' | 'high' | 'xhigh', nullable
        - `request_timeout_ms` integer, nullable
        - `thinking_budget` integer, nullable
    - `kb_clearance_level` integer, nullable
    - `kb_audience_tags` string[]
    - `created_by` string, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `metadata` object
  - `platform_tools` object
  - `knowledge_gap_analysis_enabled` boolean
  - `release_suite_id` string, uuid, nullable
  - `release_gate_mode` 'off' | 'advisory' | 'blocking' — Per-agent release-gate mode (ENG-727). ``off`` = no release checks; ``advisory`` = compute + display a verdict but never block activation; ``blocking`` = (Phase 2) refuse activation without a fresh passing verdict. Dormant in Phase 1 — only the Phase-2 activation gate reads it.
  - `release_gate_max_failures` integer
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/versions/888bdd5c076e/schema)
