Skip to main content
GET
/
v1
/
calls
/
{call_id}
Call Details
curl --request GET \
  --url https://api.bland.ai/v1/calls/{call_id} \
  --header 'authorization: <authorization>'
{
    "call_id": "12345678-1234-1234-1234-123456789012",
    "call_length": 0.75,
    "batch_id": null,
    "to": "+12223334444",
    "from": "+17163511654",
    "request_data": {
        "phone_number": "+12223334444",
        "wait": true,
        "language": "ENG"
    },
    "completed": true,
    "created_at": "2024-04-27T23:51:18.025251+00:00",
    "inbound": false,
    "queue_status": "completed",
    "endpoint_url": "api.prod.bland.ai",
    "max_duration": 30,
    "error_message": null,
    "variables": {
        "now": "Sat Apr 27 2024 18:51:25 GMT-0500 (Central Daylight Time)",
        "now_utc": "Sat, 27 Apr 2024 23:51:25 GMT",
        "short_from": "7163511654",
        "short_to": "2223334444",
        "from": "+17163511654",
        "to": "+12223334444",
        "call_id": "12345678-1234-1234-1234-123456789012",
        "phone_number": "+12223334444",
        "city": "SAN FRANCISCO",
        "country": "US",
        "state": "CA",
        "zip": "12345",
        "input": {
            "date": "2024-04-28",
            "rooms": 3
        }
    },
    "answered_by": "human",
    "record": false,
    "recording_url": null,
    "c_id": "12345678-1234-1234-1234-123456789012",
    "metadata": {},
    "summary": "The call was a conversation between a hotel booking service assistant and a customer. The customer expressed interest in booking a hotel room for tomorrow and needing three rooms. The assistant booked book the reservation for three rooms for the next day. Then, the call ended with the assistant thanking the customer for choosing their service.",
    "price": 0.068,
    "started_at": "2024-04-27T23:51:25+00:00",
    "local_dialing": false,
    "call_ended_by": "ASSISTANT",
    "pathway_logs": null,
    "analysis_schema": null,
    "analysis": null,
    "concatenated_transcript": "user: Hello? \n assistant: Hi there! I'm calling from the hotel booking service. I'd love to help you with your reservation. Could you let me know what day you'd like to book your hotel for and how many rooms you'll need? \n user: Hopefully, tomorrow, I'm thinking. ...",
    "transcripts": [
        {
            "id": 7395694,
            "created_at": "2024-04-27T23:51:28.568385+00:00",
            "text": "Hello?",
            "user": "user",
            "c_id": "12345678-1234-1234-1234-123456789012",
            "status": null,
            "transcript_id": null
        },
        {
            "id": 7395698,
            "created_at": "2024-04-27T23:51:30.689815+00:00",
            "text": "Hi there! I'm calling from the hotel booking service. I'd love to help you with your reservation. Could you let me know what day you'd like to book your hotel for and how many rooms you'll need?",
            "user": "assistant",
            "c_id": "12345678-1234-1234-1234-123456789012",
            "status": null,
            "transcript_id": "12345678-1234-1234-1234-123456789014"
        },
        //...
    ],
    "status": "completed",
    "corrected_duration": "45",
    "end_at": "2024-04-27T23:52:10.000Z",
    "warm_transfer_call": {
        "proxy_agent_calls": [
            {
                "state": "MERGED",
                "call_id": "12345678-1234-1234-1234-123456789013",
                "phone_number": "+14158589038"
            }
        ],
        "state": "MERGED"
    },
    "is_proxy_agent_call": false
}

Headers

authorization
string
required
Your API key for authentication.
encrypted_key
string
Use your own Twilio account and only return inbound numbers associated with that account sid (optional).Learn more about BYOT here.

Path Parameters

call_id
string
required
The unique identifier of the call for which you want to retrieve detailed information.

Response

transcripts
array of objects
An array of phrases spoken during the call.Each index includes:
  • id
  • created_at
  • text
  • user (can be user, assistant, robot, or agent-action)
