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": [
      {
        "async": false,
        "messages": [
          {
            "contents": "<any>",
            "type": "request-start",
            "content": "<any>",
            "conditions": "<any>"
          }
        ],
        "type": "dtmf",
        "function": {
          "strict": true,
          "name": "<string>",
          "description": "<string>",
          "parameters": {
            "type": "<any>",
            "properties": "<any>",
            "required": "<any>"
          }
        },
        "server": {
          "timeoutSeconds": 20,
          "url": "<string>",
          "secret": "<string>",
          "headers": {}
        }
      }
    ],
    "toolIds": [
      "<string>"
    ],
    "temperature": 123,
    "maxTokens": 123,
    "numFastTurns": 123,
    "knowledgeBase": {
      "provider": "canonical",
      "topK": 123,
      "fileIds": [
        "<string>"
      ]
    },
    "fallbackModels": [
      "standard"
    ],
    "semanticCachingEnabled": true,
    "emotionRecognitionEnabled": true
  },
  "voice": {
    "fillerInjectionEnabled": true,
    "model": "standard",
    "style": 123,
    "voiceId": "Robert",
    "language": "<string>",
    "provider": "standard",
    "stability": 123,
    "similarityBoost": 123,
    "useSpeakerBoost": true,
    "enableSsmlParsing": true,
    "optimizeStreamingLatency": 123,
    "chunkPlan": {
      "enabled": true,
      "minCharacters": 40.5,
      "punctuationBoundaries": [
        "<string>"
      ],
      "formatPlan": {
        "enabled": true,
        "numberToDigitsCutoff": 1,
        "replacements": [
          {
            "type": "exact",
            "key": "<string>",
            "value": "<string>"
          }
        ]
      }
    }
  },
  "firstMessageMode": "assistant-speaks-first",
  "hipaaEnabled": true,
  "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_start"
    ],
    "machineDetectionSilenceTimeout": 123,
    "machineDetectionSpeechThreshold": 123,
    "machineDetectionSpeechEndThreshold": 123
  },
  "voicemailMessage": "<string>",
  "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>",
  "model": {
    "messages": [
      {
        "content": "<string>",
        "role": "<string>"
      }
    ],
    "provider": "standard",
    "model": "standard",
    "tools": [
      {
        "async": false,
        "messages": [
          {
            "contents": "<any>",
            "type": "request-start",
            "content": "<any>",
            "conditions": "<any>"
          }
        ],
        "type": "dtmf",
        "function": {
          "strict": true,
          "name": "<string>",
          "description": "<string>",
          "parameters": {
            "type": "<any>",
            "properties": "<any>",
            "required": "<any>"
          }
        },
        "server": {
          "timeoutSeconds": 20,
          "url": "<string>",
          "secret": "<string>",
          "headers": {}
        }
      }
    ],
    "toolIds": [
      "<string>"
    ],
    "temperature": 123,
    "maxTokens": 123,
    "numFastTurns": 123,
    "knowledgeBase": {
      "provider": "canonical",
      "topK": 123,
      "fileIds": [
        "<string>"
      ]
    },
    "fallbackModels": [
      "standard"
    ],
    "semanticCachingEnabled": true,
    "emotionRecognitionEnabled": true
  },
  "voice": {
    "fillerInjectionEnabled": true,
    "model": "standard",
    "style": 123,
    "voiceId": "Robert",
    "language": "<string>",
    "provider": "standard",
    "stability": 123,
    "similarityBoost": 123,
    "useSpeakerBoost": true,
    "enableSsmlParsing": true,
    "optimizeStreamingLatency": 123,
    "chunkPlan": {
      "enabled": true,
      "minCharacters": 40.5,
      "punctuationBoundaries": [
        "<string>"
      ],
      "formatPlan": {
        "enabled": true,
        "numberToDigitsCutoff": 1,
        "replacements": [
          {
            "type": "exact",
            "key": "<string>",
            "value": "<string>"
          }
        ]
      }
    }
  },
  "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>",
  "organizationId": "<string>",
  "createdBy": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>"
}

Authorizations

X-API-Key
string
header
required

Body

application/json
name
string | null
model
object | null
voice
object | null
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
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
object | null
voicemailMessage
string | null
default:""
endCallMessage
string | null
endCallPhrases
string[] | null
metadata
object | null
serverUrl
string | null

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

serverUrlSecret
string | null
analysisPlan
object | null

This is the analysis plan for the assistant.

artifactPlan
object | null
messagePlan
object | null
startSpeakingPlan
object | null
stopSpeakingPlan
object | null
monitorPlan
object | null
transcriber
object | null
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
object | null
voice
object | null
transcriber
object | null
analysisPlan
object | null

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
object | null
messagePlan
object | null
startSpeakingPlan
object | null
stopSpeakingPlan
object | null
monitorPlan
object | null
clientMessages
string[] | null
dialKeypadFunctionEnabled
boolean | null
endCallFunctionEnabled
boolean | null
forwardingPhoneNumber
string | null