Store inbound call behavior on a number this account owns
const url = 'https://api.pingram.io/voice/numbers/example/inbound';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"type":"script","steps":[{"verb":"Say","text":"example"}],"privacy":{"record":true,"transcribe":true}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.pingram.io/voice/numbers/example/inbound \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "type": "script", "steps": [ { "verb": "Say", "text": "example" } ], "privacy": { "record": true, "transcribe": true } }'Authorizations
Parameters
Path Parameters
E.164 phone number
Request Bodyrequired
object
One spoken line. This slice only runs Say.
object
Omitted privacy means record and transcribe are both on.
object
object
Speech-to-speech block shared by inbound and outbound agent calls.
object
object
Which realtime model processes the call.
How varied replies are. 0 is focused, 1 is more creative. Default: 0.8.
Maximum length of one reply, in tokens. Default: 4096.
object
Which realtime model processes the call.
How varied replies are. 0 is focused, 1 is more creative. Default: 0.8.
Maximum length of one reply, in tokens. Default: 4096.
object
Which realtime model processes the call.
How varied replies are. 0 is focused, 1 is more creative. Default: 0.8.
Maximum length of one reply, in tokens. Default: 4096.
object
Which realtime model processes the call.
How varied replies are. 0 is focused, 1 is more creative. Default: 0.8.
Maximum length of one reply, in tokens. Default: 4096.
object
Which realtime model processes the call.
How varied replies are. 0 is focused, 1 is more creative. Default: 0.8.
Maximum length of one reply, in tokens. Default: 4096.
Transfer the caller to a phone number.
object
Transfer the live call to one of destinations.
Numbers the agent can transfer to. Set a condition on each when there is more than one.
object
E.164 number to transfer the caller to.
When the model should choose this number. Required when more than one destination is set.
Warm briefs the recipient before connecting. cold connects the caller immediately.
Spoken to the rep before a warm transfer connects.
Let the agent send keypad tones.
object
Send DTMF keypad tones during the call.
Let the agent hang up.
object
End the call after saying goodbye.
Look up the current weather for a city.
object
Current weather for a city the caller names.
Call an HTTPS webhook from the conversation.
object
Invoke an HTTPS webhook when the model calls this tool.
Function name the model calls.
When the model should use this tool.
JSON Schema for the arguments the model passes.
object
HTTPS webhook invoked when the model calls this tool during a call.
Spoken before the webhook when this turn has not spoken yet.
Wait this many seconds, then speak slowSpeech if the webhook is still running.
Spoken once when the webhook is still running after slowSpeechAfterSeconds.
Load tools from a remote MCP server.
object
Connect a remote MCP server and use its tools.
MCP server URL.
Optional name shown in the dashboard.
Answer from uploaded documents.
object
Search uploaded documents during the call.
Files the agent can search.
object
Opaque identifier for an uploaded knowledge document.
File name shown to the agent and in the dashboard.
File size in bytes.
object
Placeholder name used inside {{name}} tags.
What the value means. Passed to the model with the filled value.
Used when the call does not pass this variable.
Turn-taking and call limits. Each omitted field uses its default.
object
How the agent decides the caller has finished speaking. Default: semantic.
Silence before the agent treats the turn as finished, in milliseconds. Default: 500.
Whether the caller can interrupt the agent. Default: true.
How long the caller must speak to count as an interruption, in milliseconds. Default: 300.
Seconds of silence before the agent hangs up. 0 never hangs up. Default: 30.
Maximum call length in seconds. Default: 600.
Omitted privacy means record and transcribe are both on.
object
object
Omitted privacy means record and transcribe are both on.
object
object
Responses
200
Successful response
object
Examplegenerated
{ "message": "example"}400
Bad Request - validation errors, invalid input
Standard error response for API errors.
object
Unique tracking ID for the request.
Structured error details for API error responses.
object
Machine-readable error code.
Human-readable error message.
Actionable hint for fixing the error.
Examplegenerated
{ "trackingId": "example", "error": { "code": "example", "message": "example", "fix": "example" }}401
Unauthorized
402
Payment Required - usage limits exceeded
Standard error response for API errors.
object
Unique tracking ID for the request.
Structured error details for API error responses.
object
Machine-readable error code.
Human-readable error message.
Actionable hint for fixing the error.
Examplegenerated
{ "trackingId": "example", "error": { "code": "example", "message": "example", "fix": "example" }}500
Internal Server Error
502
Bad Gateway - provider error
Standard error response for API errors.
object
Unique tracking ID for the request.
Structured error details for API error responses.
object
Machine-readable error code.
Human-readable error message.
Actionable hint for fixing the error.
Examplegenerated
{ "trackingId": "example", "error": { "code": "example", "message": "example", "fix": "example" }}