POST
/
api
/
v1
/
agents
curl --request POST \
  --url https://api.elemente.ai/api/v1/agents \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '{
  "agentType": "AI",
  "roleText": "Customer Support",
  "capabilities": [],
  "inboundCapability": "answer",
  "jobDescriptions": "Customer Support",
  "baseInstructions": "Welcome to our customer support!",
  "temperature": "0.7",
  "modelProvider": "OpenAI",
  "modelName": "gpt-4o",
  "actions": [
    "<string>"
  ],
  "leadQualification": "<string>",
  "globalActions": [
    "<string>"
  ],
  "skillId": "Customer Support Representative",
  "skills": [
    "<string>"
  ],
  "language": "en-US",
  "voiceStability": 0.5,
  "voiceSpeed": 1.5,
  "voiceId": "1234567890",
  "optimizeStreamingLatency": true,
  "sendFillerWords": false,
  "sendInitialMessage": true,
  "fillerWords": [
    "Got it.",
    "Understood",
    "Awesome"
  ],
  "cutoffResponses": [
    "Can you repeat that?",
    "Sorry, I didn'\''t get that.",
    "I didn'\''t understand that.",
    "Can you talk a little bit slow?"
  ],
  "enableCutoffResponses": true,
  "endCallOnGoodBye": true,
  "goodByePhrases": [
    "Goodbye",
    "Talk to you later"
  ],
  "allowedIdleTime": 10,
  "checkHumanPresence": true,
  "checkHumanPresenceCount": 5,
  "allowInterruption": true,
  "interruptionSensitivity": "high",
  "functionality": "interactive",
  "interactionSettings": {
    "channel": "call",
    "direction": "outbound",
    "inbound": true,
    "outbound": true
  },
  "name": "John Doe",
  "nickname": "John Seller",
  "lastname": "Doe",
  "imageURL": "https://example.com/image.jpg",
  "phone": "+1234567890",
  "isInbound": false,
  "workspace": false
}'
{
  "id": "1234567890",
  "name": "John Doe",
  "email": "john.doe@example.com",
  "language": "en-US",
  "active": true,
  "voiceSpeed": 1.5,
  "voiceId": "1234567890",
  "capabilities": [
    "capability1",
    "capability2"
  ],
  "jobDescriptions": "Job description 1",
  "roleText": "Role text 1",
  "actions": [
    {
      "id": "1234567890",
      "name": "Action 1",
      "action": "action1",
      "parameters": {}
    }
  ],
  "skills": [
    {
      "id": "1234567890",
      "name": "Skill 1",
      "description": "Description of the skill 1",
      "language": "en-US",
      "active": true
    }
  ],
  "phone": "+1234567890",
  "updatedAt": "2022-01-01T00:00:00.000Z",
  "createdAt": "2022-01-01T00:00:00.000Z"
}

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Body

application/json
Input data for creating an AI agent
leadQualification
string
required

List of actions the agent can perform

functionality
string
required

Defines the primary purpose of the agent. Use 'interactive' for agents that handle customer interactions (e.g., calls, whatsapp).

Example:

"interactive"

lastname
string | null
required

The last name of the voicebot

Example:

"Doe"

imageURL
string | null
required

The image URL of the voicebot

Example:

"https://example.com/image.jpg"

phone
string | null
required

The phone number of the voicebot

Example:

"+1234567890"

isInbound
boolean | null
required

Whether the voicebot is inbound or outbound

Example:

false

workspace
string | null
required

Whether the voicebot is inbound or outbound

Example:

false

agentType
string

The type of the agent, either AI or human

Example:

"AI"

roleText
string | null

The role text of the voicebot

Example:

"Customer Support"

capabilities
string[] | null

The capabilities of the voicebot

Example:
[]
inboundCapability
string | null

The inbound capability of the voicebot

Example:

"answer"

jobDescriptions
string | null

The job descriptions of the voicebot

Example:

"Customer Support"

baseInstructions
string | null

The base instructions of the voicebot

Example:

