Skip to main content
GET
Get an AMD decision

Authorizations

Authorization
string
header
required

Use Authorization: Bearer pyai_live_... (or pyai_test_...).

Path Parameters

call_id
string
required

Response

AMD decision detail

Optional structured evidence on new AMD decisions; older records may omit it.

object
string
Example:

"amd.call"

call_id
string
session_label
string | null

The opaque tag passed on the connect URL / TwiML, if any.

status
enum<string>
Available options:
completed,
failed
answered_by
enum<string>

PyAI's richer answered-by vocabulary. machine means an automated answer without an established subtype; it does not establish voicemail readiness or authorize hanging up. screening = an iPhone/Google call-screening assistant; sit_invalid = a dead/disconnected number.

Available options:
human,
machine,
voicemail,
live_voicemail,
screening,
ivr,
music,
human_gatekeeper,
sit_invalid,
fax,
silence,
unknown
answered_by_twilio
string | null

Twilio's exact AnsweredBy enum (human | machine_start | machine_end_beep | machine_end_silence | machine_end_other | fax | unknown), so a Twilio drop-in keeps its routing logic unchanged.

confidence
number | null
Required range: 0 <= x <= 1
decision_ms
number | null

Processed inbound audio through the decision, in ms; not elapsed time from carrier answer.

created_at
integer

Unix ms when the decision was written.

engine_version
string

Decision-policy identity.

rule_id
string

Stable decision rule identifier.

decision_timeout_ms
integer

Requested elapsed decision budget. Present when explicitly configured on the stream.

Required range: 1000 <= x <= 15000
decision_elapsed_ms
integer

Elapsed milliseconds from accepted authenticated start to result preparation; excludes webhook transport. Present when decision_timeout_ms was requested.

Required range: x >= 0
speech_ms
integer | null

Cumulative voiced audio excluding pauses; null if untracked.

Required range: x >= 0
silence_ms
integer

Current contiguous silence in ms.

Required range: x >= 0
speech_elapsed_ms
integer | null

Audio since speech onset including pauses; null without onset.

Required range: x >= 0
thresholds
object

Effective decision thresholds and rule flags.

reason
string | null

Human-readable evidence, e.g. "machine phrase: 'please leave a message' at 1.2s".

aggressiveness
number | null

Operating point used for this call.

custom_parameters
object

Customer correlation parameters, excluding reserved controls and credentials. Names match [A-Za-z0-9][A-Za-z0-9_.-]{0,63}. Each value is bounded to 1024 UTF-8 bytes, and all names plus values to 8192 UTF-8 bytes; character limits alone do not express these byte limits. Nested fields never override AMD result fields.

Example:
started_at
integer | null

Unix ms when the call was answered.

meta
object | null
error
string | null

Present when status is failed.