Skip to main content
PUT
Update Agent By External Id
Integration Prompt for AI Agents
Given the external agent ID and, optionally, the name, system prompt, knowledge base, phone number, and goals, this endpoint updates your agent and returns the updates made to your agent.

Headers

X-Organization-Id
string
X-API-Key
string
required

API key required to authenticate requests.

Body

application/json
external_agent_id
string
required

External agent ID for the agent

name
string | null

Name of the agent

system_prompt
string | null

System prompt for the agent

phone_number
string | null

Phone number associated with the agent

goals
string[] | null

List of goals for the agent

type
enum<string> | null

INBOUND: Agent receives incoming calls from customers OUTBOUND: Agent makes outgoing calls to customers

Available options:
INBOUND,
OUTBOUND
connection_type
enum<string> | null

Connection type of the agent (Livekit, Websocket, etc.)

Available options:
SMS,
HTTP_WEBHOOK,
PHONE,
SIP,
WEBSOCKET,
LIVEKIT,
PIPECAT,
ELEVEN_LABS,
RETELL,
VAPI,
KORE,
OPENAI_CHAT,
SIERRA_VOICE,
AMELIA_CHAT,
AMELIA_VOICE,
GOOGLE_CES_CHAT,
GOOGLE_CES_VOICE,
GOOGLE_DFCX_VOICE,
GOOGLE_DFCX_CHAT,
BLAND_PHONE,
BLAND_VOICE,
BLAND_CHAT,
EMAIL
mode
enum<string> | null

Modality of the agent

Available options:
VOICE,
TEXT,
EMAIL
keyterms
string[] | null

List of keyterms for the agent

follow_up_sms_sender_numbers
string[] | null

E.164 campaign numbers authorized to send this agent's follow-up SMS

folder
string | null

Name of the folder to put the agent in

websocket_url
string | null

WebSocket URL for real-time communication

websocket_username
string | null

Username for WebSocket authentication

websocket_password
string | null

Password for WebSocket authentication

sip_uri
string | null

SIP URI for VoIP calls

sip_username
string | null

Username for SIP authentication

sip_password
string | null

Password for SIP authentication

custom_sip_headers
Custom Sip Headers · object | null

Custom headers for SIP requests

dynamic_sip_webhook_url
string | null

Per-call SIP endpoint webhook. When set (SIP connection), each call fetches its destination SIP URI from this URL at dial time.

outbound_trigger_webhook_url
string | null

Customer-dialed sims: Bluejay POSTs a rendered payload to this URL at dispatch so the customer's own flow dials their agent into the receiving digital human.

outbound_trigger_payload_template
Outbound Trigger Payload Template · object | null

JSON template for the outbound trigger webhook body; {{tokens}} like {{digital_human.phone_number}} are filled per call.

redact_pii
boolean | null

Enable/disable PII redaction

livekit_agent_name
string | null

LiveKit agent name

livekit_metadata
Livekit Metadata · object | null

LiveKit metadata

livekit_customer_tool_topic
string | null

LiveKit customer tool topic

livekit_token_webhook_url
string | null

Webhook URL Bluejay calls per simulated call to fetch a LiveKit room token; alternative to storing the org's LiveKit API key/secret. Empty string clears the field.

livekit_token_webhook_auth
string | null

Value of the Authorization header Bluejay sends on the token-webhook POST (e.g. 'Bearer '). Stored encrypted. Empty string clears the field.

pipecat_agent_name
string | null

Pipecat agent name

pipecat_agent_configuration
Pipecat Agent Configuration · object | null

Pipecat agent configuration

pipecat_room_properties
Pipecat Room Properties · object | null

Pipecat room properties

http_webhook
string | null

HTTP webhook URL for text agent communication

http_webhook_sync_reply
boolean | null

HTTP_WEBHOOK text agents: your endpoint answers in the HTTP response body instead of calling /send-http-text-message. Bluejay reads the reply out of that response.

voice_provider
string | null

Voice provider for the agent

provider_id
string | null

Provider ID for the agent

eleven_labs_agent_id
string | null

