Skip to main content
POST
create an agent

Authorizations

Authorization
string
header
required

your rumik api key, e.g. rk_live_.... create one in the rumik dashboard.

Body

application/json

the body of POST /v1/agents.

name
string
required

the agent's name, up to 120 characters.

Maximum string length: 120
systemInstruction
string
required

the persona — what the agent is, how it behaves. up to 8000 characters. {name} reads a variable, {{tool_name}} attaches a tool. the language and voice rules are added server-side; do not write them.

Maximum string length: 8000
greeting
string
required

the first thing the agent says. up to 1000 characters; may use {name} variables.

Maximum string length: 1000
languages
string[] | null

only for a voice whose multiLanguage is true in GET /v1/voices: the languages the agent speaks, up to 11 of that engine's languages. the call starts in the first; after that the agent replies in whichever of them the caller speaks. unset = ["english"]. on any other voice a one-item list is read as language and a longer one is refused with 400 agent_language_not_supported.

callSettings
AgentCallSettings · object | null

call behaviour: background_noise mixes a quiet room tone under the voice; idle_ladder nudges a silent caller and ends the call if they stay silent. both off by default.

ttsConfig
AgentTtsConfig · object

the voice: model (muga | mulberry | spider; GET /v1/voices lists the engines your account may use), and for an engine with named voices a voice and a style description. default {"model": "muga"}.

language
string | null

conversation language for a single-language voice (muga, mulberry, spider) — english, hinglish or hindi (see GET /v1/voices for what each engine offers). unset = the engine's default. stored as null on a voice whose multiLanguage is true, which uses languages.

source
string
default:scratch

scratch (default) or template.

templateSlug
string | null

the template this agent was created from, when source is template.

Maximum string length: 40
versionName
string | null

a name for the v1 this agent is seeded with, e.g. first cut.

Maximum string length: 120

Response

created.

an agent as the account sees it: identity plus the live configuration.

id
string<uuid>
required

the agent's UUID.

ownerUserId
string<uuid>
required

your account id.

name
string
required
systemInstruction
string
required

the persona the live version answers with. a pending draft is under GET /v1/agents/{agent_ref}/versions/draft.

greeting
string
required

the live greeting.

ttsConfig
AgentTtsConfig · object
required

the live voice config.

source
string
required

scratch or template.

handle
string
required

the agent's short public handle (ua_…). accepted wherever an agent is named.

createdAt
string<date-time>
required

when the agent was created.

updatedAt
string<date-time>
required

the last save (draft edits included).

callSettings
AgentCallSettings · object

the live call behaviour.

language
string | null

the live conversation language, or null for the engine's default (always null on a voice whose multiLanguage is true).

languages
string[] | null

the live languages of an agent on a voice whose multiLanguage is true, first = the one a call starts in; null on every other voice.

templateSlug
string | null

the template it was created from, if any.

inboundPhoneNumber
string | null

the E.164 number this agent answers (a rented number or a SIP trunk connected to it), or null.

deployed
boolean
default:false

true once a version has been deployed. until then the agent answers no calls and cannot be connected to a number.