POST
/
v2
/
agent
curl --request POST \
  --url https://api.bolna.dev/v2/agent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "agent_config": {
    "agent_name": "Alfred",
    "agent_welcome_message": "How are you doing Bruce?",
    "webhook_url": null,
    "agent_type": "other",
    "tasks": [
      {
        "task_type": "conversation",
        "tools_config": {
          "llm_agent": {
            "agent_type": "simple_llm_agent",
            "agent_flow_type": "streaming",
            "routes": {
              "embedding_model": "snowflake/snowflake-arctic-embed-m",
              "routes": [
                {
                  "route_name": "politics",
                  "utterances": [
                    "Who do you think will win the elections?",
                    "Whom would you vote for?"
                  ],
                  "response": "Hey, thanks but I do not have opinions on politics",
                  "score_threshold": 0.9
                }
              ]
            },
            "llm_config": {
              "agent_flow_type": "streaming",
              "provider": "openai",
              "family": "openai",
              "model": "gpt-3.5-turbo",
              "summarization_details": null,
              "extraction_details": null,
              "max_tokens": 150,
              "presence_penalty": 0,
              "frequency_penalty": 0,
              "base_url": "https://api.openai.com/v1",
              "top_p": 0.9,
              "min_p": 0.1,
              "top_k": 0,
              "temperature": 0.1,
              "request_json": true
            }
          },
          "synthesizer": {
            "provider": "polly",
            "provider_config": {
              "voice": "Matthew",
              "engine": "generative",
              "sampling_rate": "8000",
              "language": "en-US"
            },
            "stream": true,
            "buffer_size": 150,
            "audio_format": "wav"
          },
          "transcriber": {
            "provider": "deepgram",
            "model": "nova-2",
            "language": "en",
            "stream": true,
            "sampling_rate": 16000,
            "encoding": "linear16",
            "endpointing": 100
          },
          "input": {
            "provider": "twilio",
            "format": "wav"
          },
          "output": {
            "provider": "twilio",
            "format": "wav"
          },
          "api_tools": null
        },
        "toolchain": {
          "execution": "parallel",
          "pipelines": [
            [
              "transcriber",
              "llm",
              "synthesizer"
            ]
          ]
        },
        "task_config": {
          "hangup_after_silence": 10,
          "incremental_delay": 400,
          "number_of_words_for_interruption": 2,
          "hangup_after_LLMCall": false,
          "call_cancellation_prompt": null,
          "backchanneling": false,
          "backchanneling_message_gap": 5,
          "backchanneling_start_delay": 5,
          "ambient_noise": false,
          "ambient_noise_track": "office-ambience",
          "call_terminate": 90
        }
      }
    ]
  },
  "agent_prompts": {
    "task_1": {
      "system_prompt": "What is the Ultimate Question of Life, the Universe, and Everything?"
    }
  }
}'
{
  "agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "created"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
Creates a new agent
agent_config
object
required

Configuration of the agent

agent_prompts
object
required

Prompts to be provided to the agent. It can have multiple tasks of the form task_<task_id>

Response

200
application/json
agent status response
agent_id
string
status
enum<string>
Available options:
created
Example:

"created"