ElevenLabs Convai agent_id (for ELEVEN_LABS connection type; the xi-api-key lives in the org's integrations row)

retell_agent_id
string | null

Retell agent_id (for RETELL connection type; the retell_key lives in the org's integrations row)

vapi_assistant_id
string | null

Vapi assistant_id (for VAPI connection type; the vapi_private_key lives in the org's integrations row)

ces_app_id
string | null

Google CES app id (for GOOGLE_CES_VOICE / GOOGLE_CES_CHAT; the WIF JSON lives in the org's integrations row)

ces_deployment_id
string | null

Google CES deployment id (deployment is bound to a specific app version)

dfcx_project_id
string | null

Google Dialogflow CX GCP project ID (for GOOGLE_DFCX_VOICE / GOOGLE_DFCX_CHAT; the WIF JSON lives in the org's integrations row)

dfcx_location
string | null

Google Dialogflow CX location (e.g. us-central1, global)

dfcx_agent_id
string | null

Google Dialogflow CX agent UUID (from the DFCX agent resource)

amelia_base_url
string | null

Amelia deployment base URL including context root (e.g. https://tenant.amelia.com/Amelia)

amelia_domain_code
string | null

Amelia domain code the conversation opens against (from /api/init -> domains[].code)

amelia_flow_name
string | null

Which conversation flow in the Amelia domain this agent tracks (required for workflow sync)

amelia_agent_name
string | null

Which cognitive agent in the Amelia domain this agent tracks (takes precedence over amelia_flow_name for workflow sync)

kore_host
string | null

Kore.ai platform host (e.g. https://kb.est.k8s.qa.kore.aws.spctrm.net)

kore_bot_id
string | null

Kore.ai bot ID (e.g. st-d536681d-...)

kore_client_id
string | null

Kore.ai webhook app Client ID (cs-...)

kore_client_secret
string | null

Kore.ai webhook app Client Secret (HS256); stored encrypted

openai_base_url
string | null

Base URL of an OpenAI-compatible API, e.g. https://example.com/v1; the driver appends /chat/completions

openai_api_key
string | null

Bearer key for that API; stored encrypted. Omit for an agent behind no auth

openai_model
string | null

Model name sent in the request; many compatible servers ignore it

email_address
string | null

EMAIL connection: the customer agent's inbox the digital human emails

email_reply_addresses
string[] | null

EMAIL connection: other addresses the customer agent may reply from. The digital human always writes to email_address; a reply from any listed address is accepted once it authenticates.

bland_pathway_id
string | null

Bland pathway id the agent runs (for BLAND_VOICE / BLAND_CHAT; the bland_api_key lives in the org's integrations row)

bland_agent_id
string | null

Bland web agent id bound to the pathway (required for BLAND_VOICE: a pathway itself cannot be dialled)

sierra_agent_token
string | null

Sierra agent token: the URL path segment naming the agent in the Sierra Voice Protocol (for SIERRA_VOICE; the org's headless API token lives in the integrations row)

sierra_release
string | null

Sierra release to pin the conversation to: a release target name (e.g. staging, production) or a release hash. Empty string clears the field.

sierra_agent_parameters
Sierra Agent Parameters · object | null

Sierra agentParameters: a map of string key/value pairs the agent receives as request parameters at open (at most 512 entries)

bland_call_settings
Bland Call Settings · object | null

Bland send-call params for this agent's dispatch (voicemail_action, interruption_threshold, max_duration, voice...). Unset keys inherit Bland's own defaults; unknown keys are refused. Pass {} to clear.

enable_outbound_call_auto_start
boolean | null

Automatically initiate an outbound call when a test result reaches READY state

simulations_disabled
boolean | null

Enable/disable simulations for this agent

workflow
Workflow · object | null

Provider-specific workflow definition (e.g. full ElevenLabs Get Agent response). Parsing depends on provider.

provider
enum<string> | null

Source platform the agent's definition comes from.

Available options:
CUSTOM,
ELEVENLABS,
VAPI,
RETELL,
GOOGLE_CES_VOICE,
GOOGLE_CES_CHAT,
GOOGLE_DFCX_VOICE,
GOOGLE_DFCX_CHAT,
AMELIA,
BLAND

Response

Successful Response

agent
AgentUpdateRequest · object
required

Updated agent details

status
string
default:200

Status of the response

http_webhook_key
string | null

Signing key for HTTP webhook (only provided if http_webhook was set)