Skip to main content
POST
/
api
/
v1
/
assistants
/
create
Create Assistant
curl --request POST \
  --url https://api.voicebot.studio/api/v1/assistants/create \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "name": "<string>",
  "model": {
    "messages": [
      {
        "content": "<string>",
        "role": "<string>"
      }
    ],
    "provider": "standard",
    "model": "standard",
    "tools": [
      {
        "type": "dtmf",
        "async": false,
        "messages": [
          {
            "type": "request-start",
            "contents": [
              {
                "type": "text",
                "text": "<string>",
                "language": "aa"
              }
            ],
            "content": "<string>",
            "conditions": [
              {
                "operator": "eq",
                "param": "<string>",
                "value": {}
              }
            ]
          }
        ],
        "function": {
          "name": "<string>",
          "strict": false,
          "description": "<string>",
          "parameters": {
            "type": "object",
            "properties": {},
            "required": [
              "<string>"
            ]
          }
        },
        "server": {
          "url": "<string>",
          "timeoutSeconds": 20,
          "secret": "<string>",
          "headers": {}
        }
      }
    ],
    "toolIds": [
      "<string>"
    ],
    "temperature": 123,
    "maxTokens": 123,
    "numFastTurns": 123,
    "knowledgeBase": {
      "topK": 123,
      "fileIds": [
        "<string>"
      ],
      "provider": "canonical"
    },
    "fallbackModels": [
      "standard"
    ],
    "semanticCachingEnabled": true,
    "emotionRecognitionEnabled": true
  },
  "voice": {
    "model": "standard",
    "style": 123,
    "voiceId": "Robert",
    "language": "<string>",
    "chunkPlan": {
      "enabled": true,
      "minCharacters": 30,
      "punctuationBoundaries": [
        "<string>"
      ],
      "formatPlan": {
        "enabled": true,
        "numberToDigitsCutoff": 2025,
        "replacements": [
          {
            "key": "<string>",
            "value": "<string>",
            "type": "exact"
          }
        ]
      }
    },
    "fillerInjectionEnabled": true,
    "provider": "standard",
    "stability": 123,
    "similarityBoost": 123,
    "useSpeakerBoost": false,
    "enableSsmlParsing": false,
    "optimizeStreamingLatency": 3
  },
  "firstMessageMode": "assistant-speaks-first",
  "hipaaEnabled": false,
  "clientMessages": [
    "<string>"
  ],
  "serverMessages": [
    "end-of-call-report"
  ],
  "silenceTimeoutSeconds": 123,
  "maxDurationSeconds": 123,
  "backgroundSound": "off",
  "backgroundDenoisingEnabled": true,
  "modelOutputInMessagesEnabled": true,
  "transportConfigurations": [
    {
      "provider": "twilio",
      "timeout": 123,
      "record": true,
      "recordingChannels": "mono"
    }
  ],
  "firstMessage": "<string>",
  "voicemailDetection": {
    "enabled": true,
    "provider": "<string>",
    "machineDetectionTimeout": 123,
    "voicemailDetectionTypes": [
      "machine_end_beep",
      "machine_end_silence"
    ],
    "machineDetectionSilenceTimeout": 123,
    "machineDetectionSpeechThreshold": 123,
    "machineDetectionSpeechEndThreshold": 123
  },
  "voicemailMessage": "",
  "endCallMessage": "<string>",
  "endCallPhrases": [
    "<string>"
  ],
  "metadata": {},
  "serverUrl": "<string>",
  "serverUrlSecret": "<string>",
  "analysisPlan": {
    "successEvaluationRubric": "NumericScale",
    "successEvaluationRequestTimeoutSeconds": 123,
    "successEvaluationPrompt": "<string>",
    "structuredDataSchema": {
      "type": "string",
      "items": {},
      "properties": {},
      "description": "<string>",
      "required": [
        "<string>"
      ]
    },
    "structuredDataRequestTimeoutSeconds": 123,
    "structuredDataPrompt": "<string>",
    "summaryPrompt": "<string>",
    "summaryRequestTimeoutSeconds": 123
  },
  "artifactPlan": {
    "transcriptPlan": {
      "enabled": true,
      "userName": "<string>",
      "assistantName": "<string>"
    },
    "recordingEnabled": true,
    "videoRecordingEnabled": true,
    "recordingPath": "<string>"
  },
  "messagePlan": {
    "idleMessages": [
      "<string>"
    ],
    "idleMessageMaxSpokenCount": 123,
    "idleTimeoutSeconds": 123
  },
  "startSpeakingPlan": {
    "waitSeconds": 123,
    "smartEndpointingEnabled": true,
    "transcriptionEndpointingPlan": {
      "onPunctuationSeconds": 123,
      "onNoPunctuationSeconds": 123,
      "onNumberSeconds": 123
    }
  },
  "stopSpeakingPlan": {
    "numWords": 123,
    "voiceSeconds": 123,
    "backoffSeconds": 123
  },
  "monitorPlan": {
    "listenEnabled": true,
    "controlEnabled": true
  },
  "transcriber": {
    "provider": "standard",
    "model": "standard",
    "language": "<string>",
    "smartFormat": true,
    "languageDetectionEnabled": true,
    "keywords": [
      "<string>"
    ],
    "endpointing": 123
  },
  "dialKeypadFunctionEnabled": true,
  "endCallFunctionEnabled": true,
  "forwardingPhoneNumber": "<string>"
}
'
{
  "id": "<string>",
  "name": "<string>",
  "organizationId": "<string>",
  "createdBy": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "model": {
    "messages": [
      {
        "content": "<string>",
        "role": "<string>"
      }
    ],
    "provider": "standard",
    "model": "standard",
    "tools": [
      {
        "type": "dtmf",
        "async": false,
        "messages": [
          {
            "type": "request-start",
            "contents": [
              {
                "type": "text",
                "text": "<string>",
                "language": "aa"
              }
            ],
            "content": "<string>",
            "conditions": [
              {
                "operator": "eq",
                "param": "<string>",
                "value": {}
              }
            ]
          }
        ],
        "function": {
          "name": "<string>",
          "strict": false,
          "description": "<string>",
          "parameters": {
            "type": "object",
            "properties": {},
            "required": [
              "<string>"
            ]
          }
        },
        "server": {
          "url": "<string>",
          "timeoutSeconds": 20,
          "secret": "<string>",
          "headers": {}
        }
      }
    ],
    "toolIds": [
      "<string>"
    ],
    "temperature": 123,
    "maxTokens": 123,
    "numFastTurns": 123,
    "knowledgeBase": {
      "topK": 123,
      "fileIds": [
        "<string>"
      ],
      "provider": "canonical"
    },
    "fallbackModels": [
      "standard"
    ],
    "semanticCachingEnabled": true,
    "emotionRecognitionEnabled": true
  },
  "voice": {
    "model": "standard",
    "style": 123,
    "voiceId": "Robert",
    "language": "<string>",
    "chunkPlan": {
      "enabled": true,
      "minCharacters": 30,
      "punctuationBoundaries": [
        "<string>"
      ],
      "formatPlan": {
        "enabled": true,
        "numberToDigitsCutoff": 2025,
        "replacements": [
          {
            "key": "<string>",
            "value": "<string>",
            "type": "exact"
          }
        ]
      }
    },
    "fillerInjectionEnabled": true,
    "provider": "standard",
    "stability": 123,
    "similarityBoost": 123,
    "useSpeakerBoost": false,
    "enableSsmlParsing": false,
    "optimizeStreamingLatency": 3
  },
  "transcriber": {
    "provider": "standard",
    "model": "standard",
    "language": "<string>",
    "smartFormat": true,
    "languageDetectionEnabled": true,
    "keywords": [
      "<string>"
    ],
    "endpointing": 123
  },
  "analysisPlan": {
    "successEvaluationRubric": "NumericScale",
    "successEvaluationRequestTimeoutSeconds": 123,
    "successEvaluationPrompt": "<string>",
    "structuredDataSchema": {
      "type": "string",
      "items": {},
      "properties": {},
      "description": "<string>",
      "required": [
        "<string>"
      ]
    },
    "structuredDataRequestTimeoutSeconds": 123,
    "structuredDataPrompt": "<string>",
    "summaryPrompt": "<string>",
    "summaryRequestTimeoutSeconds": 123
  },
  "serverUrl": "<string>",
  "serverUrlSecret": "<string>",
  "artifactPlan": {
    "transcriptPlan": {
      "enabled": true,
      "userName": "<string>",
      "assistantName": "<string>"
    },
    "recordingEnabled": true,
    "videoRecordingEnabled": true,
    "recordingPath": "<string>"
  },
  "messagePlan": {
    "idleMessages": [
      "<string>"
    ],
    "idleMessageMaxSpokenCount": 123,
    "idleTimeoutSeconds": 123
  },
  "startSpeakingPlan": {
    "waitSeconds": 123,
    "smartEndpointingEnabled": true,
    "transcriptionEndpointingPlan": {
      "onPunctuationSeconds": 123,
      "onNoPunctuationSeconds": 123,
      "onNumberSeconds": 123
    }
  },
  "stopSpeakingPlan": {
    "numWords": 123,
    "voiceSeconds": 123,
    "backoffSeconds": 123
  },
  "monitorPlan": {
    "listenEnabled": true,
    "controlEnabled": true
  },
  "clientMessages": [
    "<string>"
  ],
  "dialKeypadFunctionEnabled": true,
  "endCallFunctionEnabled": true,
  "forwardingPhoneNumber": "<string>"
}

