curl --request POST \
--url https://api.cozmox.ai/campaign \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Q2 Sales Campaign",
"phoneNumberId": "<string>",
"customers": [
{
"numberE164CheckEnabled": true,
"extension": null,
"assistantOverrides": {
"transcriber": {
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": false,
"formatTurns": false,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": [
"<string>"
],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": true
},
"model": {
"provider": "anthropic",
"messages": [
{
"content": "<string>"
}
],
"tools": [
{
"type": "apiRequest",
"url": "<string>",
"messages": [
{
"type": "request-start",
"contents": [
"<unknown>"
],
"blocking": false,
"content": "<string>",
"conditions": [
{
"param": "<string>",
"value": "<string>"
}
]
}
],
"timeoutSeconds": 20,
"name": "<string>",
"description": "<string>",
"variableExtractionPlan": {
"aliases": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}
],
"toolIds": [
"<string>"
],
"knowledgeBaseId": "<string>",
"temperature": 1,
"maxTokens": 5025,
"emotionRecognitionEnabled": true,
"numFastTurns": 1
},
"voice": {
"provider": "azure",
"cachingEnabled": true,
"chunkPlan": {
"enabled": true,
"minCharacters": 30,
"punctuationBoundaries": [
"。",
",",
".",
"!",
"?",
";",
"،",
"۔",
"।",
"॥",
"|",
"||",
",",
":"
],
"formatPlan": {
"enabled": true,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": false
}
]
}
},
"speed": 1.25
},
"firstMessage": "Hello! How can I help you today?",
"firstMessageInterruptionsEnabled": false,
"firstMessageMode": "assistant-speaks-first",
"voicemailDetection": {
"provider": "google",
"beepMaxAwaitSeconds": 30,
"backoffPlan": {
"startAtSeconds": 5,
"frequencySeconds": 5,
"maxRetries": 6
}
},
"clientMessages": [
"conversation-update",
"function-call",
"hang",
"model-output",
"speech-update",
"status-update",
"transfer-update",
"transcript",
"tool-calls",
"user-interrupted",
"voice-input",
"workflow.node.started"
],
"serverMessages": [
"conversation-update",
"end-of-call-report",
"function-call",
"hang",
"speech-update",
"status-update",
"tool-calls",
"transfer-destination-request",
"user-interrupted"
],
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"backgroundSound": "office",
"backgroundDenoisingEnabled": false,
"modelOutputInMessagesEnabled": false,
"transportConfigurations": [
{
"provider": "twilio",
"timeout": 60,
"record": false,
"recordingChannels": "mono"
}
],
"credentials": [
{
"provider": "anthropic",
"apiKey": "<string>",
"name": "<string>"
}
],
"hooks": [
{
"on": "call.ending",
"do": [
{
"type": "transfer",
"destination": {
"type": "number",
"number": "<string>",
"message": "<string>",
"numberE164CheckEnabled": true,
"extension": "<string>",
"callerId": "<string>",
"description": "<string>"
}
}
],
"filters": [
{
"type": "oneOf",
"key": "<string>",
"oneOf": [
"<string>"
]
}
]
}
],
"variableValues": {},
"name": "<string>",
"voicemailMessage": "<string>",
"endCallMessage": "<string>",
"endCallPhrases": [
"<string>"
],
"compliancePlan": {
"hipaaEnabled": {
"hipaaEnabled": false
},
"pciEnabled": {
"pciEnabled": false
}
},
"metadata": {},
"backgroundSpeechDenoisingPlan": {
"smartDenoisingPlan": {
"enabled": false
},
"fourierDenoisingPlan": {
"enabled": false,
"mediaDetectionEnabled": true,
"staticThreshold": -35,
"baselineOffsetDb": -15,
"windowSizeMs": 3000,
"baselinePercentile": 85
}
},
"analysisPlan": {
"minMessagesThreshold": 1,
"summaryPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"structuredDataPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"structuredDataMultiPlan": [
{
"key": "<string>",
"plan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
}
}
],
"successEvaluationPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
}
},
"artifactPlan": {
"recordingEnabled": true,
"videoRecordingEnabled": false,
"pcapEnabled": true,
"pcapS3PathPrefix": "/pcaps",
"transcriptPlan": {
"enabled": true,
"assistantName": "<string>",
"userName": "<string>"
},
"recordingPath": "<string>"
},
"messagePlan": {
"idleMessages": [
"<string>"
],
"idleMessageMaxSpokenCount": 5.5,
"idleMessageResetCountOnUserSpeechEnabled": true,
"idleTimeoutSeconds": 32.5,
"silenceTimeoutMessage": "<string>"
},
"startSpeakingPlan": {
"waitSeconds": 0.4,
"smartEndpointingEnabled": false,
"smartEndpointingPlan": {
"provider": "cozmox"
},
"customEndpointingRules": [
{
"type": "assistant",
"regex": "<string>",
"timeoutSeconds": 7.5,
"regexOptions": [
{
"enabled": true
}
]
}
],
"transcriptionEndpointingPlan": {
"onPunctuationSeconds": 0.1,
"onNoPunctuationSeconds": 1.5,
"onNumberSeconds": 0.5
}
},
"stopSpeakingPlan": {
"numWords": 0,
"voiceSeconds": 0.2,
"backoffSeconds": 1,
"acknowledgementPhrases": [
"i understand",
"i see",
"i got it",
"i hear you",
"im listening",
"im with you",
"right",
"okay",
"ok",
"sure",
"alright",
"got it",
"understood",
"yeah",
"yes",
"uh-huh",
"mm-hmm",
"gotcha",
"mhmm",
"ah",
"yeah okay",
"yeah sure"
],
"interruptionPhrases": [
"stop",
"shut",
"up",
"enough",
"quiet",
"silence",
"but",
"dont",
"not",
"no",
"hold",
"wait",
"cut",
"pause",
"nope",
"nah",
"nevermind",
"never",
"bad",
"actually"
]
},
"monitorPlan": {
"listenEnabled": false,
"listenAuthenticationEnabled": false,
"controlEnabled": false,
"controlAuthenticationEnabled": false
},
"credentialIds": [
"<string>"
],
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {}
},
"keypadInputPlan": {
"enabled": true,
"timeoutSeconds": 5
}
},
"number": "<string>",
"sipUri": "<string>",
"name": "<string>",
"email": "<string>",
"externalId": "<string>"
}
],
"assistantId": "<string>",
"workflowId": "<string>"
}
'import requests
url = "https://api.cozmox.ai/campaign"
payload = {
"name": "Q2 Sales Campaign",
"phoneNumberId": "<string>",
"customers": [
{
"numberE164CheckEnabled": True,
"extension": None,
"assistantOverrides": {
"transcriber": {
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": False,
"formatTurns": False,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": ["<string>"],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": True
},
"model": {
"provider": "anthropic",
"messages": [{ "content": "<string>" }],
"tools": [
{
"type": "apiRequest",
"url": "<string>",
"messages": [
{
"type": "request-start",
"contents": ["<unknown>"],
"blocking": False,
"content": "<string>",
"conditions": [
{
"param": "<string>",
"value": "<string>"
}
]
}
],
"timeoutSeconds": 20,
"name": "<string>",
"description": "<string>",
"variableExtractionPlan": { "aliases": [
{
"key": "<string>",
"value": "<string>"
}
] }
}
],
"toolIds": ["<string>"],
"knowledgeBaseId": "<string>",
"temperature": 1,
"maxTokens": 5025,
"emotionRecognitionEnabled": True,
"numFastTurns": 1
},
"voice": {
"provider": "azure",
"cachingEnabled": True,
"chunkPlan": {
"enabled": True,
"minCharacters": 30,
"punctuationBoundaries": ["。", ",", ".", "!", "?", ";", "،", "۔", "।", "॥", "|", "||", ",", ":"],
"formatPlan": {
"enabled": True,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": False
}
]
}
},
"speed": 1.25
},
"firstMessage": "Hello! How can I help you today?",
"firstMessageInterruptionsEnabled": False,
"firstMessageMode": "assistant-speaks-first",
"voicemailDetection": {
"provider": "google",
"beepMaxAwaitSeconds": 30,
"backoffPlan": {
"startAtSeconds": 5,
"frequencySeconds": 5,
"maxRetries": 6
}
},
"clientMessages": ["conversation-update", "function-call", "hang", "model-output", "speech-update", "status-update", "transfer-update", "transcript", "tool-calls", "user-interrupted", "voice-input", "workflow.node.started"],
"serverMessages": ["conversation-update", "end-of-call-report", "function-call", "hang", "speech-update", "status-update", "tool-calls", "transfer-destination-request", "user-interrupted"],
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"backgroundSound": "office",
"backgroundDenoisingEnabled": False,
"modelOutputInMessagesEnabled": False,
"transportConfigurations": [
{
"provider": "twilio",
"timeout": 60,
"record": False,
"recordingChannels": "mono"
}
],
"credentials": [
{
"provider": "anthropic",
"apiKey": "<string>",
"name": "<string>"
}
],
"hooks": [
{
"on": "call.ending",
"do": [
{
"type": "transfer",
"destination": {
"type": "number",
"number": "<string>",
"message": "<string>",
"numberE164CheckEnabled": True,
"extension": "<string>",
"callerId": "<string>",
"description": "<string>"
}
}
],
"filters": [
{
"type": "oneOf",
"key": "<string>",
"oneOf": ["<string>"]
}
]
}
],
"variableValues": {},
"name": "<string>",
"voicemailMessage": "<string>",
"endCallMessage": "<string>",
"endCallPhrases": ["<string>"],
"compliancePlan": {
"hipaaEnabled": { "hipaaEnabled": False },
"pciEnabled": { "pciEnabled": False }
},
"metadata": {},
"backgroundSpeechDenoisingPlan": {
"smartDenoisingPlan": { "enabled": False },
"fourierDenoisingPlan": {
"enabled": False,
"mediaDetectionEnabled": True,
"staticThreshold": -35,
"baselineOffsetDb": -15,
"windowSizeMs": 3000,
"baselinePercentile": 85
}
},
"analysisPlan": {
"minMessagesThreshold": 1,
"summaryPlan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
},
"structuredDataPlan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
},
"structuredDataMultiPlan": [
{
"key": "<string>",
"plan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
}
}
],
"successEvaluationPlan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
}
},
"artifactPlan": {
"recordingEnabled": True,
"videoRecordingEnabled": False,
"pcapEnabled": True,
"pcapS3PathPrefix": "/pcaps",
"transcriptPlan": {
"enabled": True,
"assistantName": "<string>",
"userName": "<string>"
},
"recordingPath": "<string>"
},
"messagePlan": {
"idleMessages": ["<string>"],
"idleMessageMaxSpokenCount": 5.5,
"idleMessageResetCountOnUserSpeechEnabled": True,
"idleTimeoutSeconds": 32.5,
"silenceTimeoutMessage": "<string>"
},
"startSpeakingPlan": {
"waitSeconds": 0.4,
"smartEndpointingEnabled": False,
"smartEndpointingPlan": { "provider": "cozmox" },
"customEndpointingRules": [
{
"type": "assistant",
"regex": "<string>",
"timeoutSeconds": 7.5,
"regexOptions": [{ "enabled": True }]
}
],
"transcriptionEndpointingPlan": {
"onPunctuationSeconds": 0.1,
"onNoPunctuationSeconds": 1.5,
"onNumberSeconds": 0.5
}
},
"stopSpeakingPlan": {
"numWords": 0,
"voiceSeconds": 0.2,
"backoffSeconds": 1,
"acknowledgementPhrases": ["i understand", "i see", "i got it", "i hear you", "im listening", "im with you", "right", "okay", "ok", "sure", "alright", "got it", "understood", "yeah", "yes", "uh-huh", "mm-hmm", "gotcha", "mhmm", "ah", "yeah okay", "yeah sure"],
"interruptionPhrases": ["stop", "shut", "up", "enough", "quiet", "silence", "but", "dont", "not", "no", "hold", "wait", "cut", "pause", "nope", "nah", "nevermind", "never", "bad", "actually"]
},
"monitorPlan": {
"listenEnabled": False,
"listenAuthenticationEnabled": False,
"controlEnabled": False,
"controlAuthenticationEnabled": False
},
"credentialIds": ["<string>"],
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {}
},
"keypadInputPlan": {
"enabled": True,
"timeoutSeconds": 5
}
},
"number": "<string>",
"sipUri": "<string>",
"name": "<string>",
"email": "<string>",
"externalId": "<string>"
}
],
"assistantId": "<string>",
"workflowId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Q2 Sales Campaign',
phoneNumberId: '<string>',
customers: [
{
numberE164CheckEnabled: true,
extension: null,
assistantOverrides: {
transcriber: {
provider: 'assembly-ai',
language: 'en',
confidenceThreshold: 0.4,
enableUniversalStreamingApi: false,
formatTurns: false,
endOfTurnConfidenceThreshold: 0.7,
minEndOfTurnSilenceWhenConfident: 160,
wordFinalizationMaxWaitTime: 160,
maxTurnSilence: 400,
realtimeUrl: '<string>',
wordBoost: ['<string>'],
endUtteranceSilenceThreshold: 123,
disablePartialTranscripts: true
},
model: {
provider: 'anthropic',
messages: [{content: '<string>'}],
tools: [
{
type: 'apiRequest',
url: '<string>',
messages: [
{
type: 'request-start',
contents: ['<unknown>'],
blocking: false,
content: '<string>',
conditions: [{param: '<string>', value: '<string>'}]
}
],
timeoutSeconds: 20,
name: '<string>',
description: '<string>',
variableExtractionPlan: {aliases: [{key: '<string>', value: '<string>'}]}
}
],
toolIds: ['<string>'],
knowledgeBaseId: '<string>',
temperature: 1,
maxTokens: 5025,
emotionRecognitionEnabled: true,
numFastTurns: 1
},
voice: {
provider: 'azure',
cachingEnabled: true,
chunkPlan: {
enabled: true,
minCharacters: 30,
punctuationBoundaries: ['。', ',', '.', '!', '?', ';', '،', '۔', '।', '॥', '|', '||', ',', ':'],
formatPlan: {
enabled: true,
numberToDigitsCutoff: 2025,
replacements: [{type: 'exact', key: '<string>', value: '<string>', replaceAllEnabled: false}]
}
},
speed: 1.25
},
firstMessage: 'Hello! How can I help you today?',
firstMessageInterruptionsEnabled: false,
firstMessageMode: 'assistant-speaks-first',
voicemailDetection: {
provider: 'google',
beepMaxAwaitSeconds: 30,
backoffPlan: {startAtSeconds: 5, frequencySeconds: 5, maxRetries: 6}
},
clientMessages: [
'conversation-update',
'function-call',
'hang',
'model-output',
'speech-update',
'status-update',
'transfer-update',
'transcript',
'tool-calls',
'user-interrupted',
'voice-input',
'workflow.node.started'
],
serverMessages: [
'conversation-update',
'end-of-call-report',
'function-call',
'hang',
'speech-update',
'status-update',
'tool-calls',
'transfer-destination-request',
'user-interrupted'
],
silenceTimeoutSeconds: 30,
maxDurationSeconds: 600,
backgroundSound: 'office',
backgroundDenoisingEnabled: false,
modelOutputInMessagesEnabled: false,
transportConfigurations: [{provider: 'twilio', timeout: 60, record: false, recordingChannels: 'mono'}],
credentials: [{provider: 'anthropic', apiKey: '<string>', name: '<string>'}],
hooks: [
{
on: 'call.ending',
do: [
{
type: 'transfer',
destination: {
type: 'number',
number: '<string>',
message: '<string>',
numberE164CheckEnabled: true,
extension: '<string>',
callerId: '<string>',
description: '<string>'
}
}
],
filters: [{type: 'oneOf', key: '<string>', oneOf: ['<string>']}]
}
],
variableValues: {},
name: '<string>',
voicemailMessage: '<string>',
endCallMessage: '<string>',
endCallPhrases: ['<string>'],
compliancePlan: {hipaaEnabled: {hipaaEnabled: false}, pciEnabled: {pciEnabled: false}},
metadata: {},
backgroundSpeechDenoisingPlan: {
smartDenoisingPlan: {enabled: false},
fourierDenoisingPlan: {
enabled: false,
mediaDetectionEnabled: true,
staticThreshold: -35,
baselineOffsetDb: -15,
windowSizeMs: 3000,
baselinePercentile: 85
}
},
analysisPlan: {
minMessagesThreshold: 1,
summaryPlan: {messages: [{}], enabled: true, timeoutSeconds: 30.5},
structuredDataPlan: {messages: [{}], enabled: true, timeoutSeconds: 30.5},
structuredDataMultiPlan: [{key: '<string>', plan: {messages: [{}], enabled: true, timeoutSeconds: 30.5}}],
successEvaluationPlan: {messages: [{}], enabled: true, timeoutSeconds: 30.5}
},
artifactPlan: {
recordingEnabled: true,
videoRecordingEnabled: false,
pcapEnabled: true,
pcapS3PathPrefix: '/pcaps',
transcriptPlan: {enabled: true, assistantName: '<string>', userName: '<string>'},
recordingPath: '<string>'
},
messagePlan: {
idleMessages: ['<string>'],
idleMessageMaxSpokenCount: 5.5,
idleMessageResetCountOnUserSpeechEnabled: true,
idleTimeoutSeconds: 32.5,
silenceTimeoutMessage: '<string>'
},
startSpeakingPlan: {
waitSeconds: 0.4,
smartEndpointingEnabled: false,
smartEndpointingPlan: {provider: 'cozmox'},
customEndpointingRules: [
{
type: 'assistant',
regex: '<string>',
timeoutSeconds: 7.5,
regexOptions: [{enabled: true}]
}
],
transcriptionEndpointingPlan: {onPunctuationSeconds: 0.1, onNoPunctuationSeconds: 1.5, onNumberSeconds: 0.5}
},
stopSpeakingPlan: {
numWords: 0,
voiceSeconds: 0.2,
backoffSeconds: 1,
acknowledgementPhrases: [
'i understand',
'i see',
'i got it',
'i hear you',
'im listening',
'im with you',
'right',
'okay',
'ok',
'sure',
'alright',
'got it',
'understood',
'yeah',
'yes',
'uh-huh',
'mm-hmm',
'gotcha',
'mhmm',
'ah',
'yeah okay',
'yeah sure'
],
interruptionPhrases: [
'stop',
'shut',
'up',
'enough',
'quiet',
'silence',
'but',
'dont',
'not',
'no',
'hold',
'wait',
'cut',
'pause',
'nope',
'nah',
'nevermind',
'never',
'bad',
'actually'
]
},
monitorPlan: {
listenEnabled: false,
listenAuthenticationEnabled: false,
controlEnabled: false,
controlAuthenticationEnabled: false
},
credentialIds: ['<string>'],
server: {timeoutSeconds: 20, url: '<string>', headers: {}},
keypadInputPlan: {enabled: true, timeoutSeconds: 5}
},
number: '<string>',
sipUri: '<string>',
name: '<string>',
email: '<string>',
externalId: '<string>'
}
],
assistantId: '<string>',
workflowId: '<string>'
})
};
fetch('https://api.cozmox.ai/campaign', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cozmox.ai/campaign",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Q2 Sales Campaign',
'phoneNumberId' => '<string>',
'customers' => [
[
'numberE164CheckEnabled' => true,
'extension' => null,
'assistantOverrides' => [
'transcriber' => [
'provider' => 'assembly-ai',
'language' => 'en',
'confidenceThreshold' => 0.4,
'enableUniversalStreamingApi' => false,
'formatTurns' => false,
'endOfTurnConfidenceThreshold' => 0.7,
'minEndOfTurnSilenceWhenConfident' => 160,
'wordFinalizationMaxWaitTime' => 160,
'maxTurnSilence' => 400,
'realtimeUrl' => '<string>',
'wordBoost' => [
'<string>'
],
'endUtteranceSilenceThreshold' => 123,
'disablePartialTranscripts' => true
],
'model' => [
'provider' => 'anthropic',
'messages' => [
[
'content' => '<string>'
]
],
'tools' => [
[
'type' => 'apiRequest',
'url' => '<string>',
'messages' => [
[
'type' => 'request-start',
'contents' => [
'<unknown>'
],
'blocking' => false,
'content' => '<string>',
'conditions' => [
[
'param' => '<string>',
'value' => '<string>'
]
]
]
],
'timeoutSeconds' => 20,
'name' => '<string>',
'description' => '<string>',
'variableExtractionPlan' => [
'aliases' => [
[
'key' => '<string>',
'value' => '<string>'
]
]
]
]
],
'toolIds' => [
'<string>'
],
'knowledgeBaseId' => '<string>',
'temperature' => 1,
'maxTokens' => 5025,
'emotionRecognitionEnabled' => true,
'numFastTurns' => 1
],
'voice' => [
'provider' => 'azure',
'cachingEnabled' => true,
'chunkPlan' => [
'enabled' => true,
'minCharacters' => 30,
'punctuationBoundaries' => [
'。',
',',
'.',
'!',
'?',
';',
'،',
'۔',
'।',
'॥',
'|',
'||',
',',
':'
],
'formatPlan' => [
'enabled' => true,
'numberToDigitsCutoff' => 2025,
'replacements' => [
[
'type' => 'exact',
'key' => '<string>',
'value' => '<string>',
'replaceAllEnabled' => false
]
]
]
],
'speed' => 1.25
],
'firstMessage' => 'Hello! How can I help you today?',
'firstMessageInterruptionsEnabled' => false,
'firstMessageMode' => 'assistant-speaks-first',
'voicemailDetection' => [
'provider' => 'google',
'beepMaxAwaitSeconds' => 30,
'backoffPlan' => [
'startAtSeconds' => 5,
'frequencySeconds' => 5,
'maxRetries' => 6
]
],
'clientMessages' => [
'conversation-update',
'function-call',
'hang',
'model-output',
'speech-update',
'status-update',
'transfer-update',
'transcript',
'tool-calls',
'user-interrupted',
'voice-input',
'workflow.node.started'
],
'serverMessages' => [
'conversation-update',
'end-of-call-report',
'function-call',
'hang',
'speech-update',
'status-update',
'tool-calls',
'transfer-destination-request',
'user-interrupted'
],
'silenceTimeoutSeconds' => 30,
'maxDurationSeconds' => 600,
'backgroundSound' => 'office',
'backgroundDenoisingEnabled' => false,
'modelOutputInMessagesEnabled' => false,
'transportConfigurations' => [
[
'provider' => 'twilio',
'timeout' => 60,
'record' => false,
'recordingChannels' => 'mono'
]
],
'credentials' => [
[
'provider' => 'anthropic',
'apiKey' => '<string>',
'name' => '<string>'
]
],
'hooks' => [
[
'on' => 'call.ending',
'do' => [
[
'type' => 'transfer',
'destination' => [
'type' => 'number',
'number' => '<string>',
'message' => '<string>',
'numberE164CheckEnabled' => true,
'extension' => '<string>',
'callerId' => '<string>',
'description' => '<string>'
]
]
],
'filters' => [
[
'type' => 'oneOf',
'key' => '<string>',
'oneOf' => [
'<string>'
]
]
]
]
],
'variableValues' => [
],
'name' => '<string>',
'voicemailMessage' => '<string>',
'endCallMessage' => '<string>',
'endCallPhrases' => [
'<string>'
],
'compliancePlan' => [
'hipaaEnabled' => [
'hipaaEnabled' => false
],
'pciEnabled' => [
'pciEnabled' => false
]
],
'metadata' => [
],
'backgroundSpeechDenoisingPlan' => [
'smartDenoisingPlan' => [
'enabled' => false
],
'fourierDenoisingPlan' => [
'enabled' => false,
'mediaDetectionEnabled' => true,
'staticThreshold' => -35,
'baselineOffsetDb' => -15,
'windowSizeMs' => 3000,
'baselinePercentile' => 85
]
],
'analysisPlan' => [
'minMessagesThreshold' => 1,
'summaryPlan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
],
'structuredDataPlan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
],
'structuredDataMultiPlan' => [
[
'key' => '<string>',
'plan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
]
]
],
'successEvaluationPlan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
]
],
'artifactPlan' => [
'recordingEnabled' => true,
'videoRecordingEnabled' => false,
'pcapEnabled' => true,
'pcapS3PathPrefix' => '/pcaps',
'transcriptPlan' => [
'enabled' => true,
'assistantName' => '<string>',
'userName' => '<string>'
],
'recordingPath' => '<string>'
],
'messagePlan' => [
'idleMessages' => [
'<string>'
],
'idleMessageMaxSpokenCount' => 5.5,
'idleMessageResetCountOnUserSpeechEnabled' => true,
'idleTimeoutSeconds' => 32.5,
'silenceTimeoutMessage' => '<string>'
],
'startSpeakingPlan' => [
'waitSeconds' => 0.4,
'smartEndpointingEnabled' => false,
'smartEndpointingPlan' => [
'provider' => 'cozmox'
],
'customEndpointingRules' => [
[
'type' => 'assistant',
'regex' => '<string>',
'timeoutSeconds' => 7.5,
'regexOptions' => [
[
'enabled' => true
]
]
]
],
'transcriptionEndpointingPlan' => [
'onPunctuationSeconds' => 0.1,
'onNoPunctuationSeconds' => 1.5,
'onNumberSeconds' => 0.5
]
],
'stopSpeakingPlan' => [
'numWords' => 0,
'voiceSeconds' => 0.2,
'backoffSeconds' => 1,
'acknowledgementPhrases' => [
'i understand',
'i see',
'i got it',
'i hear you',
'im listening',
'im with you',
'right',
'okay',
'ok',
'sure',
'alright',
'got it',
'understood',
'yeah',
'yes',
'uh-huh',
'mm-hmm',
'gotcha',
'mhmm',
'ah',
'yeah okay',
'yeah sure'
],
'interruptionPhrases' => [
'stop',
'shut',
'up',
'enough',
'quiet',
'silence',
'but',
'dont',
'not',
'no',
'hold',
'wait',
'cut',
'pause',
'nope',
'nah',
'nevermind',
'never',
'bad',
'actually'
]
],
'monitorPlan' => [
'listenEnabled' => false,
'listenAuthenticationEnabled' => false,
'controlEnabled' => false,
'controlAuthenticationEnabled' => false
],
'credentialIds' => [
'<string>'
],
'server' => [
'timeoutSeconds' => 20,
'url' => '<string>',
'headers' => [
]
],
'keypadInputPlan' => [
'enabled' => true,
'timeoutSeconds' => 5
]
],
'number' => '<string>',
'sipUri' => '<string>',
'name' => '<string>',
'email' => '<string>',
'externalId' => '<string>'
]
],
'assistantId' => '<string>',
'workflowId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cozmox.ai/campaign"
payload := strings.NewReader("{\n \"name\": \"Q2 Sales Campaign\",\n \"phoneNumberId\": \"<string>\",\n \"customers\": [\n {\n \"numberE164CheckEnabled\": true,\n \"extension\": null,\n \"assistantOverrides\": {\n \"transcriber\": {\n \"provider\": \"assembly-ai\",\n \"language\": \"en\",\n \"confidenceThreshold\": 0.4,\n \"enableUniversalStreamingApi\": false,\n \"formatTurns\": false,\n \"endOfTurnConfidenceThreshold\": 0.7,\n \"minEndOfTurnSilenceWhenConfident\": 160,\n \"wordFinalizationMaxWaitTime\": 160,\n \"maxTurnSilence\": 400,\n \"realtimeUrl\": \"<string>\",\n \"wordBoost\": [\n \"<string>\"\n ],\n \"endUtteranceSilenceThreshold\": 123,\n \"disablePartialTranscripts\": true\n },\n \"model\": {\n \"provider\": \"anthropic\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"apiRequest\",\n \"url\": \"<string>\",\n \"messages\": [\n {\n \"type\": \"request-start\",\n \"contents\": [\n \"<unknown>\"\n ],\n \"blocking\": false,\n \"content\": \"<string>\",\n \"conditions\": [\n {\n \"param\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n ],\n \"timeoutSeconds\": 20,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"variableExtractionPlan\": {\n \"aliases\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n }\n ],\n \"toolIds\": [\n \"<string>\"\n ],\n \"knowledgeBaseId\": \"<string>\",\n \"temperature\": 1,\n \"maxTokens\": 5025,\n \"emotionRecognitionEnabled\": true,\n \"numFastTurns\": 1\n },\n \"voice\": {\n \"provider\": \"azure\",\n \"cachingEnabled\": true,\n \"chunkPlan\": {\n \"enabled\": true,\n \"minCharacters\": 30,\n \"punctuationBoundaries\": [\n \"。\",\n \",\",\n \".\",\n \"!\",\n \"?\",\n \";\",\n \"،\",\n \"۔\",\n \"।\",\n \"॥\",\n \"|\",\n \"||\",\n \",\",\n \":\"\n ],\n \"formatPlan\": {\n \"enabled\": true,\n \"numberToDigitsCutoff\": 2025,\n \"replacements\": [\n {\n \"type\": \"exact\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"replaceAllEnabled\": false\n }\n ]\n }\n },\n \"speed\": 1.25\n },\n \"firstMessage\": \"Hello! How can I help you today?\",\n \"firstMessageInterruptionsEnabled\": false,\n \"firstMessageMode\": \"assistant-speaks-first\",\n \"voicemailDetection\": {\n \"provider\": \"google\",\n \"beepMaxAwaitSeconds\": 30,\n \"backoffPlan\": {\n \"startAtSeconds\": 5,\n \"frequencySeconds\": 5,\n \"maxRetries\": 6\n }\n },\n \"clientMessages\": [\n \"conversation-update\",\n \"function-call\",\n \"hang\",\n \"model-output\",\n \"speech-update\",\n \"status-update\",\n \"transfer-update\",\n \"transcript\",\n \"tool-calls\",\n \"user-interrupted\",\n \"voice-input\",\n \"workflow.node.started\"\n ],\n \"serverMessages\": [\n \"conversation-update\",\n \"end-of-call-report\",\n \"function-call\",\n \"hang\",\n \"speech-update\",\n \"status-update\",\n \"tool-calls\",\n \"transfer-destination-request\",\n \"user-interrupted\"\n ],\n \"silenceTimeoutSeconds\": 30,\n \"maxDurationSeconds\": 600,\n \"backgroundSound\": \"office\",\n \"backgroundDenoisingEnabled\": false,\n \"modelOutputInMessagesEnabled\": false,\n \"transportConfigurations\": [\n {\n \"provider\": \"twilio\",\n \"timeout\": 60,\n \"record\": false,\n \"recordingChannels\": \"mono\"\n }\n ],\n \"credentials\": [\n {\n \"provider\": \"anthropic\",\n \"apiKey\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"hooks\": [\n {\n \"on\": \"call.ending\",\n \"do\": [\n {\n \"type\": \"transfer\",\n \"destination\": {\n \"type\": \"number\",\n \"number\": \"<string>\",\n \"message\": \"<string>\",\n \"numberE164CheckEnabled\": true,\n \"extension\": \"<string>\",\n \"callerId\": \"<string>\",\n \"description\": \"<string>\"\n }\n }\n ],\n \"filters\": [\n {\n \"type\": \"oneOf\",\n \"key\": \"<string>\",\n \"oneOf\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"variableValues\": {},\n \"name\": \"<string>\",\n \"voicemailMessage\": \"<string>\",\n \"endCallMessage\": \"<string>\",\n \"endCallPhrases\": [\n \"<string>\"\n ],\n \"compliancePlan\": {\n \"hipaaEnabled\": {\n \"hipaaEnabled\": false\n },\n \"pciEnabled\": {\n \"pciEnabled\": false\n }\n },\n \"metadata\": {},\n \"backgroundSpeechDenoisingPlan\": {\n \"smartDenoisingPlan\": {\n \"enabled\": false\n },\n \"fourierDenoisingPlan\": {\n \"enabled\": false,\n \"mediaDetectionEnabled\": true,\n \"staticThreshold\": -35,\n \"baselineOffsetDb\": -15,\n \"windowSizeMs\": 3000,\n \"baselinePercentile\": 85\n }\n },\n \"analysisPlan\": {\n \"minMessagesThreshold\": 1,\n \"summaryPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataMultiPlan\": [\n {\n \"key\": \"<string>\",\n \"plan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n }\n ],\n \"successEvaluationPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n },\n \"artifactPlan\": {\n \"recordingEnabled\": true,\n \"videoRecordingEnabled\": false,\n \"pcapEnabled\": true,\n \"pcapS3PathPrefix\": \"/pcaps\",\n \"transcriptPlan\": {\n \"enabled\": true,\n \"assistantName\": \"<string>\",\n \"userName\": \"<string>\"\n },\n \"recordingPath\": \"<string>\"\n },\n \"messagePlan\": {\n \"idleMessages\": [\n \"<string>\"\n ],\n \"idleMessageMaxSpokenCount\": 5.5,\n \"idleMessageResetCountOnUserSpeechEnabled\": true,\n \"idleTimeoutSeconds\": 32.5,\n \"silenceTimeoutMessage\": \"<string>\"\n },\n \"startSpeakingPlan\": {\n \"waitSeconds\": 0.4,\n \"smartEndpointingEnabled\": false,\n \"smartEndpointingPlan\": {\n \"provider\": \"cozmox\"\n },\n \"customEndpointingRules\": [\n {\n \"type\": \"assistant\",\n \"regex\": \"<string>\",\n \"timeoutSeconds\": 7.5,\n \"regexOptions\": [\n {\n \"enabled\": true\n }\n ]\n }\n ],\n \"transcriptionEndpointingPlan\": {\n \"onPunctuationSeconds\": 0.1,\n \"onNoPunctuationSeconds\": 1.5,\n \"onNumberSeconds\": 0.5\n }\n },\n \"stopSpeakingPlan\": {\n \"numWords\": 0,\n \"voiceSeconds\": 0.2,\n \"backoffSeconds\": 1,\n \"acknowledgementPhrases\": [\n \"i understand\",\n \"i see\",\n \"i got it\",\n \"i hear you\",\n \"im listening\",\n \"im with you\",\n \"right\",\n \"okay\",\n \"ok\",\n \"sure\",\n \"alright\",\n \"got it\",\n \"understood\",\n \"yeah\",\n \"yes\",\n \"uh-huh\",\n \"mm-hmm\",\n \"gotcha\",\n \"mhmm\",\n \"ah\",\n \"yeah okay\",\n \"yeah sure\"\n ],\n \"interruptionPhrases\": [\n \"stop\",\n \"shut\",\n \"up\",\n \"enough\",\n \"quiet\",\n \"silence\",\n \"but\",\n \"dont\",\n \"not\",\n \"no\",\n \"hold\",\n \"wait\",\n \"cut\",\n \"pause\",\n \"nope\",\n \"nah\",\n \"nevermind\",\n \"never\",\n \"bad\",\n \"actually\"\n ]\n },\n \"monitorPlan\": {\n \"listenEnabled\": false,\n \"listenAuthenticationEnabled\": false,\n \"controlEnabled\": false,\n \"controlAuthenticationEnabled\": false\n },\n \"credentialIds\": [\n \"<string>\"\n ],\n \"server\": {\n \"timeoutSeconds\": 20,\n \"url\": \"<string>\",\n \"headers\": {}\n },\n \"keypadInputPlan\": {\n \"enabled\": true,\n \"timeoutSeconds\": 5\n }\n },\n \"number\": \"<string>\",\n \"sipUri\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n ],\n \"assistantId\": \"<string>\",\n \"workflowId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cozmox.ai/campaign")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Q2 Sales Campaign\",\n \"phoneNumberId\": \"<string>\",\n \"customers\": [\n {\n \"numberE164CheckEnabled\": true,\n \"extension\": null,\n \"assistantOverrides\": {\n \"transcriber\": {\n \"provider\": \"assembly-ai\",\n \"language\": \"en\",\n \"confidenceThreshold\": 0.4,\n \"enableUniversalStreamingApi\": false,\n \"formatTurns\": false,\n \"endOfTurnConfidenceThreshold\": 0.7,\n \"minEndOfTurnSilenceWhenConfident\": 160,\n \"wordFinalizationMaxWaitTime\": 160,\n \"maxTurnSilence\": 400,\n \"realtimeUrl\": \"<string>\",\n \"wordBoost\": [\n \"<string>\"\n ],\n \"endUtteranceSilenceThreshold\": 123,\n \"disablePartialTranscripts\": true\n },\n \"model\": {\n \"provider\": \"anthropic\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"apiRequest\",\n \"url\": \"<string>\",\n \"messages\": [\n {\n \"type\": \"request-start\",\n \"contents\": [\n \"<unknown>\"\n ],\n \"blocking\": false,\n \"content\": \"<string>\",\n \"conditions\": [\n {\n \"param\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n ],\n \"timeoutSeconds\": 20,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"variableExtractionPlan\": {\n \"aliases\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n }\n ],\n \"toolIds\": [\n \"<string>\"\n ],\n \"knowledgeBaseId\": \"<string>\",\n \"temperature\": 1,\n \"maxTokens\": 5025,\n \"emotionRecognitionEnabled\": true,\n \"numFastTurns\": 1\n },\n \"voice\": {\n \"provider\": \"azure\",\n \"cachingEnabled\": true,\n \"chunkPlan\": {\n \"enabled\": true,\n \"minCharacters\": 30,\n \"punctuationBoundaries\": [\n \"。\",\n \",\",\n \".\",\n \"!\",\n \"?\",\n \";\",\n \"،\",\n \"۔\",\n \"।\",\n \"॥\",\n \"|\",\n \"||\",\n \",\",\n \":\"\n ],\n \"formatPlan\": {\n \"enabled\": true,\n \"numberToDigitsCutoff\": 2025,\n \"replacements\": [\n {\n \"type\": \"exact\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"replaceAllEnabled\": false\n }\n ]\n }\n },\n \"speed\": 1.25\n },\n \"firstMessage\": \"Hello! How can I help you today?\",\n \"firstMessageInterruptionsEnabled\": false,\n \"firstMessageMode\": \"assistant-speaks-first\",\n \"voicemailDetection\": {\n \"provider\": \"google\",\n \"beepMaxAwaitSeconds\": 30,\n \"backoffPlan\": {\n \"startAtSeconds\": 5,\n \"frequencySeconds\": 5,\n \"maxRetries\": 6\n }\n },\n \"clientMessages\": [\n \"conversation-update\",\n \"function-call\",\n \"hang\",\n \"model-output\",\n \"speech-update\",\n \"status-update\",\n \"transfer-update\",\n \"transcript\",\n \"tool-calls\",\n \"user-interrupted\",\n \"voice-input\",\n \"workflow.node.started\"\n ],\n \"serverMessages\": [\n \"conversation-update\",\n \"end-of-call-report\",\n \"function-call\",\n \"hang\",\n \"speech-update\",\n \"status-update\",\n \"tool-calls\",\n \"transfer-destination-request\",\n \"user-interrupted\"\n ],\n \"silenceTimeoutSeconds\": 30,\n \"maxDurationSeconds\": 600,\n \"backgroundSound\": \"office\",\n \"backgroundDenoisingEnabled\": false,\n \"modelOutputInMessagesEnabled\": false,\n \"transportConfigurations\": [\n {\n \"provider\": \"twilio\",\n \"timeout\": 60,\n \"record\": false,\n \"recordingChannels\": \"mono\"\n }\n ],\n \"credentials\": [\n {\n \"provider\": \"anthropic\",\n \"apiKey\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"hooks\": [\n {\n \"on\": \"call.ending\",\n \"do\": [\n {\n \"type\": \"transfer\",\n \"destination\": {\n \"type\": \"number\",\n \"number\": \"<string>\",\n \"message\": \"<string>\",\n \"numberE164CheckEnabled\": true,\n \"extension\": \"<string>\",\n \"callerId\": \"<string>\",\n \"description\": \"<string>\"\n }\n }\n ],\n \"filters\": [\n {\n \"type\": \"oneOf\",\n \"key\": \"<string>\",\n \"oneOf\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"variableValues\": {},\n \"name\": \"<string>\",\n \"voicemailMessage\": \"<string>\",\n \"endCallMessage\": \"<string>\",\n \"endCallPhrases\": [\n \"<string>\"\n ],\n \"compliancePlan\": {\n \"hipaaEnabled\": {\n \"hipaaEnabled\": false\n },\n \"pciEnabled\": {\n \"pciEnabled\": false\n }\n },\n \"metadata\": {},\n \"backgroundSpeechDenoisingPlan\": {\n \"smartDenoisingPlan\": {\n \"enabled\": false\n },\n \"fourierDenoisingPlan\": {\n \"enabled\": false,\n \"mediaDetectionEnabled\": true,\n \"staticThreshold\": -35,\n \"baselineOffsetDb\": -15,\n \"windowSizeMs\": 3000,\n \"baselinePercentile\": 85\n }\n },\n \"analysisPlan\": {\n \"minMessagesThreshold\": 1,\n \"summaryPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataMultiPlan\": [\n {\n \"key\": \"<string>\",\n \"plan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n }\n ],\n \"successEvaluationPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n },\n \"artifactPlan\": {\n \"recordingEnabled\": true,\n \"videoRecordingEnabled\": false,\n \"pcapEnabled\": true,\n \"pcapS3PathPrefix\": \"/pcaps\",\n \"transcriptPlan\": {\n \"enabled\": true,\n \"assistantName\": \"<string>\",\n \"userName\": \"<string>\"\n },\n \"recordingPath\": \"<string>\"\n },\n \"messagePlan\": {\n \"idleMessages\": [\n \"<string>\"\n ],\n \"idleMessageMaxSpokenCount\": 5.5,\n \"idleMessageResetCountOnUserSpeechEnabled\": true,\n \"idleTimeoutSeconds\": 32.5,\n \"silenceTimeoutMessage\": \"<string>\"\n },\n \"startSpeakingPlan\": {\n \"waitSeconds\": 0.4,\n \"smartEndpointingEnabled\": false,\n \"smartEndpointingPlan\": {\n \"provider\": \"cozmox\"\n },\n \"customEndpointingRules\": [\n {\n \"type\": \"assistant\",\n \"regex\": \"<string>\",\n \"timeoutSeconds\": 7.5,\n \"regexOptions\": [\n {\n \"enabled\": true\n }\n ]\n }\n ],\n \"transcriptionEndpointingPlan\": {\n \"onPunctuationSeconds\": 0.1,\n \"onNoPunctuationSeconds\": 1.5,\n \"onNumberSeconds\": 0.5\n }\n },\n \"stopSpeakingPlan\": {\n \"numWords\": 0,\n \"voiceSeconds\": 0.2,\n \"backoffSeconds\": 1,\n \"acknowledgementPhrases\": [\n \"i understand\",\n \"i see\",\n \"i got it\",\n \"i hear you\",\n \"im listening\",\n \"im with you\",\n \"right\",\n \"okay\",\n \"ok\",\n \"sure\",\n \"alright\",\n \"got it\",\n \"understood\",\n \"yeah\",\n \"yes\",\n \"uh-huh\",\n \"mm-hmm\",\n \"gotcha\",\n \"mhmm\",\n \"ah\",\n \"yeah okay\",\n \"yeah sure\"\n ],\n \"interruptionPhrases\": [\n \"stop\",\n \"shut\",\n \"up\",\n \"enough\",\n \"quiet\",\n \"silence\",\n \"but\",\n \"dont\",\n \"not\",\n \"no\",\n \"hold\",\n \"wait\",\n \"cut\",\n \"pause\",\n \"nope\",\n \"nah\",\n \"nevermind\",\n \"never\",\n \"bad\",\n \"actually\"\n ]\n },\n \"monitorPlan\": {\n \"listenEnabled\": false,\n \"listenAuthenticationEnabled\": false,\n \"controlEnabled\": false,\n \"controlAuthenticationEnabled\": false\n },\n \"credentialIds\": [\n \"<string>\"\n ],\n \"server\": {\n \"timeoutSeconds\": 20,\n \"url\": \"<string>\",\n \"headers\": {}\n },\n \"keypadInputPlan\": {\n \"enabled\": true,\n \"timeoutSeconds\": 5\n }\n },\n \"number\": \"<string>\",\n \"sipUri\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n ],\n \"assistantId\": \"<string>\",\n \"workflowId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cozmox.ai/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Q2 Sales Campaign\",\n \"phoneNumberId\": \"<string>\",\n \"customers\": [\n {\n \"numberE164CheckEnabled\": true,\n \"extension\": null,\n \"assistantOverrides\": {\n \"transcriber\": {\n \"provider\": \"assembly-ai\",\n \"language\": \"en\",\n \"confidenceThreshold\": 0.4,\n \"enableUniversalStreamingApi\": false,\n \"formatTurns\": false,\n \"endOfTurnConfidenceThreshold\": 0.7,\n \"minEndOfTurnSilenceWhenConfident\": 160,\n \"wordFinalizationMaxWaitTime\": 160,\n \"maxTurnSilence\": 400,\n \"realtimeUrl\": \"<string>\",\n \"wordBoost\": [\n \"<string>\"\n ],\n \"endUtteranceSilenceThreshold\": 123,\n \"disablePartialTranscripts\": true\n },\n \"model\": {\n \"provider\": \"anthropic\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"apiRequest\",\n \"url\": \"<string>\",\n \"messages\": [\n {\n \"type\": \"request-start\",\n \"contents\": [\n \"<unknown>\"\n ],\n \"blocking\": false,\n \"content\": \"<string>\",\n \"conditions\": [\n {\n \"param\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n ],\n \"timeoutSeconds\": 20,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"variableExtractionPlan\": {\n \"aliases\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n }\n ],\n \"toolIds\": [\n \"<string>\"\n ],\n \"knowledgeBaseId\": \"<string>\",\n \"temperature\": 1,\n \"maxTokens\": 5025,\n \"emotionRecognitionEnabled\": true,\n \"numFastTurns\": 1\n },\n \"voice\": {\n \"provider\": \"azure\",\n \"cachingEnabled\": true,\n \"chunkPlan\": {\n \"enabled\": true,\n \"minCharacters\": 30,\n \"punctuationBoundaries\": [\n \"。\",\n \",\",\n \".\",\n \"!\",\n \"?\",\n \";\",\n \"،\",\n \"۔\",\n \"।\",\n \"॥\",\n \"|\",\n \"||\",\n \",\",\n \":\"\n ],\n \"formatPlan\": {\n \"enabled\": true,\n \"numberToDigitsCutoff\": 2025,\n \"replacements\": [\n {\n \"type\": \"exact\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"replaceAllEnabled\": false\n }\n ]\n }\n },\n \"speed\": 1.25\n },\n \"firstMessage\": \"Hello! How can I help you today?\",\n \"firstMessageInterruptionsEnabled\": false,\n \"firstMessageMode\": \"assistant-speaks-first\",\n \"voicemailDetection\": {\n \"provider\": \"google\",\n \"beepMaxAwaitSeconds\": 30,\n \"backoffPlan\": {\n \"startAtSeconds\": 5,\n \"frequencySeconds\": 5,\n \"maxRetries\": 6\n }\n },\n \"clientMessages\": [\n \"conversation-update\",\n \"function-call\",\n \"hang\",\n \"model-output\",\n \"speech-update\",\n \"status-update\",\n \"transfer-update\",\n \"transcript\",\n \"tool-calls\",\n \"user-interrupted\",\n \"voice-input\",\n \"workflow.node.started\"\n ],\n \"serverMessages\": [\n \"conversation-update\",\n \"end-of-call-report\",\n \"function-call\",\n \"hang\",\n \"speech-update\",\n \"status-update\",\n \"tool-calls\",\n \"transfer-destination-request\",\n \"user-interrupted\"\n ],\n \"silenceTimeoutSeconds\": 30,\n \"maxDurationSeconds\": 600,\n \"backgroundSound\": \"office\",\n \"backgroundDenoisingEnabled\": false,\n \"modelOutputInMessagesEnabled\": false,\n \"transportConfigurations\": [\n {\n \"provider\": \"twilio\",\n \"timeout\": 60,\n \"record\": false,\n \"recordingChannels\": \"mono\"\n }\n ],\n \"credentials\": [\n {\n \"provider\": \"anthropic\",\n \"apiKey\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"hooks\": [\n {\n \"on\": \"call.ending\",\n \"do\": [\n {\n \"type\": \"transfer\",\n \"destination\": {\n \"type\": \"number\",\n \"number\": \"<string>\",\n \"message\": \"<string>\",\n \"numberE164CheckEnabled\": true,\n \"extension\": \"<string>\",\n \"callerId\": \"<string>\",\n \"description\": \"<string>\"\n }\n }\n ],\n \"filters\": [\n {\n \"type\": \"oneOf\",\n \"key\": \"<string>\",\n \"oneOf\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"variableValues\": {},\n \"name\": \"<string>\",\n \"voicemailMessage\": \"<string>\",\n \"endCallMessage\": \"<string>\",\n \"endCallPhrases\": [\n \"<string>\"\n ],\n \"compliancePlan\": {\n \"hipaaEnabled\": {\n \"hipaaEnabled\": false\n },\n \"pciEnabled\": {\n \"pciEnabled\": false\n }\n },\n \"metadata\": {},\n \"backgroundSpeechDenoisingPlan\": {\n \"smartDenoisingPlan\": {\n \"enabled\": false\n },\n \"fourierDenoisingPlan\": {\n \"enabled\": false,\n \"mediaDetectionEnabled\": true,\n \"staticThreshold\": -35,\n \"baselineOffsetDb\": -15,\n \"windowSizeMs\": 3000,\n \"baselinePercentile\": 85\n }\n },\n \"analysisPlan\": {\n \"minMessagesThreshold\": 1,\n \"summaryPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataMultiPlan\": [\n {\n \"key\": \"<string>\",\n \"plan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n }\n ],\n \"successEvaluationPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n },\n \"artifactPlan\": {\n \"recordingEnabled\": true,\n \"videoRecordingEnabled\": false,\n \"pcapEnabled\": true,\n \"pcapS3PathPrefix\": \"/pcaps\",\n \"transcriptPlan\": {\n \"enabled\": true,\n \"assistantName\": \"<string>\",\n \"userName\": \"<string>\"\n },\n \"recordingPath\": \"<string>\"\n },\n \"messagePlan\": {\n \"idleMessages\": [\n \"<string>\"\n ],\n \"idleMessageMaxSpokenCount\": 5.5,\n \"idleMessageResetCountOnUserSpeechEnabled\": true,\n \"idleTimeoutSeconds\": 32.5,\n \"silenceTimeoutMessage\": \"<string>\"\n },\n \"startSpeakingPlan\": {\n \"waitSeconds\": 0.4,\n \"smartEndpointingEnabled\": false,\n \"smartEndpointingPlan\": {\n \"provider\": \"cozmox\"\n },\n \"customEndpointingRules\": [\n {\n \"type\": \"assistant\",\n \"regex\": \"<string>\",\n \"timeoutSeconds\": 7.5,\n \"regexOptions\": [\n {\n \"enabled\": true\n }\n ]\n }\n ],\n \"transcriptionEndpointingPlan\": {\n \"onPunctuationSeconds\": 0.1,\n \"onNoPunctuationSeconds\": 1.5,\n \"onNumberSeconds\": 0.5\n }\n },\n \"stopSpeakingPlan\": {\n \"numWords\": 0,\n \"voiceSeconds\": 0.2,\n \"backoffSeconds\": 1,\n \"acknowledgementPhrases\": [\n \"i understand\",\n \"i see\",\n \"i got it\",\n \"i hear you\",\n \"im listening\",\n \"im with you\",\n \"right\",\n \"okay\",\n \"ok\",\n \"sure\",\n \"alright\",\n \"got it\",\n \"understood\",\n \"yeah\",\n \"yes\",\n \"uh-huh\",\n \"mm-hmm\",\n \"gotcha\",\n \"mhmm\",\n \"ah\",\n \"yeah okay\",\n \"yeah sure\"\n ],\n \"interruptionPhrases\": [\n \"stop\",\n \"shut\",\n \"up\",\n \"enough\",\n \"quiet\",\n \"silence\",\n \"but\",\n \"dont\",\n \"not\",\n \"no\",\n \"hold\",\n \"wait\",\n \"cut\",\n \"pause\",\n \"nope\",\n \"nah\",\n \"nevermind\",\n \"never\",\n \"bad\",\n \"actually\"\n ]\n },\n \"monitorPlan\": {\n \"listenEnabled\": false,\n \"listenAuthenticationEnabled\": false,\n \"controlEnabled\": false,\n \"controlAuthenticationEnabled\": false\n },\n \"credentialIds\": [\n \"<string>\"\n ],\n \"server\": {\n \"timeoutSeconds\": 20,\n \"url\": \"<string>\",\n \"headers\": {}\n },\n \"keypadInputPlan\": {\n \"enabled\": true,\n \"timeoutSeconds\": 5\n }\n },\n \"number\": \"<string>\",\n \"sipUri\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n ],\n \"assistantId\": \"<string>\",\n \"workflowId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"name": "Q2 Sales Campaign",
"phoneNumberId": "<string>",
"customers": [
{
"numberE164CheckEnabled": true,
"extension": null,
"assistantOverrides": {
"transcriber": {
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": false,
"formatTurns": false,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": [
"<string>"
],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": true,
"fallbackPlan": {
"transcribers": [
{
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": false,
"formatTurns": false,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": [
"<string>"
],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": true
}
]
}
},
"model": {
"provider": "anthropic",
"messages": [
{
"content": "<string>"
}
],
"tools": [
{
"type": "apiRequest",
"url": "<string>",
"messages": [
{
"type": "request-start",
"contents": [
"<unknown>"
],
"blocking": false,
"content": "<string>",
"conditions": [
{
"param": "<string>",
"value": "<string>"
}
]
}
],
"timeoutSeconds": 20,
"name": "<string>",
"description": "<string>",
"body": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"headers": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"backoffPlan": {
"type": "fixed",
"maxRetries": 0,
"baseDelaySeconds": 1
},
"variableExtractionPlan": {
"schema": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"aliases": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"function": {
"name": "<string>",
"strict": false,
"description": "<string>",
"parameters": {
"type": "object",
"properties": {},
"required": [
"<string>"
]
}
}
}
],
"toolIds": [
"<string>"
],
"knowledgeBase": {
"provider": "custom-knowledge-base",
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {},
"backoffPlan": {
"type": "fixed",
"maxRetries": 0,
"baseDelaySeconds": 1
}
}
},
"knowledgeBaseId": "<string>",
"thinking": {
"type": "enabled",
"budgetTokens": 50512
},
"temperature": 1,
"maxTokens": 5025,
"emotionRecognitionEnabled": true,
"numFastTurns": 1
},
"voice": {
"provider": "azure",
"cachingEnabled": true,
"chunkPlan": {
"enabled": true,
"minCharacters": 30,
"punctuationBoundaries": [
"。",
",",
".",
"!",
"?",
";",
"،",
"۔",
"।",
"॥",
"|",
"||",
",",
":"
],
"formatPlan": {
"enabled": true,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": false
}
]
}
},
"speed": 1.25,
"fallbackPlan": {
"voices": [
{
"provider": "azure",
"cachingEnabled": true,
"speed": 1.25,
"chunkPlan": {
"enabled": true,
"minCharacters": 30,
"punctuationBoundaries": [
"。",
",",
".",
"!",
"?",
";",
"،",
"۔",
"।",
"॥",
"|",
"||",
",",
":"
],
"formatPlan": {
"enabled": true,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": false
}
]
}
}
}
]
}
},
"firstMessage": "Hello! How can I help you today?",
"firstMessageInterruptionsEnabled": false,
"firstMessageMode": "assistant-speaks-first",
"voicemailDetection": {
"provider": "google",
"beepMaxAwaitSeconds": 30,
"backoffPlan": {
"startAtSeconds": 5,
"frequencySeconds": 5,
"maxRetries": 6
}
},
"clientMessages": [
"conversation-update",
"function-call",
"hang",
"model-output",
"speech-update",
"status-update",
"transfer-update",
"transcript",
"tool-calls",
"user-interrupted",
"voice-input",
"workflow.node.started"
],
"serverMessages": [
"conversation-update",
"end-of-call-report",
"function-call",
"hang",
"speech-update",
"status-update",
"tool-calls",
"transfer-destination-request",
"user-interrupted"
],
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"backgroundSound": "office",
"backgroundDenoisingEnabled": false,
"modelOutputInMessagesEnabled": false,
"transportConfigurations": [
{
"provider": "twilio",
"timeout": 60,
"record": false,
"recordingChannels": "mono"
}
],
"observabilityPlan": {
"provider": "langfuse",
"tags": [
"<string>"
],
"metadata": {}
},
"credentials": [
{
"provider": "anthropic",
"apiKey": "<string>",
"name": "<string>"
}
],
"hooks": [
{
"on": "call.ending",
"do": [
{
"type": "transfer",
"destination": {
"type": "number",
"number": "<string>",
"message": "<string>",
"numberE164CheckEnabled": true,
"extension": "<string>",
"callerId": "<string>",
"transferPlan": {
"message": "<string>",
"timeout": 60,
"sipVerb": "refer",
"holdAudioUrl": "<string>",
"transferCompleteAudioUrl": "<string>",
"twiml": "<string>",
"summaryPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"sipHeadersInReferToEnabled": true,
"fallbackPlan": {
"message": "<string>",
"endCallEnabled": true
}
},
"description": "<string>"
}
}
],
"filters": [
{
"type": "oneOf",
"key": "<string>",
"oneOf": [
"<string>"
]
}
]
}
],
"variableValues": {},
"name": "<string>",
"voicemailMessage": "<string>",
"endCallMessage": "<string>",
"endCallPhrases": [
"<string>"
],
"compliancePlan": {
"hipaaEnabled": {
"hipaaEnabled": false
},
"pciEnabled": {
"pciEnabled": false
}
},
"metadata": {},
"backgroundSpeechDenoisingPlan": {
"smartDenoisingPlan": {
"enabled": false
},
"fourierDenoisingPlan": {
"enabled": false,
"mediaDetectionEnabled": true,
"staticThreshold": -35,
"baselineOffsetDb": -15,
"windowSizeMs": 3000,
"baselinePercentile": 85
}
},
"analysisPlan": {
"minMessagesThreshold": 1,
"summaryPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"structuredDataPlan": {
"messages": [
{}
],
"enabled": true,
"schema": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"timeoutSeconds": 30.5
},
"structuredDataMultiPlan": [
{
"key": "<string>",
"plan": {
"messages": [
{}
],
"enabled": true,
"schema": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"timeoutSeconds": 30.5
}
}
],
"successEvaluationPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
}
},
"artifactPlan": {
"recordingEnabled": true,
"videoRecordingEnabled": false,
"pcapEnabled": true,
"pcapS3PathPrefix": "/pcaps",
"transcriptPlan": {
"enabled": true,
"assistantName": "<string>",
"userName": "<string>"
},
"recordingPath": "<string>"
},
"messagePlan": {
"idleMessages": [
"<string>"
],
"idleMessageMaxSpokenCount": 5.5,
"idleMessageResetCountOnUserSpeechEnabled": true,
"idleTimeoutSeconds": 32.5,
"silenceTimeoutMessage": "<string>"
},
"startSpeakingPlan": {
"waitSeconds": 0.4,
"smartEndpointingEnabled": false,
"smartEndpointingPlan": {
"provider": "cozmox"
},
"customEndpointingRules": [
{
"type": "assistant",
"regex": "<string>",
"timeoutSeconds": 7.5,
"regexOptions": [
{
"enabled": true
}
]
}
],
"transcriptionEndpointingPlan": {
"onPunctuationSeconds": 0.1,
"onNoPunctuationSeconds": 1.5,
"onNumberSeconds": 0.5
}
},
"stopSpeakingPlan": {
"numWords": 0,
"voiceSeconds": 0.2,
"backoffSeconds": 1,
"acknowledgementPhrases": [
"i understand",
"i see",
"i got it",
"i hear you",
"im listening",
"im with you",
"right",
"okay",
"ok",
"sure",
"alright",
"got it",
"understood",
"yeah",
"yes",
"uh-huh",
"mm-hmm",
"gotcha",
"mhmm",
"ah",
"yeah okay",
"yeah sure"
],
"interruptionPhrases": [
"stop",
"shut",
"up",
"enough",
"quiet",
"silence",
"but",
"dont",
"not",
"no",
"hold",
"wait",
"cut",
"pause",
"nope",
"nah",
"nevermind",
"never",
"bad",
"actually"
]
},
"monitorPlan": {
"listenEnabled": false,
"listenAuthenticationEnabled": false,
"controlEnabled": false,
"controlAuthenticationEnabled": false
},
"credentialIds": [
"<string>"
],
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {},
"backoffPlan": {
"type": "fixed",
"maxRetries": 0,
"baseDelaySeconds": 1
}
},
"keypadInputPlan": {
"enabled": true,
"timeoutSeconds": 5
}
},
"number": "<string>",
"sipUri": "<string>",
"name": "<string>",
"email": "<string>",
"externalId": "<string>"
}
],
"id": "<string>",
"orgId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"calls": {},
"callsCounterScheduled": 123,
"callsCounterQueued": 123,
"callsCounterInProgress": 123,
"callsCounterEndedVoicemail": 123,
"callsCounterEnded": 123,
"assistantId": "<string>",
"workflowId": "<string>",
"schedulePlan": {
"earliestAt": "2023-11-07T05:31:56Z",
"latestAt": "2023-11-07T05:31:56Z"
}
}Create Campaign
curl --request POST \
--url https://api.cozmox.ai/campaign \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Q2 Sales Campaign",
"phoneNumberId": "<string>",
"customers": [
{
"numberE164CheckEnabled": true,
"extension": null,
"assistantOverrides": {
"transcriber": {
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": false,
"formatTurns": false,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": [
"<string>"
],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": true
},
"model": {
"provider": "anthropic",
"messages": [
{
"content": "<string>"
}
],
"tools": [
{
"type": "apiRequest",
"url": "<string>",
"messages": [
{
"type": "request-start",
"contents": [
"<unknown>"
],
"blocking": false,
"content": "<string>",
"conditions": [
{
"param": "<string>",
"value": "<string>"
}
]
}
],
"timeoutSeconds": 20,
"name": "<string>",
"description": "<string>",
"variableExtractionPlan": {
"aliases": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}
],
"toolIds": [
"<string>"
],
"knowledgeBaseId": "<string>",
"temperature": 1,
"maxTokens": 5025,
"emotionRecognitionEnabled": true,
"numFastTurns": 1
},
"voice": {
"provider": "azure",
"cachingEnabled": true,
"chunkPlan": {
"enabled": true,
"minCharacters": 30,
"punctuationBoundaries": [
"。",
",",
".",
"!",
"?",
";",
"،",
"۔",
"।",
"॥",
"|",
"||",
",",
":"
],
"formatPlan": {
"enabled": true,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": false
}
]
}
},
"speed": 1.25
},
"firstMessage": "Hello! How can I help you today?",
"firstMessageInterruptionsEnabled": false,
"firstMessageMode": "assistant-speaks-first",
"voicemailDetection": {
"provider": "google",
"beepMaxAwaitSeconds": 30,
"backoffPlan": {
"startAtSeconds": 5,
"frequencySeconds": 5,
"maxRetries": 6
}
},
"clientMessages": [
"conversation-update",
"function-call",
"hang",
"model-output",
"speech-update",
"status-update",
"transfer-update",
"transcript",
"tool-calls",
"user-interrupted",
"voice-input",
"workflow.node.started"
],
"serverMessages": [
"conversation-update",
"end-of-call-report",
"function-call",
"hang",
"speech-update",
"status-update",
"tool-calls",
"transfer-destination-request",
"user-interrupted"
],
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"backgroundSound": "office",
"backgroundDenoisingEnabled": false,
"modelOutputInMessagesEnabled": false,
"transportConfigurations": [
{
"provider": "twilio",
"timeout": 60,
"record": false,
"recordingChannels": "mono"
}
],
"credentials": [
{
"provider": "anthropic",
"apiKey": "<string>",
"name": "<string>"
}
],
"hooks": [
{
"on": "call.ending",
"do": [
{
"type": "transfer",
"destination": {
"type": "number",
"number": "<string>",
"message": "<string>",
"numberE164CheckEnabled": true,
"extension": "<string>",
"callerId": "<string>",
"description": "<string>"
}
}
],
"filters": [
{
"type": "oneOf",
"key": "<string>",
"oneOf": [
"<string>"
]
}
]
}
],
"variableValues": {},
"name": "<string>",
"voicemailMessage": "<string>",
"endCallMessage": "<string>",
"endCallPhrases": [
"<string>"
],
"compliancePlan": {
"hipaaEnabled": {
"hipaaEnabled": false
},
"pciEnabled": {
"pciEnabled": false
}
},
"metadata": {},
"backgroundSpeechDenoisingPlan": {
"smartDenoisingPlan": {
"enabled": false
},
"fourierDenoisingPlan": {
"enabled": false,
"mediaDetectionEnabled": true,
"staticThreshold": -35,
"baselineOffsetDb": -15,
"windowSizeMs": 3000,
"baselinePercentile": 85
}
},
"analysisPlan": {
"minMessagesThreshold": 1,
"summaryPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"structuredDataPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"structuredDataMultiPlan": [
{
"key": "<string>",
"plan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
}
}
],
"successEvaluationPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
}
},
"artifactPlan": {
"recordingEnabled": true,
"videoRecordingEnabled": false,
"pcapEnabled": true,
"pcapS3PathPrefix": "/pcaps",
"transcriptPlan": {
"enabled": true,
"assistantName": "<string>",
"userName": "<string>"
},
"recordingPath": "<string>"
},
"messagePlan": {
"idleMessages": [
"<string>"
],
"idleMessageMaxSpokenCount": 5.5,
"idleMessageResetCountOnUserSpeechEnabled": true,
"idleTimeoutSeconds": 32.5,
"silenceTimeoutMessage": "<string>"
},
"startSpeakingPlan": {
"waitSeconds": 0.4,
"smartEndpointingEnabled": false,
"smartEndpointingPlan": {
"provider": "cozmox"
},
"customEndpointingRules": [
{
"type": "assistant",
"regex": "<string>",
"timeoutSeconds": 7.5,
"regexOptions": [
{
"enabled": true
}
]
}
],
"transcriptionEndpointingPlan": {
"onPunctuationSeconds": 0.1,
"onNoPunctuationSeconds": 1.5,
"onNumberSeconds": 0.5
}
},
"stopSpeakingPlan": {
"numWords": 0,
"voiceSeconds": 0.2,
"backoffSeconds": 1,
"acknowledgementPhrases": [
"i understand",
"i see",
"i got it",
"i hear you",
"im listening",
"im with you",
"right",
"okay",
"ok",
"sure",
"alright",
"got it",
"understood",
"yeah",
"yes",
"uh-huh",
"mm-hmm",
"gotcha",
"mhmm",
"ah",
"yeah okay",
"yeah sure"
],
"interruptionPhrases": [
"stop",
"shut",
"up",
"enough",
"quiet",
"silence",
"but",
"dont",
"not",
"no",
"hold",
"wait",
"cut",
"pause",
"nope",
"nah",
"nevermind",
"never",
"bad",
"actually"
]
},
"monitorPlan": {
"listenEnabled": false,
"listenAuthenticationEnabled": false,
"controlEnabled": false,
"controlAuthenticationEnabled": false
},
"credentialIds": [
"<string>"
],
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {}
},
"keypadInputPlan": {
"enabled": true,
"timeoutSeconds": 5
}
},
"number": "<string>",
"sipUri": "<string>",
"name": "<string>",
"email": "<string>",
"externalId": "<string>"
}
],
"assistantId": "<string>",
"workflowId": "<string>"
}
'import requests
url = "https://api.cozmox.ai/campaign"
payload = {
"name": "Q2 Sales Campaign",
"phoneNumberId": "<string>",
"customers": [
{
"numberE164CheckEnabled": True,
"extension": None,
"assistantOverrides": {
"transcriber": {
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": False,
"formatTurns": False,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": ["<string>"],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": True
},
"model": {
"provider": "anthropic",
"messages": [{ "content": "<string>" }],
"tools": [
{
"type": "apiRequest",
"url": "<string>",
"messages": [
{
"type": "request-start",
"contents": ["<unknown>"],
"blocking": False,
"content": "<string>",
"conditions": [
{
"param": "<string>",
"value": "<string>"
}
]
}
],
"timeoutSeconds": 20,
"name": "<string>",
"description": "<string>",
"variableExtractionPlan": { "aliases": [
{
"key": "<string>",
"value": "<string>"
}
] }
}
],
"toolIds": ["<string>"],
"knowledgeBaseId": "<string>",
"temperature": 1,
"maxTokens": 5025,
"emotionRecognitionEnabled": True,
"numFastTurns": 1
},
"voice": {
"provider": "azure",
"cachingEnabled": True,
"chunkPlan": {
"enabled": True,
"minCharacters": 30,
"punctuationBoundaries": ["。", ",", ".", "!", "?", ";", "،", "۔", "।", "॥", "|", "||", ",", ":"],
"formatPlan": {
"enabled": True,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": False
}
]
}
},
"speed": 1.25
},
"firstMessage": "Hello! How can I help you today?",
"firstMessageInterruptionsEnabled": False,
"firstMessageMode": "assistant-speaks-first",
"voicemailDetection": {
"provider": "google",
"beepMaxAwaitSeconds": 30,
"backoffPlan": {
"startAtSeconds": 5,
"frequencySeconds": 5,
"maxRetries": 6
}
},
"clientMessages": ["conversation-update", "function-call", "hang", "model-output", "speech-update", "status-update", "transfer-update", "transcript", "tool-calls", "user-interrupted", "voice-input", "workflow.node.started"],
"serverMessages": ["conversation-update", "end-of-call-report", "function-call", "hang", "speech-update", "status-update", "tool-calls", "transfer-destination-request", "user-interrupted"],
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"backgroundSound": "office",
"backgroundDenoisingEnabled": False,
"modelOutputInMessagesEnabled": False,
"transportConfigurations": [
{
"provider": "twilio",
"timeout": 60,
"record": False,
"recordingChannels": "mono"
}
],
"credentials": [
{
"provider": "anthropic",
"apiKey": "<string>",
"name": "<string>"
}
],
"hooks": [
{
"on": "call.ending",
"do": [
{
"type": "transfer",
"destination": {
"type": "number",
"number": "<string>",
"message": "<string>",
"numberE164CheckEnabled": True,
"extension": "<string>",
"callerId": "<string>",
"description": "<string>"
}
}
],
"filters": [
{
"type": "oneOf",
"key": "<string>",
"oneOf": ["<string>"]
}
]
}
],
"variableValues": {},
"name": "<string>",
"voicemailMessage": "<string>",
"endCallMessage": "<string>",
"endCallPhrases": ["<string>"],
"compliancePlan": {
"hipaaEnabled": { "hipaaEnabled": False },
"pciEnabled": { "pciEnabled": False }
},
"metadata": {},
"backgroundSpeechDenoisingPlan": {
"smartDenoisingPlan": { "enabled": False },
"fourierDenoisingPlan": {
"enabled": False,
"mediaDetectionEnabled": True,
"staticThreshold": -35,
"baselineOffsetDb": -15,
"windowSizeMs": 3000,
"baselinePercentile": 85
}
},
"analysisPlan": {
"minMessagesThreshold": 1,
"summaryPlan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
},
"structuredDataPlan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
},
"structuredDataMultiPlan": [
{
"key": "<string>",
"plan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
}
}
],
"successEvaluationPlan": {
"messages": [{}],
"enabled": True,
"timeoutSeconds": 30.5
}
},
"artifactPlan": {
"recordingEnabled": True,
"videoRecordingEnabled": False,
"pcapEnabled": True,
"pcapS3PathPrefix": "/pcaps",
"transcriptPlan": {
"enabled": True,
"assistantName": "<string>",
"userName": "<string>"
},
"recordingPath": "<string>"
},
"messagePlan": {
"idleMessages": ["<string>"],
"idleMessageMaxSpokenCount": 5.5,
"idleMessageResetCountOnUserSpeechEnabled": True,
"idleTimeoutSeconds": 32.5,
"silenceTimeoutMessage": "<string>"
},
"startSpeakingPlan": {
"waitSeconds": 0.4,
"smartEndpointingEnabled": False,
"smartEndpointingPlan": { "provider": "cozmox" },
"customEndpointingRules": [
{
"type": "assistant",
"regex": "<string>",
"timeoutSeconds": 7.5,
"regexOptions": [{ "enabled": True }]
}
],
"transcriptionEndpointingPlan": {
"onPunctuationSeconds": 0.1,
"onNoPunctuationSeconds": 1.5,
"onNumberSeconds": 0.5
}
},
"stopSpeakingPlan": {
"numWords": 0,
"voiceSeconds": 0.2,
"backoffSeconds": 1,
"acknowledgementPhrases": ["i understand", "i see", "i got it", "i hear you", "im listening", "im with you", "right", "okay", "ok", "sure", "alright", "got it", "understood", "yeah", "yes", "uh-huh", "mm-hmm", "gotcha", "mhmm", "ah", "yeah okay", "yeah sure"],
"interruptionPhrases": ["stop", "shut", "up", "enough", "quiet", "silence", "but", "dont", "not", "no", "hold", "wait", "cut", "pause", "nope", "nah", "nevermind", "never", "bad", "actually"]
},
"monitorPlan": {
"listenEnabled": False,
"listenAuthenticationEnabled": False,
"controlEnabled": False,
"controlAuthenticationEnabled": False
},
"credentialIds": ["<string>"],
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {}
},
"keypadInputPlan": {
"enabled": True,
"timeoutSeconds": 5
}
},
"number": "<string>",
"sipUri": "<string>",
"name": "<string>",
"email": "<string>",
"externalId": "<string>"
}
],
"assistantId": "<string>",
"workflowId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Q2 Sales Campaign',
phoneNumberId: '<string>',
customers: [
{
numberE164CheckEnabled: true,
extension: null,
assistantOverrides: {
transcriber: {
provider: 'assembly-ai',
language: 'en',
confidenceThreshold: 0.4,
enableUniversalStreamingApi: false,
formatTurns: false,
endOfTurnConfidenceThreshold: 0.7,
minEndOfTurnSilenceWhenConfident: 160,
wordFinalizationMaxWaitTime: 160,
maxTurnSilence: 400,
realtimeUrl: '<string>',
wordBoost: ['<string>'],
endUtteranceSilenceThreshold: 123,
disablePartialTranscripts: true
},
model: {
provider: 'anthropic',
messages: [{content: '<string>'}],
tools: [
{
type: 'apiRequest',
url: '<string>',
messages: [
{
type: 'request-start',
contents: ['<unknown>'],
blocking: false,
content: '<string>',
conditions: [{param: '<string>', value: '<string>'}]
}
],
timeoutSeconds: 20,
name: '<string>',
description: '<string>',
variableExtractionPlan: {aliases: [{key: '<string>', value: '<string>'}]}
}
],
toolIds: ['<string>'],
knowledgeBaseId: '<string>',
temperature: 1,
maxTokens: 5025,
emotionRecognitionEnabled: true,
numFastTurns: 1
},
voice: {
provider: 'azure',
cachingEnabled: true,
chunkPlan: {
enabled: true,
minCharacters: 30,
punctuationBoundaries: ['。', ',', '.', '!', '?', ';', '،', '۔', '।', '॥', '|', '||', ',', ':'],
formatPlan: {
enabled: true,
numberToDigitsCutoff: 2025,
replacements: [{type: 'exact', key: '<string>', value: '<string>', replaceAllEnabled: false}]
}
},
speed: 1.25
},
firstMessage: 'Hello! How can I help you today?',
firstMessageInterruptionsEnabled: false,
firstMessageMode: 'assistant-speaks-first',
voicemailDetection: {
provider: 'google',
beepMaxAwaitSeconds: 30,
backoffPlan: {startAtSeconds: 5, frequencySeconds: 5, maxRetries: 6}
},
clientMessages: [
'conversation-update',
'function-call',
'hang',
'model-output',
'speech-update',
'status-update',
'transfer-update',
'transcript',
'tool-calls',
'user-interrupted',
'voice-input',
'workflow.node.started'
],
serverMessages: [
'conversation-update',
'end-of-call-report',
'function-call',
'hang',
'speech-update',
'status-update',
'tool-calls',
'transfer-destination-request',
'user-interrupted'
],
silenceTimeoutSeconds: 30,
maxDurationSeconds: 600,
backgroundSound: 'office',
backgroundDenoisingEnabled: false,
modelOutputInMessagesEnabled: false,
transportConfigurations: [{provider: 'twilio', timeout: 60, record: false, recordingChannels: 'mono'}],
credentials: [{provider: 'anthropic', apiKey: '<string>', name: '<string>'}],
hooks: [
{
on: 'call.ending',
do: [
{
type: 'transfer',
destination: {
type: 'number',
number: '<string>',
message: '<string>',
numberE164CheckEnabled: true,
extension: '<string>',
callerId: '<string>',
description: '<string>'
}
}
],
filters: [{type: 'oneOf', key: '<string>', oneOf: ['<string>']}]
}
],
variableValues: {},
name: '<string>',
voicemailMessage: '<string>',
endCallMessage: '<string>',
endCallPhrases: ['<string>'],
compliancePlan: {hipaaEnabled: {hipaaEnabled: false}, pciEnabled: {pciEnabled: false}},
metadata: {},
backgroundSpeechDenoisingPlan: {
smartDenoisingPlan: {enabled: false},
fourierDenoisingPlan: {
enabled: false,
mediaDetectionEnabled: true,
staticThreshold: -35,
baselineOffsetDb: -15,
windowSizeMs: 3000,
baselinePercentile: 85
}
},
analysisPlan: {
minMessagesThreshold: 1,
summaryPlan: {messages: [{}], enabled: true, timeoutSeconds: 30.5},
structuredDataPlan: {messages: [{}], enabled: true, timeoutSeconds: 30.5},
structuredDataMultiPlan: [{key: '<string>', plan: {messages: [{}], enabled: true, timeoutSeconds: 30.5}}],
successEvaluationPlan: {messages: [{}], enabled: true, timeoutSeconds: 30.5}
},
artifactPlan: {
recordingEnabled: true,
videoRecordingEnabled: false,
pcapEnabled: true,
pcapS3PathPrefix: '/pcaps',
transcriptPlan: {enabled: true, assistantName: '<string>', userName: '<string>'},
recordingPath: '<string>'
},
messagePlan: {
idleMessages: ['<string>'],
idleMessageMaxSpokenCount: 5.5,
idleMessageResetCountOnUserSpeechEnabled: true,
idleTimeoutSeconds: 32.5,
silenceTimeoutMessage: '<string>'
},
startSpeakingPlan: {
waitSeconds: 0.4,
smartEndpointingEnabled: false,
smartEndpointingPlan: {provider: 'cozmox'},
customEndpointingRules: [
{
type: 'assistant',
regex: '<string>',
timeoutSeconds: 7.5,
regexOptions: [{enabled: true}]
}
],
transcriptionEndpointingPlan: {onPunctuationSeconds: 0.1, onNoPunctuationSeconds: 1.5, onNumberSeconds: 0.5}
},
stopSpeakingPlan: {
numWords: 0,
voiceSeconds: 0.2,
backoffSeconds: 1,
acknowledgementPhrases: [
'i understand',
'i see',
'i got it',
'i hear you',
'im listening',
'im with you',
'right',
'okay',
'ok',
'sure',
'alright',
'got it',
'understood',
'yeah',
'yes',
'uh-huh',
'mm-hmm',
'gotcha',
'mhmm',
'ah',
'yeah okay',
'yeah sure'
],
interruptionPhrases: [
'stop',
'shut',
'up',
'enough',
'quiet',
'silence',
'but',
'dont',
'not',
'no',
'hold',
'wait',
'cut',
'pause',
'nope',
'nah',
'nevermind',
'never',
'bad',
'actually'
]
},
monitorPlan: {
listenEnabled: false,
listenAuthenticationEnabled: false,
controlEnabled: false,
controlAuthenticationEnabled: false
},
credentialIds: ['<string>'],
server: {timeoutSeconds: 20, url: '<string>', headers: {}},
keypadInputPlan: {enabled: true, timeoutSeconds: 5}
},
number: '<string>',
sipUri: '<string>',
name: '<string>',
email: '<string>',
externalId: '<string>'
}
],
assistantId: '<string>',
workflowId: '<string>'
})
};
fetch('https://api.cozmox.ai/campaign', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cozmox.ai/campaign",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Q2 Sales Campaign',
'phoneNumberId' => '<string>',
'customers' => [
[
'numberE164CheckEnabled' => true,
'extension' => null,
'assistantOverrides' => [
'transcriber' => [
'provider' => 'assembly-ai',
'language' => 'en',
'confidenceThreshold' => 0.4,
'enableUniversalStreamingApi' => false,
'formatTurns' => false,
'endOfTurnConfidenceThreshold' => 0.7,
'minEndOfTurnSilenceWhenConfident' => 160,
'wordFinalizationMaxWaitTime' => 160,
'maxTurnSilence' => 400,
'realtimeUrl' => '<string>',
'wordBoost' => [
'<string>'
],
'endUtteranceSilenceThreshold' => 123,
'disablePartialTranscripts' => true
],
'model' => [
'provider' => 'anthropic',
'messages' => [
[
'content' => '<string>'
]
],
'tools' => [
[
'type' => 'apiRequest',
'url' => '<string>',
'messages' => [
[
'type' => 'request-start',
'contents' => [
'<unknown>'
],
'blocking' => false,
'content' => '<string>',
'conditions' => [
[
'param' => '<string>',
'value' => '<string>'
]
]
]
],
'timeoutSeconds' => 20,
'name' => '<string>',
'description' => '<string>',
'variableExtractionPlan' => [
'aliases' => [
[
'key' => '<string>',
'value' => '<string>'
]
]
]
]
],
'toolIds' => [
'<string>'
],
'knowledgeBaseId' => '<string>',
'temperature' => 1,
'maxTokens' => 5025,
'emotionRecognitionEnabled' => true,
'numFastTurns' => 1
],
'voice' => [
'provider' => 'azure',
'cachingEnabled' => true,
'chunkPlan' => [
'enabled' => true,
'minCharacters' => 30,
'punctuationBoundaries' => [
'。',
',',
'.',
'!',
'?',
';',
'،',
'۔',
'।',
'॥',
'|',
'||',
',',
':'
],
'formatPlan' => [
'enabled' => true,
'numberToDigitsCutoff' => 2025,
'replacements' => [
[
'type' => 'exact',
'key' => '<string>',
'value' => '<string>',
'replaceAllEnabled' => false
]
]
]
],
'speed' => 1.25
],
'firstMessage' => 'Hello! How can I help you today?',
'firstMessageInterruptionsEnabled' => false,
'firstMessageMode' => 'assistant-speaks-first',
'voicemailDetection' => [
'provider' => 'google',
'beepMaxAwaitSeconds' => 30,
'backoffPlan' => [
'startAtSeconds' => 5,
'frequencySeconds' => 5,
'maxRetries' => 6
]
],
'clientMessages' => [
'conversation-update',
'function-call',
'hang',
'model-output',
'speech-update',
'status-update',
'transfer-update',
'transcript',
'tool-calls',
'user-interrupted',
'voice-input',
'workflow.node.started'
],
'serverMessages' => [
'conversation-update',
'end-of-call-report',
'function-call',
'hang',
'speech-update',
'status-update',
'tool-calls',
'transfer-destination-request',
'user-interrupted'
],
'silenceTimeoutSeconds' => 30,
'maxDurationSeconds' => 600,
'backgroundSound' => 'office',
'backgroundDenoisingEnabled' => false,
'modelOutputInMessagesEnabled' => false,
'transportConfigurations' => [
[
'provider' => 'twilio',
'timeout' => 60,
'record' => false,
'recordingChannels' => 'mono'
]
],
'credentials' => [
[
'provider' => 'anthropic',
'apiKey' => '<string>',
'name' => '<string>'
]
],
'hooks' => [
[
'on' => 'call.ending',
'do' => [
[
'type' => 'transfer',
'destination' => [
'type' => 'number',
'number' => '<string>',
'message' => '<string>',
'numberE164CheckEnabled' => true,
'extension' => '<string>',
'callerId' => '<string>',
'description' => '<string>'
]
]
],
'filters' => [
[
'type' => 'oneOf',
'key' => '<string>',
'oneOf' => [
'<string>'
]
]
]
]
],
'variableValues' => [
],
'name' => '<string>',
'voicemailMessage' => '<string>',
'endCallMessage' => '<string>',
'endCallPhrases' => [
'<string>'
],
'compliancePlan' => [
'hipaaEnabled' => [
'hipaaEnabled' => false
],
'pciEnabled' => [
'pciEnabled' => false
]
],
'metadata' => [
],
'backgroundSpeechDenoisingPlan' => [
'smartDenoisingPlan' => [
'enabled' => false
],
'fourierDenoisingPlan' => [
'enabled' => false,
'mediaDetectionEnabled' => true,
'staticThreshold' => -35,
'baselineOffsetDb' => -15,
'windowSizeMs' => 3000,
'baselinePercentile' => 85
]
],
'analysisPlan' => [
'minMessagesThreshold' => 1,
'summaryPlan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
],
'structuredDataPlan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
],
'structuredDataMultiPlan' => [
[
'key' => '<string>',
'plan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
]
]
],
'successEvaluationPlan' => [
'messages' => [
[
]
],
'enabled' => true,
'timeoutSeconds' => 30.5
]
],
'artifactPlan' => [
'recordingEnabled' => true,
'videoRecordingEnabled' => false,
'pcapEnabled' => true,
'pcapS3PathPrefix' => '/pcaps',
'transcriptPlan' => [
'enabled' => true,
'assistantName' => '<string>',
'userName' => '<string>'
],
'recordingPath' => '<string>'
],
'messagePlan' => [
'idleMessages' => [
'<string>'
],
'idleMessageMaxSpokenCount' => 5.5,
'idleMessageResetCountOnUserSpeechEnabled' => true,
'idleTimeoutSeconds' => 32.5,
'silenceTimeoutMessage' => '<string>'
],
'startSpeakingPlan' => [
'waitSeconds' => 0.4,
'smartEndpointingEnabled' => false,
'smartEndpointingPlan' => [
'provider' => 'cozmox'
],
'customEndpointingRules' => [
[
'type' => 'assistant',
'regex' => '<string>',
'timeoutSeconds' => 7.5,
'regexOptions' => [
[
'enabled' => true
]
]
]
],
'transcriptionEndpointingPlan' => [
'onPunctuationSeconds' => 0.1,
'onNoPunctuationSeconds' => 1.5,
'onNumberSeconds' => 0.5
]
],
'stopSpeakingPlan' => [
'numWords' => 0,
'voiceSeconds' => 0.2,
'backoffSeconds' => 1,
'acknowledgementPhrases' => [
'i understand',
'i see',
'i got it',
'i hear you',
'im listening',
'im with you',
'right',
'okay',
'ok',
'sure',
'alright',
'got it',
'understood',
'yeah',
'yes',
'uh-huh',
'mm-hmm',
'gotcha',
'mhmm',
'ah',
'yeah okay',
'yeah sure'
],
'interruptionPhrases' => [
'stop',
'shut',
'up',
'enough',
'quiet',
'silence',
'but',
'dont',
'not',
'no',
'hold',
'wait',
'cut',
'pause',
'nope',
'nah',
'nevermind',
'never',
'bad',
'actually'
]
],
'monitorPlan' => [
'listenEnabled' => false,
'listenAuthenticationEnabled' => false,
'controlEnabled' => false,
'controlAuthenticationEnabled' => false
],
'credentialIds' => [
'<string>'
],
'server' => [
'timeoutSeconds' => 20,
'url' => '<string>',
'headers' => [
]
],
'keypadInputPlan' => [
'enabled' => true,
'timeoutSeconds' => 5
]
],
'number' => '<string>',
'sipUri' => '<string>',
'name' => '<string>',
'email' => '<string>',
'externalId' => '<string>'
]
],
'assistantId' => '<string>',
'workflowId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cozmox.ai/campaign"
payload := strings.NewReader("{\n \"name\": \"Q2 Sales Campaign\",\n \"phoneNumberId\": \"<string>\",\n \"customers\": [\n {\n \"numberE164CheckEnabled\": true,\n \"extension\": null,\n \"assistantOverrides\": {\n \"transcriber\": {\n \"provider\": \"assembly-ai\",\n \"language\": \"en\",\n \"confidenceThreshold\": 0.4,\n \"enableUniversalStreamingApi\": false,\n \"formatTurns\": false,\n \"endOfTurnConfidenceThreshold\": 0.7,\n \"minEndOfTurnSilenceWhenConfident\": 160,\n \"wordFinalizationMaxWaitTime\": 160,\n \"maxTurnSilence\": 400,\n \"realtimeUrl\": \"<string>\",\n \"wordBoost\": [\n \"<string>\"\n ],\n \"endUtteranceSilenceThreshold\": 123,\n \"disablePartialTranscripts\": true\n },\n \"model\": {\n \"provider\": \"anthropic\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"apiRequest\",\n \"url\": \"<string>\",\n \"messages\": [\n {\n \"type\": \"request-start\",\n \"contents\": [\n \"<unknown>\"\n ],\n \"blocking\": false,\n \"content\": \"<string>\",\n \"conditions\": [\n {\n \"param\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n ],\n \"timeoutSeconds\": 20,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"variableExtractionPlan\": {\n \"aliases\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n }\n ],\n \"toolIds\": [\n \"<string>\"\n ],\n \"knowledgeBaseId\": \"<string>\",\n \"temperature\": 1,\n \"maxTokens\": 5025,\n \"emotionRecognitionEnabled\": true,\n \"numFastTurns\": 1\n },\n \"voice\": {\n \"provider\": \"azure\",\n \"cachingEnabled\": true,\n \"chunkPlan\": {\n \"enabled\": true,\n \"minCharacters\": 30,\n \"punctuationBoundaries\": [\n \"。\",\n \",\",\n \".\",\n \"!\",\n \"?\",\n \";\",\n \"،\",\n \"۔\",\n \"।\",\n \"॥\",\n \"|\",\n \"||\",\n \",\",\n \":\"\n ],\n \"formatPlan\": {\n \"enabled\": true,\n \"numberToDigitsCutoff\": 2025,\n \"replacements\": [\n {\n \"type\": \"exact\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"replaceAllEnabled\": false\n }\n ]\n }\n },\n \"speed\": 1.25\n },\n \"firstMessage\": \"Hello! How can I help you today?\",\n \"firstMessageInterruptionsEnabled\": false,\n \"firstMessageMode\": \"assistant-speaks-first\",\n \"voicemailDetection\": {\n \"provider\": \"google\",\n \"beepMaxAwaitSeconds\": 30,\n \"backoffPlan\": {\n \"startAtSeconds\": 5,\n \"frequencySeconds\": 5,\n \"maxRetries\": 6\n }\n },\n \"clientMessages\": [\n \"conversation-update\",\n \"function-call\",\n \"hang\",\n \"model-output\",\n \"speech-update\",\n \"status-update\",\n \"transfer-update\",\n \"transcript\",\n \"tool-calls\",\n \"user-interrupted\",\n \"voice-input\",\n \"workflow.node.started\"\n ],\n \"serverMessages\": [\n \"conversation-update\",\n \"end-of-call-report\",\n \"function-call\",\n \"hang\",\n \"speech-update\",\n \"status-update\",\n \"tool-calls\",\n \"transfer-destination-request\",\n \"user-interrupted\"\n ],\n \"silenceTimeoutSeconds\": 30,\n \"maxDurationSeconds\": 600,\n \"backgroundSound\": \"office\",\n \"backgroundDenoisingEnabled\": false,\n \"modelOutputInMessagesEnabled\": false,\n \"transportConfigurations\": [\n {\n \"provider\": \"twilio\",\n \"timeout\": 60,\n \"record\": false,\n \"recordingChannels\": \"mono\"\n }\n ],\n \"credentials\": [\n {\n \"provider\": \"anthropic\",\n \"apiKey\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"hooks\": [\n {\n \"on\": \"call.ending\",\n \"do\": [\n {\n \"type\": \"transfer\",\n \"destination\": {\n \"type\": \"number\",\n \"number\": \"<string>\",\n \"message\": \"<string>\",\n \"numberE164CheckEnabled\": true,\n \"extension\": \"<string>\",\n \"callerId\": \"<string>\",\n \"description\": \"<string>\"\n }\n }\n ],\n \"filters\": [\n {\n \"type\": \"oneOf\",\n \"key\": \"<string>\",\n \"oneOf\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"variableValues\": {},\n \"name\": \"<string>\",\n \"voicemailMessage\": \"<string>\",\n \"endCallMessage\": \"<string>\",\n \"endCallPhrases\": [\n \"<string>\"\n ],\n \"compliancePlan\": {\n \"hipaaEnabled\": {\n \"hipaaEnabled\": false\n },\n \"pciEnabled\": {\n \"pciEnabled\": false\n }\n },\n \"metadata\": {},\n \"backgroundSpeechDenoisingPlan\": {\n \"smartDenoisingPlan\": {\n \"enabled\": false\n },\n \"fourierDenoisingPlan\": {\n \"enabled\": false,\n \"mediaDetectionEnabled\": true,\n \"staticThreshold\": -35,\n \"baselineOffsetDb\": -15,\n \"windowSizeMs\": 3000,\n \"baselinePercentile\": 85\n }\n },\n \"analysisPlan\": {\n \"minMessagesThreshold\": 1,\n \"summaryPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataMultiPlan\": [\n {\n \"key\": \"<string>\",\n \"plan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n }\n ],\n \"successEvaluationPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n },\n \"artifactPlan\": {\n \"recordingEnabled\": true,\n \"videoRecordingEnabled\": false,\n \"pcapEnabled\": true,\n \"pcapS3PathPrefix\": \"/pcaps\",\n \"transcriptPlan\": {\n \"enabled\": true,\n \"assistantName\": \"<string>\",\n \"userName\": \"<string>\"\n },\n \"recordingPath\": \"<string>\"\n },\n \"messagePlan\": {\n \"idleMessages\": [\n \"<string>\"\n ],\n \"idleMessageMaxSpokenCount\": 5.5,\n \"idleMessageResetCountOnUserSpeechEnabled\": true,\n \"idleTimeoutSeconds\": 32.5,\n \"silenceTimeoutMessage\": \"<string>\"\n },\n \"startSpeakingPlan\": {\n \"waitSeconds\": 0.4,\n \"smartEndpointingEnabled\": false,\n \"smartEndpointingPlan\": {\n \"provider\": \"cozmox\"\n },\n \"customEndpointingRules\": [\n {\n \"type\": \"assistant\",\n \"regex\": \"<string>\",\n \"timeoutSeconds\": 7.5,\n \"regexOptions\": [\n {\n \"enabled\": true\n }\n ]\n }\n ],\n \"transcriptionEndpointingPlan\": {\n \"onPunctuationSeconds\": 0.1,\n \"onNoPunctuationSeconds\": 1.5,\n \"onNumberSeconds\": 0.5\n }\n },\n \"stopSpeakingPlan\": {\n \"numWords\": 0,\n \"voiceSeconds\": 0.2,\n \"backoffSeconds\": 1,\n \"acknowledgementPhrases\": [\n \"i understand\",\n \"i see\",\n \"i got it\",\n \"i hear you\",\n \"im listening\",\n \"im with you\",\n \"right\",\n \"okay\",\n \"ok\",\n \"sure\",\n \"alright\",\n \"got it\",\n \"understood\",\n \"yeah\",\n \"yes\",\n \"uh-huh\",\n \"mm-hmm\",\n \"gotcha\",\n \"mhmm\",\n \"ah\",\n \"yeah okay\",\n \"yeah sure\"\n ],\n \"interruptionPhrases\": [\n \"stop\",\n \"shut\",\n \"up\",\n \"enough\",\n \"quiet\",\n \"silence\",\n \"but\",\n \"dont\",\n \"not\",\n \"no\",\n \"hold\",\n \"wait\",\n \"cut\",\n \"pause\",\n \"nope\",\n \"nah\",\n \"nevermind\",\n \"never\",\n \"bad\",\n \"actually\"\n ]\n },\n \"monitorPlan\": {\n \"listenEnabled\": false,\n \"listenAuthenticationEnabled\": false,\n \"controlEnabled\": false,\n \"controlAuthenticationEnabled\": false\n },\n \"credentialIds\": [\n \"<string>\"\n ],\n \"server\": {\n \"timeoutSeconds\": 20,\n \"url\": \"<string>\",\n \"headers\": {}\n },\n \"keypadInputPlan\": {\n \"enabled\": true,\n \"timeoutSeconds\": 5\n }\n },\n \"number\": \"<string>\",\n \"sipUri\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n ],\n \"assistantId\": \"<string>\",\n \"workflowId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cozmox.ai/campaign")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Q2 Sales Campaign\",\n \"phoneNumberId\": \"<string>\",\n \"customers\": [\n {\n \"numberE164CheckEnabled\": true,\n \"extension\": null,\n \"assistantOverrides\": {\n \"transcriber\": {\n \"provider\": \"assembly-ai\",\n \"language\": \"en\",\n \"confidenceThreshold\": 0.4,\n \"enableUniversalStreamingApi\": false,\n \"formatTurns\": false,\n \"endOfTurnConfidenceThreshold\": 0.7,\n \"minEndOfTurnSilenceWhenConfident\": 160,\n \"wordFinalizationMaxWaitTime\": 160,\n \"maxTurnSilence\": 400,\n \"realtimeUrl\": \"<string>\",\n \"wordBoost\": [\n \"<string>\"\n ],\n \"endUtteranceSilenceThreshold\": 123,\n \"disablePartialTranscripts\": true\n },\n \"model\": {\n \"provider\": \"anthropic\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"apiRequest\",\n \"url\": \"<string>\",\n \"messages\": [\n {\n \"type\": \"request-start\",\n \"contents\": [\n \"<unknown>\"\n ],\n \"blocking\": false,\n \"content\": \"<string>\",\n \"conditions\": [\n {\n \"param\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n ],\n \"timeoutSeconds\": 20,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"variableExtractionPlan\": {\n \"aliases\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n }\n ],\n \"toolIds\": [\n \"<string>\"\n ],\n \"knowledgeBaseId\": \"<string>\",\n \"temperature\": 1,\n \"maxTokens\": 5025,\n \"emotionRecognitionEnabled\": true,\n \"numFastTurns\": 1\n },\n \"voice\": {\n \"provider\": \"azure\",\n \"cachingEnabled\": true,\n \"chunkPlan\": {\n \"enabled\": true,\n \"minCharacters\": 30,\n \"punctuationBoundaries\": [\n \"。\",\n \",\",\n \".\",\n \"!\",\n \"?\",\n \";\",\n \"،\",\n \"۔\",\n \"।\",\n \"॥\",\n \"|\",\n \"||\",\n \",\",\n \":\"\n ],\n \"formatPlan\": {\n \"enabled\": true,\n \"numberToDigitsCutoff\": 2025,\n \"replacements\": [\n {\n \"type\": \"exact\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"replaceAllEnabled\": false\n }\n ]\n }\n },\n \"speed\": 1.25\n },\n \"firstMessage\": \"Hello! How can I help you today?\",\n \"firstMessageInterruptionsEnabled\": false,\n \"firstMessageMode\": \"assistant-speaks-first\",\n \"voicemailDetection\": {\n \"provider\": \"google\",\n \"beepMaxAwaitSeconds\": 30,\n \"backoffPlan\": {\n \"startAtSeconds\": 5,\n \"frequencySeconds\": 5,\n \"maxRetries\": 6\n }\n },\n \"clientMessages\": [\n \"conversation-update\",\n \"function-call\",\n \"hang\",\n \"model-output\",\n \"speech-update\",\n \"status-update\",\n \"transfer-update\",\n \"transcript\",\n \"tool-calls\",\n \"user-interrupted\",\n \"voice-input\",\n \"workflow.node.started\"\n ],\n \"serverMessages\": [\n \"conversation-update\",\n \"end-of-call-report\",\n \"function-call\",\n \"hang\",\n \"speech-update\",\n \"status-update\",\n \"tool-calls\",\n \"transfer-destination-request\",\n \"user-interrupted\"\n ],\n \"silenceTimeoutSeconds\": 30,\n \"maxDurationSeconds\": 600,\n \"backgroundSound\": \"office\",\n \"backgroundDenoisingEnabled\": false,\n \"modelOutputInMessagesEnabled\": false,\n \"transportConfigurations\": [\n {\n \"provider\": \"twilio\",\n \"timeout\": 60,\n \"record\": false,\n \"recordingChannels\": \"mono\"\n }\n ],\n \"credentials\": [\n {\n \"provider\": \"anthropic\",\n \"apiKey\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"hooks\": [\n {\n \"on\": \"call.ending\",\n \"do\": [\n {\n \"type\": \"transfer\",\n \"destination\": {\n \"type\": \"number\",\n \"number\": \"<string>\",\n \"message\": \"<string>\",\n \"numberE164CheckEnabled\": true,\n \"extension\": \"<string>\",\n \"callerId\": \"<string>\",\n \"description\": \"<string>\"\n }\n }\n ],\n \"filters\": [\n {\n \"type\": \"oneOf\",\n \"key\": \"<string>\",\n \"oneOf\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"variableValues\": {},\n \"name\": \"<string>\",\n \"voicemailMessage\": \"<string>\",\n \"endCallMessage\": \"<string>\",\n \"endCallPhrases\": [\n \"<string>\"\n ],\n \"compliancePlan\": {\n \"hipaaEnabled\": {\n \"hipaaEnabled\": false\n },\n \"pciEnabled\": {\n \"pciEnabled\": false\n }\n },\n \"metadata\": {},\n \"backgroundSpeechDenoisingPlan\": {\n \"smartDenoisingPlan\": {\n \"enabled\": false\n },\n \"fourierDenoisingPlan\": {\n \"enabled\": false,\n \"mediaDetectionEnabled\": true,\n \"staticThreshold\": -35,\n \"baselineOffsetDb\": -15,\n \"windowSizeMs\": 3000,\n \"baselinePercentile\": 85\n }\n },\n \"analysisPlan\": {\n \"minMessagesThreshold\": 1,\n \"summaryPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataMultiPlan\": [\n {\n \"key\": \"<string>\",\n \"plan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n }\n ],\n \"successEvaluationPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n },\n \"artifactPlan\": {\n \"recordingEnabled\": true,\n \"videoRecordingEnabled\": false,\n \"pcapEnabled\": true,\n \"pcapS3PathPrefix\": \"/pcaps\",\n \"transcriptPlan\": {\n \"enabled\": true,\n \"assistantName\": \"<string>\",\n \"userName\": \"<string>\"\n },\n \"recordingPath\": \"<string>\"\n },\n \"messagePlan\": {\n \"idleMessages\": [\n \"<string>\"\n ],\n \"idleMessageMaxSpokenCount\": 5.5,\n \"idleMessageResetCountOnUserSpeechEnabled\": true,\n \"idleTimeoutSeconds\": 32.5,\n \"silenceTimeoutMessage\": \"<string>\"\n },\n \"startSpeakingPlan\": {\n \"waitSeconds\": 0.4,\n \"smartEndpointingEnabled\": false,\n \"smartEndpointingPlan\": {\n \"provider\": \"cozmox\"\n },\n \"customEndpointingRules\": [\n {\n \"type\": \"assistant\",\n \"regex\": \"<string>\",\n \"timeoutSeconds\": 7.5,\n \"regexOptions\": [\n {\n \"enabled\": true\n }\n ]\n }\n ],\n \"transcriptionEndpointingPlan\": {\n \"onPunctuationSeconds\": 0.1,\n \"onNoPunctuationSeconds\": 1.5,\n \"onNumberSeconds\": 0.5\n }\n },\n \"stopSpeakingPlan\": {\n \"numWords\": 0,\n \"voiceSeconds\": 0.2,\n \"backoffSeconds\": 1,\n \"acknowledgementPhrases\": [\n \"i understand\",\n \"i see\",\n \"i got it\",\n \"i hear you\",\n \"im listening\",\n \"im with you\",\n \"right\",\n \"okay\",\n \"ok\",\n \"sure\",\n \"alright\",\n \"got it\",\n \"understood\",\n \"yeah\",\n \"yes\",\n \"uh-huh\",\n \"mm-hmm\",\n \"gotcha\",\n \"mhmm\",\n \"ah\",\n \"yeah okay\",\n \"yeah sure\"\n ],\n \"interruptionPhrases\": [\n \"stop\",\n \"shut\",\n \"up\",\n \"enough\",\n \"quiet\",\n \"silence\",\n \"but\",\n \"dont\",\n \"not\",\n \"no\",\n \"hold\",\n \"wait\",\n \"cut\",\n \"pause\",\n \"nope\",\n \"nah\",\n \"nevermind\",\n \"never\",\n \"bad\",\n \"actually\"\n ]\n },\n \"monitorPlan\": {\n \"listenEnabled\": false,\n \"listenAuthenticationEnabled\": false,\n \"controlEnabled\": false,\n \"controlAuthenticationEnabled\": false\n },\n \"credentialIds\": [\n \"<string>\"\n ],\n \"server\": {\n \"timeoutSeconds\": 20,\n \"url\": \"<string>\",\n \"headers\": {}\n },\n \"keypadInputPlan\": {\n \"enabled\": true,\n \"timeoutSeconds\": 5\n }\n },\n \"number\": \"<string>\",\n \"sipUri\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n ],\n \"assistantId\": \"<string>\",\n \"workflowId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cozmox.ai/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Q2 Sales Campaign\",\n \"phoneNumberId\": \"<string>\",\n \"customers\": [\n {\n \"numberE164CheckEnabled\": true,\n \"extension\": null,\n \"assistantOverrides\": {\n \"transcriber\": {\n \"provider\": \"assembly-ai\",\n \"language\": \"en\",\n \"confidenceThreshold\": 0.4,\n \"enableUniversalStreamingApi\": false,\n \"formatTurns\": false,\n \"endOfTurnConfidenceThreshold\": 0.7,\n \"minEndOfTurnSilenceWhenConfident\": 160,\n \"wordFinalizationMaxWaitTime\": 160,\n \"maxTurnSilence\": 400,\n \"realtimeUrl\": \"<string>\",\n \"wordBoost\": [\n \"<string>\"\n ],\n \"endUtteranceSilenceThreshold\": 123,\n \"disablePartialTranscripts\": true\n },\n \"model\": {\n \"provider\": \"anthropic\",\n \"messages\": [\n {\n \"content\": \"<string>\"\n }\n ],\n \"tools\": [\n {\n \"type\": \"apiRequest\",\n \"url\": \"<string>\",\n \"messages\": [\n {\n \"type\": \"request-start\",\n \"contents\": [\n \"<unknown>\"\n ],\n \"blocking\": false,\n \"content\": \"<string>\",\n \"conditions\": [\n {\n \"param\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n ],\n \"timeoutSeconds\": 20,\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"variableExtractionPlan\": {\n \"aliases\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n }\n }\n ],\n \"toolIds\": [\n \"<string>\"\n ],\n \"knowledgeBaseId\": \"<string>\",\n \"temperature\": 1,\n \"maxTokens\": 5025,\n \"emotionRecognitionEnabled\": true,\n \"numFastTurns\": 1\n },\n \"voice\": {\n \"provider\": \"azure\",\n \"cachingEnabled\": true,\n \"chunkPlan\": {\n \"enabled\": true,\n \"minCharacters\": 30,\n \"punctuationBoundaries\": [\n \"。\",\n \",\",\n \".\",\n \"!\",\n \"?\",\n \";\",\n \"،\",\n \"۔\",\n \"।\",\n \"॥\",\n \"|\",\n \"||\",\n \",\",\n \":\"\n ],\n \"formatPlan\": {\n \"enabled\": true,\n \"numberToDigitsCutoff\": 2025,\n \"replacements\": [\n {\n \"type\": \"exact\",\n \"key\": \"<string>\",\n \"value\": \"<string>\",\n \"replaceAllEnabled\": false\n }\n ]\n }\n },\n \"speed\": 1.25\n },\n \"firstMessage\": \"Hello! How can I help you today?\",\n \"firstMessageInterruptionsEnabled\": false,\n \"firstMessageMode\": \"assistant-speaks-first\",\n \"voicemailDetection\": {\n \"provider\": \"google\",\n \"beepMaxAwaitSeconds\": 30,\n \"backoffPlan\": {\n \"startAtSeconds\": 5,\n \"frequencySeconds\": 5,\n \"maxRetries\": 6\n }\n },\n \"clientMessages\": [\n \"conversation-update\",\n \"function-call\",\n \"hang\",\n \"model-output\",\n \"speech-update\",\n \"status-update\",\n \"transfer-update\",\n \"transcript\",\n \"tool-calls\",\n \"user-interrupted\",\n \"voice-input\",\n \"workflow.node.started\"\n ],\n \"serverMessages\": [\n \"conversation-update\",\n \"end-of-call-report\",\n \"function-call\",\n \"hang\",\n \"speech-update\",\n \"status-update\",\n \"tool-calls\",\n \"transfer-destination-request\",\n \"user-interrupted\"\n ],\n \"silenceTimeoutSeconds\": 30,\n \"maxDurationSeconds\": 600,\n \"backgroundSound\": \"office\",\n \"backgroundDenoisingEnabled\": false,\n \"modelOutputInMessagesEnabled\": false,\n \"transportConfigurations\": [\n {\n \"provider\": \"twilio\",\n \"timeout\": 60,\n \"record\": false,\n \"recordingChannels\": \"mono\"\n }\n ],\n \"credentials\": [\n {\n \"provider\": \"anthropic\",\n \"apiKey\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"hooks\": [\n {\n \"on\": \"call.ending\",\n \"do\": [\n {\n \"type\": \"transfer\",\n \"destination\": {\n \"type\": \"number\",\n \"number\": \"<string>\",\n \"message\": \"<string>\",\n \"numberE164CheckEnabled\": true,\n \"extension\": \"<string>\",\n \"callerId\": \"<string>\",\n \"description\": \"<string>\"\n }\n }\n ],\n \"filters\": [\n {\n \"type\": \"oneOf\",\n \"key\": \"<string>\",\n \"oneOf\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"variableValues\": {},\n \"name\": \"<string>\",\n \"voicemailMessage\": \"<string>\",\n \"endCallMessage\": \"<string>\",\n \"endCallPhrases\": [\n \"<string>\"\n ],\n \"compliancePlan\": {\n \"hipaaEnabled\": {\n \"hipaaEnabled\": false\n },\n \"pciEnabled\": {\n \"pciEnabled\": false\n }\n },\n \"metadata\": {},\n \"backgroundSpeechDenoisingPlan\": {\n \"smartDenoisingPlan\": {\n \"enabled\": false\n },\n \"fourierDenoisingPlan\": {\n \"enabled\": false,\n \"mediaDetectionEnabled\": true,\n \"staticThreshold\": -35,\n \"baselineOffsetDb\": -15,\n \"windowSizeMs\": 3000,\n \"baselinePercentile\": 85\n }\n },\n \"analysisPlan\": {\n \"minMessagesThreshold\": 1,\n \"summaryPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n },\n \"structuredDataMultiPlan\": [\n {\n \"key\": \"<string>\",\n \"plan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n }\n ],\n \"successEvaluationPlan\": {\n \"messages\": [\n {}\n ],\n \"enabled\": true,\n \"timeoutSeconds\": 30.5\n }\n },\n \"artifactPlan\": {\n \"recordingEnabled\": true,\n \"videoRecordingEnabled\": false,\n \"pcapEnabled\": true,\n \"pcapS3PathPrefix\": \"/pcaps\",\n \"transcriptPlan\": {\n \"enabled\": true,\n \"assistantName\": \"<string>\",\n \"userName\": \"<string>\"\n },\n \"recordingPath\": \"<string>\"\n },\n \"messagePlan\": {\n \"idleMessages\": [\n \"<string>\"\n ],\n \"idleMessageMaxSpokenCount\": 5.5,\n \"idleMessageResetCountOnUserSpeechEnabled\": true,\n \"idleTimeoutSeconds\": 32.5,\n \"silenceTimeoutMessage\": \"<string>\"\n },\n \"startSpeakingPlan\": {\n \"waitSeconds\": 0.4,\n \"smartEndpointingEnabled\": false,\n \"smartEndpointingPlan\": {\n \"provider\": \"cozmox\"\n },\n \"customEndpointingRules\": [\n {\n \"type\": \"assistant\",\n \"regex\": \"<string>\",\n \"timeoutSeconds\": 7.5,\n \"regexOptions\": [\n {\n \"enabled\": true\n }\n ]\n }\n ],\n \"transcriptionEndpointingPlan\": {\n \"onPunctuationSeconds\": 0.1,\n \"onNoPunctuationSeconds\": 1.5,\n \"onNumberSeconds\": 0.5\n }\n },\n \"stopSpeakingPlan\": {\n \"numWords\": 0,\n \"voiceSeconds\": 0.2,\n \"backoffSeconds\": 1,\n \"acknowledgementPhrases\": [\n \"i understand\",\n \"i see\",\n \"i got it\",\n \"i hear you\",\n \"im listening\",\n \"im with you\",\n \"right\",\n \"okay\",\n \"ok\",\n \"sure\",\n \"alright\",\n \"got it\",\n \"understood\",\n \"yeah\",\n \"yes\",\n \"uh-huh\",\n \"mm-hmm\",\n \"gotcha\",\n \"mhmm\",\n \"ah\",\n \"yeah okay\",\n \"yeah sure\"\n ],\n \"interruptionPhrases\": [\n \"stop\",\n \"shut\",\n \"up\",\n \"enough\",\n \"quiet\",\n \"silence\",\n \"but\",\n \"dont\",\n \"not\",\n \"no\",\n \"hold\",\n \"wait\",\n \"cut\",\n \"pause\",\n \"nope\",\n \"nah\",\n \"nevermind\",\n \"never\",\n \"bad\",\n \"actually\"\n ]\n },\n \"monitorPlan\": {\n \"listenEnabled\": false,\n \"listenAuthenticationEnabled\": false,\n \"controlEnabled\": false,\n \"controlAuthenticationEnabled\": false\n },\n \"credentialIds\": [\n \"<string>\"\n ],\n \"server\": {\n \"timeoutSeconds\": 20,\n \"url\": \"<string>\",\n \"headers\": {}\n },\n \"keypadInputPlan\": {\n \"enabled\": true,\n \"timeoutSeconds\": 5\n }\n },\n \"number\": \"<string>\",\n \"sipUri\": \"<string>\",\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"externalId\": \"<string>\"\n }\n ],\n \"assistantId\": \"<string>\",\n \"workflowId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"name": "Q2 Sales Campaign",
"phoneNumberId": "<string>",
"customers": [
{
"numberE164CheckEnabled": true,
"extension": null,
"assistantOverrides": {
"transcriber": {
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": false,
"formatTurns": false,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": [
"<string>"
],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": true,
"fallbackPlan": {
"transcribers": [
{
"provider": "assembly-ai",
"language": "en",
"confidenceThreshold": 0.4,
"enableUniversalStreamingApi": false,
"formatTurns": false,
"endOfTurnConfidenceThreshold": 0.7,
"minEndOfTurnSilenceWhenConfident": 160,
"wordFinalizationMaxWaitTime": 160,
"maxTurnSilence": 400,
"realtimeUrl": "<string>",
"wordBoost": [
"<string>"
],
"endUtteranceSilenceThreshold": 123,
"disablePartialTranscripts": true
}
]
}
},
"model": {
"provider": "anthropic",
"messages": [
{
"content": "<string>"
}
],
"tools": [
{
"type": "apiRequest",
"url": "<string>",
"messages": [
{
"type": "request-start",
"contents": [
"<unknown>"
],
"blocking": false,
"content": "<string>",
"conditions": [
{
"param": "<string>",
"value": "<string>"
}
]
}
],
"timeoutSeconds": 20,
"name": "<string>",
"description": "<string>",
"body": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"headers": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"backoffPlan": {
"type": "fixed",
"maxRetries": 0,
"baseDelaySeconds": 1
},
"variableExtractionPlan": {
"schema": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"aliases": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"function": {
"name": "<string>",
"strict": false,
"description": "<string>",
"parameters": {
"type": "object",
"properties": {},
"required": [
"<string>"
]
}
}
}
],
"toolIds": [
"<string>"
],
"knowledgeBase": {
"provider": "custom-knowledge-base",
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {},
"backoffPlan": {
"type": "fixed",
"maxRetries": 0,
"baseDelaySeconds": 1
}
}
},
"knowledgeBaseId": "<string>",
"thinking": {
"type": "enabled",
"budgetTokens": 50512
},
"temperature": 1,
"maxTokens": 5025,
"emotionRecognitionEnabled": true,
"numFastTurns": 1
},
"voice": {
"provider": "azure",
"cachingEnabled": true,
"chunkPlan": {
"enabled": true,
"minCharacters": 30,
"punctuationBoundaries": [
"。",
",",
".",
"!",
"?",
";",
"،",
"۔",
"।",
"॥",
"|",
"||",
",",
":"
],
"formatPlan": {
"enabled": true,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": false
}
]
}
},
"speed": 1.25,
"fallbackPlan": {
"voices": [
{
"provider": "azure",
"cachingEnabled": true,
"speed": 1.25,
"chunkPlan": {
"enabled": true,
"minCharacters": 30,
"punctuationBoundaries": [
"。",
",",
".",
"!",
"?",
";",
"،",
"۔",
"।",
"॥",
"|",
"||",
",",
":"
],
"formatPlan": {
"enabled": true,
"numberToDigitsCutoff": 2025,
"replacements": [
{
"type": "exact",
"key": "<string>",
"value": "<string>",
"replaceAllEnabled": false
}
]
}
}
}
]
}
},
"firstMessage": "Hello! How can I help you today?",
"firstMessageInterruptionsEnabled": false,
"firstMessageMode": "assistant-speaks-first",
"voicemailDetection": {
"provider": "google",
"beepMaxAwaitSeconds": 30,
"backoffPlan": {
"startAtSeconds": 5,
"frequencySeconds": 5,
"maxRetries": 6
}
},
"clientMessages": [
"conversation-update",
"function-call",
"hang",
"model-output",
"speech-update",
"status-update",
"transfer-update",
"transcript",
"tool-calls",
"user-interrupted",
"voice-input",
"workflow.node.started"
],
"serverMessages": [
"conversation-update",
"end-of-call-report",
"function-call",
"hang",
"speech-update",
"status-update",
"tool-calls",
"transfer-destination-request",
"user-interrupted"
],
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"backgroundSound": "office",
"backgroundDenoisingEnabled": false,
"modelOutputInMessagesEnabled": false,
"transportConfigurations": [
{
"provider": "twilio",
"timeout": 60,
"record": false,
"recordingChannels": "mono"
}
],
"observabilityPlan": {
"provider": "langfuse",
"tags": [
"<string>"
],
"metadata": {}
},
"credentials": [
{
"provider": "anthropic",
"apiKey": "<string>",
"name": "<string>"
}
],
"hooks": [
{
"on": "call.ending",
"do": [
{
"type": "transfer",
"destination": {
"type": "number",
"number": "<string>",
"message": "<string>",
"numberE164CheckEnabled": true,
"extension": "<string>",
"callerId": "<string>",
"transferPlan": {
"message": "<string>",
"timeout": 60,
"sipVerb": "refer",
"holdAudioUrl": "<string>",
"transferCompleteAudioUrl": "<string>",
"twiml": "<string>",
"summaryPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"sipHeadersInReferToEnabled": true,
"fallbackPlan": {
"message": "<string>",
"endCallEnabled": true
}
},
"description": "<string>"
}
}
],
"filters": [
{
"type": "oneOf",
"key": "<string>",
"oneOf": [
"<string>"
]
}
]
}
],
"variableValues": {},
"name": "<string>",
"voicemailMessage": "<string>",
"endCallMessage": "<string>",
"endCallPhrases": [
"<string>"
],
"compliancePlan": {
"hipaaEnabled": {
"hipaaEnabled": false
},
"pciEnabled": {
"pciEnabled": false
}
},
"metadata": {},
"backgroundSpeechDenoisingPlan": {
"smartDenoisingPlan": {
"enabled": false
},
"fourierDenoisingPlan": {
"enabled": false,
"mediaDetectionEnabled": true,
"staticThreshold": -35,
"baselineOffsetDb": -15,
"windowSizeMs": 3000,
"baselinePercentile": 85
}
},
"analysisPlan": {
"minMessagesThreshold": 1,
"summaryPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
},
"structuredDataPlan": {
"messages": [
{}
],
"enabled": true,
"schema": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"timeoutSeconds": 30.5
},
"structuredDataMultiPlan": [
{
"key": "<string>",
"plan": {
"messages": [
{}
],
"enabled": true,
"schema": {
"items": {},
"properties": {},
"description": "<string>",
"pattern": "<string>",
"required": [
"<string>"
],
"enum": [
"<string>"
],
"title": "<string>"
},
"timeoutSeconds": 30.5
}
}
],
"successEvaluationPlan": {
"messages": [
{}
],
"enabled": true,
"timeoutSeconds": 30.5
}
},
"artifactPlan": {
"recordingEnabled": true,
"videoRecordingEnabled": false,
"pcapEnabled": true,
"pcapS3PathPrefix": "/pcaps",
"transcriptPlan": {
"enabled": true,
"assistantName": "<string>",
"userName": "<string>"
},
"recordingPath": "<string>"
},
"messagePlan": {
"idleMessages": [
"<string>"
],
"idleMessageMaxSpokenCount": 5.5,
"idleMessageResetCountOnUserSpeechEnabled": true,
"idleTimeoutSeconds": 32.5,
"silenceTimeoutMessage": "<string>"
},
"startSpeakingPlan": {
"waitSeconds": 0.4,
"smartEndpointingEnabled": false,
"smartEndpointingPlan": {
"provider": "cozmox"
},
"customEndpointingRules": [
{
"type": "assistant",
"regex": "<string>",
"timeoutSeconds": 7.5,
"regexOptions": [
{
"enabled": true
}
]
}
],
"transcriptionEndpointingPlan": {
"onPunctuationSeconds": 0.1,
"onNoPunctuationSeconds": 1.5,
"onNumberSeconds": 0.5
}
},
"stopSpeakingPlan": {
"numWords": 0,
"voiceSeconds": 0.2,
"backoffSeconds": 1,
"acknowledgementPhrases": [
"i understand",
"i see",
"i got it",
"i hear you",
"im listening",
"im with you",
"right",
"okay",
"ok",
"sure",
"alright",
"got it",
"understood",
"yeah",
"yes",
"uh-huh",
"mm-hmm",
"gotcha",
"mhmm",
"ah",
"yeah okay",
"yeah sure"
],
"interruptionPhrases": [
"stop",
"shut",
"up",
"enough",
"quiet",
"silence",
"but",
"dont",
"not",
"no",
"hold",
"wait",
"cut",
"pause",
"nope",
"nah",
"nevermind",
"never",
"bad",
"actually"
]
},
"monitorPlan": {
"listenEnabled": false,
"listenAuthenticationEnabled": false,
"controlEnabled": false,
"controlAuthenticationEnabled": false
},
"credentialIds": [
"<string>"
],
"server": {
"timeoutSeconds": 20,
"url": "<string>",
"headers": {},
"backoffPlan": {
"type": "fixed",
"maxRetries": 0,
"baseDelaySeconds": 1
}
},
"keypadInputPlan": {
"enabled": true,
"timeoutSeconds": 5
}
},
"number": "<string>",
"sipUri": "<string>",
"name": "<string>",
"email": "<string>",
"externalId": "<string>"
}
],
"id": "<string>",
"orgId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"calls": {},
"callsCounterScheduled": 123,
"callsCounterQueued": 123,
"callsCounterInProgress": 123,
"callsCounterEndedVoicemail": 123,
"callsCounterEnded": 123,
"assistantId": "<string>",
"workflowId": "<string>",
"schedulePlan": {
"earliestAt": "2023-11-07T05:31:56Z",
"latestAt": "2023-11-07T05:31:56Z"
}
}Authorizations
Retrieve your API Key from Dashboard [blocked].
Body
This is the name of the campaign. This is just for your own reference.
"Q2 Sales Campaign"
This is the phone number ID that will be used for the campaign calls.
These are the customers that will be called in the campaign.
Show child attributes
Show child attributes
This is the assistant ID that will be used for the campaign calls. Note: Either assistantId or workflowId can be used, but not both.
This is the workflow ID that will be used for the campaign calls. Note: Either assistantId or workflowId can be used, but not both.
This is the schedule plan for the campaign.
Show child attributes
Show child attributes
Response
This is the status of the campaign.
scheduled, in-progress, ended This is the name of the campaign. This is just for your own reference.
"Q2 Sales Campaign"
This is the phone number ID that will be used for the campaign calls.
These are the customers that will be called in the campaign.
Show child attributes
Show child attributes
This is the unique identifier for the campaign.
This is the unique identifier for the org that this campaign belongs to.
This is the ISO 8601 date-time string of when the campaign was created.
This is the ISO 8601 date-time string of when the campaign was last updated.
This is a map of call IDs to campaign call details.
This is the number of calls that have been scheduled.
This is the number of calls that have been queued.
This is the number of calls that have been in progress.
This is the number of calls whose ended reason is 'voicemail'.
This is the number of calls that have ended.
This is the explanation for how the campaign ended.
campaign.scheduled.ended-by-user, campaign.in-progress.ended-by-user, campaign.ended.success This is the assistant ID that will be used for the campaign calls. Note: Either assistantId or workflowId can be used, but not both.
This is the workflow ID that will be used for the campaign calls. Note: Either assistantId or workflowId can be used, but not both.
This is the schedule plan for the campaign.
Show child attributes
Show child attributes