call_id
number
The unique identifier for the call.
call_length
number
The length of the call in minutes.
transferred_to
string
Number that the person was transferred to.
transferred_at
string
The timestamp when the call was transferred to another number.
batch_id
string
If the call is part of a batch, it’s batch_id will be here.
to
string
The phone number that received the call.
from
string
The phone number that made the call.
request_data
object
Details about parameters in the original api request.
completed
boolean
Whether the call has been completed. If it differs from the value of ‘queue_status’, this will be the most up-to-date status.
inbound
boolean
Whether the call was inbound or outbound. Will be false for outbound calls.
created_at
string
The timestamp for when the call request was created.
started_at
string
The time the call was connected.
end_at
string
The time that the call will automatically be ended at if it’s still connected (because of max_duration).
queue_status
string
The status of the call. During extremely high volume periods, calls may be queued for a short period of time before being dispatched.
Progresses through the following stages:
  • new: An API request has been received.
  • queued: Call pararameters have been validated and authentication succeeded.
  • allocated: Extremely brief, the call is being dispatched.
  • started: The phone call is live and in progress.
  • complete: The phone call has ended successfully.
The following statuses show the point that was reached before an error:
  • pre_queue_error: An error occurred before the call was queued. Invalid parameters generally cause this.
  • queue_error: Error occurred while the call was queued. Ex. Valid phone number but to an unserviced area.
  • call_error: Error occurred during live call. May be caused by transferring to an invalid phone number or an unforeseen error.
  • complete_error: Error occurred after the call was completed. Ex. A post-call webhook failed.
If at any point an error occurs, it will be recorded in the error_message field.
endpoint_url
string
The url of the deployment that the call was handled on. Will always be “api.prod.bland.ai” unless the call was handled on a custom Enterprise deployment.
max_duration
number
The maximum length of time the call was allowed to last. If the call would exceed this length, it’s ended early.
error_message
string
If an error occurs, this will contain a description of the error. Otherwise, it will be null.
variables
object
Variables created during the call - both system variables as well as generated with dynamic_data or Custom Tools.For example, if you used a dynamic_data API request to generate a variable called appointment_time, you would see it here (both the agent’s inputs and the response variables).
answered_by
string
This field contains one of the following values:
  • human: The call was answered by a human.
  • voicemail: The call was answered by an answering machine or voicemail.
  • unknown: There was not enough audio at the start of the call to make a determination.
  • no-answer: The call was not answered.
  • null: Not enabled, or still processing the result.
Webhooks may take up to a minute to fire after the call ends while the call audio is processed.
  • Determinations are based on audio from the first five seconds of the phone call.
  • unknown is most likely a human, especially if there are multiple transcripts.
  • Optimize calls for accurate results by getting humans to respond in the first five seconds:
    • Use with wait_for_greeting
    • Use a short greeting in first_sentence such as “Hello?” or “Hi, is this {{name}}?”
record
boolean
Whether the call audio was recorded.
recording_url
string
The URL of the recording of the call. Only available if record was set to true in the original API request.
metadata
object
Metadata about the call. This can include information about the client, customer, or any other data you want to include.This is identical to the metadata that was set in the original API request to send the call.
summary
string
A short summary of the call based off of the transcript that’s generated when the call ends.
price
number
The cost of the call in USD.
local_dialing
boolean
Whether Local Dialing was enabled for your account at the time of the call.
call_ended_by
string
Whether the call was ended by Bland’s system or the other end of the line.
  • ASSISTANT: The agent ended the call.
  • USER: The user ended the call.
pathway_logs
string
Pathways calls will have extra logs here that have much more detailed information about the chosen nodes and internal reasoning throughout the flow.
analysis_schema
object
The provided structure used in the post call analysis. This is the raw skeleton describing the data structure that will be filled in once the call ends.
analysis
object
The data filled in by the post call analysis. This is the raw data that was generated by the analysis schema.
concatenated_transcript
string
A single string containing all of the text from the call. Excludes system messages and auto-generated data.
transcripts
array of objects
An array of phrases spoken during the call.Each index includes:
  • id
  • created_at
  • text
  • user (can be user, assistant, robot, or agent-action)
status
string
The status of the call. This is the most up-to-date status of the call, but is only present for calls that have been successfully created.
Possible status values:
  • completed - Call was successfully completed, this can be both human or voicemail answered (see answered_by for details on who the call was answered by)
  • failed - Call failed to connect or complete (see error_message for details)
  • busy - Called number was busy
  • no-answer - Call was not answered
  • canceled - Call was canceled before completion
  • unknown - Status could not be determined