Authorizations

X-API-Key
string
header
required

Body

application/json
name
string | null
model
CreateAssistantDtoModel · object
voice
CreateAssistantDtoVoice · object
firstMessageMode
enum<string> | null
Available options:
assistant-speaks-first,
assistant-speaks-first-with-model-generated-message,
assistant-waits-for-user
hipaaEnabled
boolean | null
default:false
clientMessages
string[] | null
serverMessages
enum<string>[] | null

"end-of-call-report",

Available options:
end-of-call-report
silenceTimeoutSeconds
number | null
maxDurationSeconds
number | null
backgroundSound
enum<string> | null

"off", "office"

Available options:
off,
office
backgroundDenoisingEnabled
boolean | null
modelOutputInMessagesEnabled
boolean | null
transportConfigurations
TransportConfigurationTwilio · object[] | null
firstMessage
string | null
voicemailDetection
VoicemailDetection · object
voicemailMessage
string | null
default:""
endCallMessage
string | null
endCallPhrases
string[] | null
metadata
Metadata · object
serverUrl
string | null

Server URL must match either workflow.amira.bot or workflow.voicebot.studio

serverUrlSecret
string | null
analysisPlan
changedAssistantAnalysisPlan · object

This is the analysis plan for the assistant.

artifactPlan
ArtifactPlan · object
messagePlan
MessagePlan · object
startSpeakingPlan
StartSpeakingPlan · object
stopSpeakingPlan
StopSpeakingPlan · object
monitorPlan
MonitorPlan · object
transcriber
CreateAssistantDtoTranscriber · object
dialKeypadFunctionEnabled
boolean | null
endCallFunctionEnabled
boolean | null
forwardingPhoneNumber
string | null

Response

Successful Response

id
string
required
name
string
required
organizationId
string
required
createdBy
string
required
createdAt
string
required
updatedAt
string
required
model
CreateAssistantDtoModel · object
voice
CreateAssistantDtoVoice · object
transcriber
CreateAssistantDtoTranscriber · object
analysisPlan
changedAssistantAnalysisPlan · object

This is the analysis plan for the assistant.

serverUrl
string | null

Server URL must match either workflow.amira.bot or workflow.voicebot.studio

serverUrlSecret
string | null
artifactPlan
ArtifactPlan · object
messagePlan
MessagePlan · object
startSpeakingPlan
StartSpeakingPlan · object
stopSpeakingPlan
StopSpeakingPlan · object
monitorPlan
MonitorPlan · object
clientMessages
string[] | null
dialKeypadFunctionEnabled
boolean | null
endCallFunctionEnabled
boolean | null
forwardingPhoneNumber
string | null