Skip to main content
PUT
/
api
/
v1
/
agents
/
{agentId}
Update an existing conversational AI agent
const options = {
  method: 'PUT',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    name: '<string>',
    config: {
      primaryLanguage: '<string>',
      ttsConfig: {
        voiceId: '<string>',
        vendor: 'ElevenLabs',
        model: null,
        speed: 1,
        speedAdjustment: {version: 'v1', strategy: 'OnRequest'},
        vendorSpecificOptions: {}
      },
      llmConfig: {
        model: '<string>',
        vendor: 'openai',
        prompt: '<string>',
        apiKey: null,
        endpoint: null,
        options: {
          temperature: null,
          maxTokens: null,
          topP: null,
          frequencyPenalty: null,
          presencePenalty: null,
          stop: null,
          trailingPrompt: null,
          reasoningMode: null,
          maxRetries: null,
          reasoningEffort: null
        },
        vendorSpecificOptions: {},
        toolScopes: null
      },
      sttConfig: {version: 'v1', vendor: 'Auto', vendorSpecificOptions: {}},
      outboundSipConfig: {
        server: '<string>',
        authUser: '<string>',
        domain: null,
        password: null,
        fromUser: null,
        transport: 'udp',
        cpsLimit: null,
        cpsKey: null,
        displayName: null
      },
      resultWebhook: {
        url: '<string>',
        headers: {},
        customSettings: {httpMethod: 'GET', queryParams: {}, bodyFormat: {template: '<string>'}}
      },
      features: {
        version: 'v1',
        postCallAnalysis: [],
        talkFirst: {version: 'v1', delay: 1, isEnabled: false, interruptible: true},
        maxDuration: {
          version: 'v1',
          maxDurationSeconds: 3600,
          maxDurationInTransferSeconds: 7200,
          isEnabled: true
        },
        ivrDetection: {
          version: 'v1',
          isEnabled: true,
          enabledForChat: false,
          enabledForInbound: false,
          enabledForOutbound: true,
          enabledForWebCall: false
        },
        ambientNoise: {version: 'v1', isEnabled: false, ambientNoiseLevel: 0.1},
        languageSwitching: {version: 'v1', isEnabled: true},
        fillers: {version: 'v1', isEnabled: true, strategy: {type: 'static', texts: ['um']}}
      },
      mcpConnections: [
        {
          name: '<string>',
          serverUrl: '<string>',
          authentication: {apiKey: '<string>', headerName: '<string>'},
          customHeaders: {},
          isEnabled: true,
          description: null,
          transport: 'SSE',
          blackListTools: null,
          whiteListTools: null
        }
      ],
      startWebhook: {
        webhook: {
          url: '<string>',
          headers: {},
          customSettings: {httpMethod: 'GET', queryParams: {}, bodyFormat: {template: '<string>'}}
        },
        fallbackResponse: {accept: false, reasonMessage: 'Webhook for started webhook failed'},
        isEnabledForInbound: false,
        isEnabledForOutbound: false,
        isEnabledForWidget: false,
        timeout: 10
      },
      tools: [
        {
          name: '<string>',
          schema: {},
          webhook: {
            url: '<string>',
            headers: {},
            customSettings: {httpMethod: 'GET', queryParams: {}, bodyFormat: {template: '<string>'}}
          },
          description: '<string>',
          fallBackResult: null,
          timeoutSeconds: null,
          retryCount: null
        }
      ]
    },
    isEnabled: true,
    description: null,
    additionalData: {},
    schedule: {
      timezone: 'UTC',
      mon: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}],
      tue: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}],
      wed: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}],
      thu: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}],
      fri: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}],
      sat: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}],
      sun: [{start: {hour: 0, minute: 0}, end: {hour: 23, minute: 59}}]
    },
    inboundSipConfig: {phoneNumber: null}
  })
};

