Skip to main content
POST
Create agent

Authorizations

Authorization
string
header
required

An opaque Omnara personal or organization bearer token.

Headers

Idempotency-Key
string

Idempotency key for replay-safe mutating requests.

Required string length: 1 - 255

Path Parameters

orgID
string
required

Organization ID (org_...).

Pattern: ^org_[a-z2-7]{26}$
projectID
string
required

Project ID (proj_...).

Pattern: ^proj_[a-z2-7]{26}$

Body

application/json

Send at least one of profile, config, or config_source, and not both config and config_source. With only profile, the agent runs the profile's current config. With profile and config or config_source, the agent is attributed to the profile but runs the given config, which need not be one of the profile's versions. config_source is compiled and saved as a new config during the launch.

profile
string
required
Pattern: ^aprf_[a-z2-7]{26}$
config
string

Agent config ID (acfg_...).

Pattern: ^acfg_[a-z2-7]{26}$
config_source
object

An agent config to compile. YAML sources are stored verbatim, so comments and formatting survive; JSON sources, as text or as an object, are stored canonicalized, so the same JSON definition always maps to the same config.

name
string

Optional agent name. Omit to inherit the profile name when present; send an empty string to leave the agent unnamed.

Maximum string length: 64
message
string

Optional initial text message. Mutually exclusive with initial_input.

tools
object

Additional integration tool entries (int____) and optional list_interaction_handlers or set_interaction_handler tools for this agent. Other tool names are not accepted here. Existing config entries win unchanged. Requires project management permission. The derived config is created atomically with the agent and initial input; the profile is unchanged.

subscriptions
object[]

Integration-owned conversation subscriptions attached atomically with launch and initial input. Requires project management permission. Subscriptions alone preserve the pinned config. Launch replay never adds or restores subscriptions.

Maximum array length: 100
interaction_handlers
object

Additional integration interaction handlers, keyed by immutable integration name with empty object values. Slack and Discord handlers require an assigned conversation and accept empty runtime args. Adding a handler does not assign a conversation. Existing entries win unchanged. Requires project management permission.

initial_input
object

Initial queued text input, committed atomically with the agent and any derived config. Mutually exclusive with message. Initial inline media is not supported; upload it through the agent input endpoint after launch.

Response

Current state of the previously created agent.

agent
object
required