"Welcome to our customer support!"

temperature
number

Temperature value for AI responses, which affects randomness in replies

Example:

"0.7"

modelProvider
string

The model provider for the AI, such as OpenAI or Google

Example:

"OpenAI"

modelName
string

The name of the AI model to be used, should be a chat model

Example:

"gpt-4o"

actions
string[]

List of actions the agent can perform

globalActions
string[]

List of global action IDs the agent can perform

skillId
string

Skill or capability the agent possesses

Example:

"Customer Support Representative"

skills
string[]

List of skills or capabilities the agent possesses

language
string | null

The language of the voicebot

Example:

"en-US"

voiceStability
number | null

The voice stability of the voicebot

Example:

0.5

voiceSpeed
number | null

The voice speed of the voicebot

Example:

1.5

voiceId
string | null

The voice ID of the voicebot

Example:

"1234567890"

optimizeStreamingLatency
boolean

Whether to optimize latency during streaming responses

Example:

true

sendFillerWords
boolean

Whether to send filler words when pausing (used for simulating hesitation)

Example:

false

sendInitialMessage
boolean

whether to send the initial message when the conversation starts

Example:

true

fillerWords
string[]

List of filler words the agent might use

Example:
["Got it.", "Understood", "Awesome"]
cutoffResponses
string[]

Responses that should be cut off when the agent is interrupted

Example:
[
  "Can you repeat that?",
  "Sorry, I didn't get that.",
  "I didn't understand that.",
  "Can you talk a little bit slow?"
]
enableCutoffResponses
boolean

Responses cut off enable

Example:

true

endCallOnGoodBye
boolean

Whether the agent should end the call when hearing a goodbye phrase

Example:

true

goodByePhrases
string[]

List of phrases that signify the end of the call

Example:
["Goodbye", "Talk to you later"]
allowedIdleTime
number

The allowed idle time before the agent terminates the call

Example:

10

checkHumanPresence
boolean

Whether the agent should check if a human is present in the call

Example:

true

checkHumanPresenceCount
number

How many times the agent checks for human presence before terminating the call

Example:

5

allowInterruption
boolean

Whether the agent allows interruptions during its responses

Example:

true

interruptionSensitivity
string

The sensitivity level of interruptions, e.g., high, medium, low

Example:

"high"

interactionSettings
object

Specifies the settings for interactive agents.

name
string

The name of the voicebot

Example:

"John Doe"

nickname
string

The nickname of the voicebot, only used for display purposes

Example:

"John Seller"

Response

201
application/json
The created AI agent
id
string
required

The id of the agent

Example:

"1234567890"

name
string | null
required

The name of the agent

Example:

"John Doe"

email
string | null
required

The email of the agent

Example:

"john.doe@example.com"

language
string | null
required

The language of the agent

Example:

"en-US"

active
boolean | null
required

The active status of the agent

Example:

true

voiceSpeed
number | null
required

The voice speed of the agent

Example:

1.5

voiceId
string | null
required

The voice id of the agent

Example:

"1234567890"

capabilities
string[] | null
required

The capabilities of the agent

Example:
["capability1", "capability2"]
jobDescriptions
string | null
required

The job descriptions of the agent

Example:

"Job description 1"

roleText
string | null
required

The role text of the agent

Example:

"Role text 1"

actions
string[] | null
required

The actions of the agent

Example:
[
  {
    "id": "1234567890",
    "name": "Action 1",
    "action": "action1",
    "parameters": {}
  }
]
skills
string[] | null
required

The skills of the agent

Example:
[
  {
    "id": "1234567890",
    "name": "Skill 1",
    "description": "Description of the skill 1",
    "language": "en-US",
    "active": true
  }
]
phone
string | null
required

The phone number of the agent

Example:

"+1234567890"

updatedAt
string | null
required

The updatedAt date of the agent

Example:

"2022-01-01T00:00:00.000Z"

createdAt
string | null
required

The createdAt date of the agent

Example:

"2022-01-01T00:00:00.000Z"