fetch('https://blackbox.dasha.ai/api/v1/agents/{agentId}', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "name": "<string>",
  "config": {
    "primaryLanguage": "<string>",
    "ttsConfig": {
      "voiceId": "<string>",
      "vendor": "ElevenLabs",
      "version": "v1",
      "model": null,
      "speed": 1,
      "speedAdjustment": {
        "version": "v1",
        "strategy": "OnRequest"
      },
      "vendorSpecificOptions": {}
    },
    "llmConfig": {
      "model": "<string>",
      "vendor": "openai",
      "prompt": "<string>",
      "version": "v1",
      "apiKey": null,
      "endpoint": null,
      "options": {
        "temperature": null,
        "maxTokens": null,
        "topP": null,
        "frequencyPenalty": null,
        "presencePenalty": null,
        "stop": null,
        "trailingPrompt": null,
        "reasoningMode": null,
        "maxRetries": null,
        "reasoningEffort": null
      },
      "vendorSpecificOptions": {},
      "toolScopes": null
    },
    "version": "v1",
    "sttConfig": {
      "version": "v1",
      "vendor": "Auto",
      "vendorSpecificOptions": {}
    },
    "outboundSipConfig": {
      "server": "<string>",
      "authUser": "<string>",
      "domain": null,
      "password": null,
      "fromUser": null,
      "transport": "udp",
      "cpsLimit": null,
      "cpsKey": null,
      "displayName": null
    },
    "resultWebhook": {
      "url": "<string>",
      "headers": {},
      "customSettings": {
        "httpMethod": "GET",
        "queryParams": {},
        "bodyFormat": {
          "type": "Text",
          "template": "<string>"
        }
      }
    },
    "features": {
      "version": "v1",
      "postCallAnalysis": [],
      "talkFirst": {
        "version": "v1",
        "delay": 1,
        "isEnabled": false,
        "interruptible": true
      },
      "maxDuration": {
        "version": "v1",
        "maxDurationSeconds": 3600,
        "maxDurationInTransferSeconds": 7200,
        "isEnabled": true
      },
      "ivrDetection": {
        "version": "v1",
        "isEnabled": true,
        "enabledForChat": false,
        "enabledForInbound": false,
        "enabledForOutbound": true,
        "enabledForWebCall": false
      },
      "ambientNoise": {
        "version": "v1",
        "isEnabled": false,
        "ambientNoiseLevel": 0.1
      },
      "languageSwitching": {
        "version": "v1",
        "isEnabled": true
      },
      "fillers": {
        "version": "v1",
        "isEnabled": true,
        "strategy": {
          "type": "static",
          "texts": [
            "um"
          ]
        }
      }
    },
    "mcpConnections": [
      {
        "name": "<string>",
        "serverUrl": "<string>",
        "authentication": {
          "type": "apiKey",
          "apiKey": "<string>",
          "headerName": "<string>"
        },
        "customHeaders": {},
        "isEnabled": true,
        "description": null,
        "transport": "SSE",
        "blackListTools": null,
        "whiteListTools": null
      }
    ],
    "startWebhook": {
      "webhook": {
        "url": "<string>",
        "headers": {},
        "customSettings": {
          "httpMethod": "GET",
          "queryParams": {},
          "bodyFormat": {
            "type": "Text",
            "template": "<string>"
          }
        }
      },
      "version": "v1",
      "fallbackResponse": {
        "accept": false,
        "reasonMessage": "Webhook for started webhook failed"
      },
      "isEnabledForInbound": false,
      "isEnabledForOutbound": false,
      "isEnabledForWidget": false,
      "timeout": 10
    },
    "tools": [
      {
        "name": "<string>",
        "schema": {},
        "webhook": {
          "url": "<string>",
          "headers": {},
          "customSettings": {
            "httpMethod": "GET",
            "queryParams": {},
            "bodyFormat": {
              "type": "Text",
              "template": "<string>"
            }
          }
        },
        "description": "<string>",
        "fallBackResult": null,
        "timeoutSeconds": null,
        "retryCount": null
      }
    ]
  },
  "agentId": "<string>",
  "orgId": "<string>",
  "createdTime": "2023-11-07T05:31:56Z",
  "lastUpdateTime": "2023-11-07T05:31:56Z",
  "inboundSipConfig": {
    "id": "<string>",
    "phoneNumber": null,
    "sipUri": null,
    "sipTrunkUri": null
  },
  "schedule": {
    "timezone": "<string>",
    "mon": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ],
    "tue": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ],
    "wed": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ],
    "thu": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ],
    "fri": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ],
    "sat": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ],
    "sun": [
      {
        "start": {
          "hour": 0,
          "minute": 0
        },
        "end": {
          "hour": 23,
          "minute": 59
        }
      }
    ]
  },
  "isEnabled": true,
  "description": null,
  "additionalData": {}
}

Path Parameters

agentId
string
required

Unique agent identifier to update

Body

Complete updated agent configuration

name
string
required
Required string length: 1 - 100
config
object
required
isEnabled
boolean | null
default:true
description
string | null
additionalData
object
schedule
object
inboundSipConfig
object

Response

Agent updated successfully

name
string
required
Required string length: 1 - 100
config
object
required
agentId
string
required
Minimum string length: 1
orgId
string
required
Minimum string length: 1
createdTime
string<date-time>
required
lastUpdateTime
string<date-time>
required
inboundSipConfig
object
required
schedule
object
required
isEnabled
boolean | null
default:true
description
string | null
additionalData
object