Skip to content

Create a forged agent

POST
/api/v1/forge/agents
curl --request POST \
--url https://api.ultimateteam.ai/api/v1/forge/agents \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "isolation_mode": "private", "template": { "allowed_tools": [ "example" ], "credit_cost_per_call": 5, "default_model": "workhorse", "description": "", "max_reflection_rounds": 2, "max_tool_calls": 5, "name": "example", "system_prompt": "example" } }'

Persist a new forged agent for the calling tenant.

RPE-01 (v46.0): chairman-only. Operators can edit existing agents via PUT but only the chairman can create new spend-bearing artefacts.

Media typeapplication/json
ForgedAgentCreateRequest

POST body.

object
isolation_mode
Isolation Mode
string
default: private /^(private|team|delegated)$/
template
required
ForgedAgentTemplateIn

Tenant-supplied template payload for create / update.

object
allowed_tools
Allowed Tools
Array<string>
<= 20 items
credit_cost_per_call
Credit Cost Per Call
integer
default: 5 <= 1000
default_model
Default Model
string
default: workhorse <= 32 characters
description
Description
string
"" <= 500 characters
max_reflection_rounds
Max Reflection Rounds
integer
default: 2 >= 1 <= 5
max_tool_calls
Max Tool Calls
integer
default: 5 >= 1 <= 20
name
required
Name
string
>= 1 characters <= 120 characters
system_prompt
required
System Prompt
string
>= 1 characters <= 10000 characters

Successful Response

Media typeapplication/json
ForgedAgentResponse

Wire shape for read / list endpoints.

object
created_at
required
Created At
string format: date-time
id
required
Id
string format: uuid
isolation_mode
required
Isolation Mode
string
status
required
Status
string
template
required
Template
object
key
additional properties
any
tenant_id
required
Tenant Id
string format: uuid
updated_at
required
Updated At
string format: date-time
version
required
Version
integer
Examplegenerated
{
"created_at": "2026-04-15T12:00:00Z",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"isolation_mode": "example",
"status": "example",
"template": {},
"tenant_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"updated_at": "2026-04-15T12:00:00Z",
"version": 1
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}