Common failure reasons and troubleshooting:When status is failed, check the error_message field for specific details:
  • “The number you dialed is not found.”
    • The phone number is invalid or not in service
    • Verify the phone number format and that it’s currently active
  • “The number you dialed is temporarily unavailable.”
    • Network issues or temporary service disruption
    • Retry the call after a short delay
  • “The number you dialed is busy. Please try again later.”
    • Called party is on another call without call waiting
    • Try calling at a different time
  • “Service Provider Blocked Call due to Spam or Number Reputation. Try a different number.”
    • Call blocked by carrier due to spam filtering
    • Use a different from number or contact your carrier
corrected_duration
string
The corrected duration of the call in seconds. This is the actual length of the call, not the max_duration.
citations
array of objects
Citations extracted from the transcript if a citation schema was attached to the call.You can build a citation schema here.
Note: Citation schemas are very powerful and accurate, but also are more resource intensive to run. As such, for the time being, they are an enterprise-only feature.
warm_transfer_call
object
Information about warm transfer calls if the call was part of a warm transfer. Contains details about proxy agent calls and transfer state.
is_proxy_agent_call
boolean
Whether this call is a proxy agent call (part of a warm transfer process). Returns true if this call was created as part of a warm transfer to connect with an agent, false otherwise.
{
    "call_id": "12345678-1234-1234-1234-123456789012",
    "call_length": 0.75,
    "batch_id": null,
    "to": "+12223334444",
    "from": "+17163511654",
    "request_data": {
        "phone_number": "+12223334444",
        "wait": true,
        "language": "ENG"
    },
    "completed": true,
    "created_at": "2024-04-27T23:51:18.025251+00:00",
    "inbound": false,
    "queue_status": "completed",
    "endpoint_url": "api.prod.bland.ai",
    "max_duration": 30,
    "error_message": null,
    "variables": {
        "now": "Sat Apr 27 2024 18:51:25 GMT-0500 (Central Daylight Time)",
        "now_utc": "Sat, 27 Apr 2024 23:51:25 GMT",
        "short_from": "7163511654",
        "short_to": "2223334444",
        "from": "+17163511654",
        "to": "+12223334444",
        "call_id": "12345678-1234-1234-1234-123456789012",
        "phone_number": "+12223334444",
        "city": "SAN FRANCISCO",
        "country": "US",
        "state": "CA",
        "zip": "12345",
        "input": {
            "date": "2024-04-28",
            "rooms": 3
        }
    },
    "answered_by": "human",
    "record": false,
    "recording_url": null,
    "c_id": "12345678-1234-1234-1234-123456789012",
    "metadata": {},
    "summary": "The call was a conversation between a hotel booking service assistant and a customer. The customer expressed interest in booking a hotel room for tomorrow and needing three rooms. The assistant booked book the reservation for three rooms for the next day. Then, the call ended with the assistant thanking the customer for choosing their service.",
    "price": 0.068,
    "started_at": "2024-04-27T23:51:25+00:00",
    "local_dialing": false,
    "call_ended_by": "ASSISTANT",
    "pathway_logs": null,
    "analysis_schema": null,
    "analysis": null,
    "concatenated_transcript": "user: Hello? \n assistant: Hi there! I'm calling from the hotel booking service. I'd love to help you with your reservation. Could you let me know what day you'd like to book your hotel for and how many rooms you'll need? \n user: Hopefully, tomorrow, I'm thinking. ...",
    "transcripts": [
        {
            "id": 7395694,
            "created_at": "2024-04-27T23:51:28.568385+00:00",
            "text": "Hello?",
            "user": "user",
            "c_id": "12345678-1234-1234-1234-123456789012",
            "status": null,
            "transcript_id": null
        },
        {
            "id": 7395698,
            "created_at": "2024-04-27T23:51:30.689815+00:00",
            "text": "Hi there! I'm calling from the hotel booking service. I'd love to help you with your reservation. Could you let me know what day you'd like to book your hotel for and how many rooms you'll need?",
            "user": "assistant",
            "c_id": "12345678-1234-1234-1234-123456789012",
            "status": null,
            "transcript_id": "12345678-1234-1234-1234-123456789014"
        },
        //...
    ],
    "status": "completed",
    "corrected_duration": "45",
    "end_at": "2024-04-27T23:52:10.000Z",
    "warm_transfer_call": {
        "proxy_agent_calls": [
            {
                "state": "MERGED",
                "call_id": "12345678-1234-1234-1234-123456789013",
                "phone_number": "+14158589038"
            }
        ],
        "state": "MERGED"
    },
    "is_proxy_agent_call": false
}
I