Create agent
POST
Add an agent to a workspace. Providers, models and voice are all required.
Access: workspace_admin · API key agents:write
api-keyheader
AuthorizationBearer <sk_waylo_<lookup><secret><checksum>>application/json- body
workspaceId*stringFormat
uuidname*stringLength
length <= 100greeting*stringLength
length <= 500systemPrompt*stringLength
length <= 20000language?stringMatch
^[a-z]{2,3}$Default
"en"sttProvider*stringsttModel*stringsttOptions?llmProvider*stringllmModel*stringllmOptions?ttsProvider*stringttsModel*stringttsVoiceId*stringttsOptions?runtimeConfig?catalogId?|Format
uuidpresetId?|Value in
"catalog_order_assistant""item_capture_assistant"nulltoolFeedbackOverrides?spokenReply?booleanDefault
truespokenReplyPrompt?|Length
length <= 1000Created
application/json- response
id*stringworkspaceId*stringname*stringgreeting*stringsystemPrompt*stringlanguage*stringsttProvider*stringsttModel*stringsttOptions*llmProvider*stringllmModel*stringllmOptions*ttsProvider*stringttsModel*stringttsVoiceId*stringttsOptions*runtimeConfig*catalogId*string|nullcatalog*presetId*string|nulltoolFeedbackOverrides*spokenReply*booleanspokenReplyPrompt*string|nulldocuments*array<>tools*array<>destinations*array<>version*numberactive*booleancreatedByUserId*|Format
uuidcreatedByUserName*string|nullupdatedByUserId*|Format
uuidupdatedByUserName*string|nullcreatedAt*stringFormat
date-timeupdatedAt*stringFormat
date-timecurl -X POST 'https://api.poc.app.waylovoice.ai/agents' \ -H 'Authorization: Bearer sk_waylo_...' \ -H 'Content-Type: application/json' \ -d '{ "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c", "name": "string", "greeting": "string", "systemPrompt": "string", "sttProvider": "string", "sttModel": "string", "llmProvider": "string", "llmModel": "string", "ttsProvider": "string", "ttsModel": "string", "ttsVoiceId": "string"}'Example Response
{ "id": "string", "workspaceId": "string", "name": "string", "greeting": "string", "systemPrompt": "string", "language": "string", "sttProvider": "string", "sttModel": "string", "sttOptions": { "property1": "string", "property2": "string" }, "llmProvider": "string", "llmModel": "string", "llmOptions": { "property1": "string", "property2": "string" }, "ttsProvider": "string", "ttsModel": "string", "ttsVoiceId": "string", "ttsOptions": { "property1": "string", "property2": "string" }, "runtimeConfig": { "endpointing": { "mode": "fixed", "minDelayMs": 300, "maxDelayMs": 1000, "alpha": 0.9 }, "vad": { "activationThreshold": 0.5, "minSpeechDurationMs": 50, "minSilenceDurationMs": 550 }, "backgroundAudio": { "sound": "off", "volume": 0.1, "delaySeconds": 0 }, "thinkingSound": { "enabled": false, "delaySeconds": 1.5, "volume": 0.3 }, "silenceTimeoutMs": 15000, "silenceRetryAttempts": 3 }, "catalogId": "string", "catalog": { "id": "string", "name": "string", "description": "string", "active": true }, "presetId": "string", "toolFeedbackOverrides": { "property1": { "ack": [ "string" ], "filler": [ "string" ] }, "property2": { "ack": [ "string" ], "filler": [ "string" ] } }, "spokenReply": true, "spokenReplyPrompt": "string", "documents": [ { "id": "string", "name": "string" } ], "tools": [ { "id": "string", "name": "string", "type": "api_request" } ], "destinations": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" } ], "version": 0, "active": true, "createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620", "createdByUserName": "string", "updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e", "updatedByUserName": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Unassign a tool DELETE
Remove the link between an agent and a tool. The tool itself is untouched. The tool set is part of the configuration, so this bumps the agent’s `version`. **Access:** workspace_admin · API key `agents:write`
Discard agent draft DELETE
Delete the unpublished configuration. Discarding when there is none succeeds. **Access:** workspace_admin · API key `agents:write`