POST
/
v1
/
calls
/
{call_id}
/
analyze
Analyze Call with AI
curl --request POST \
  --url https://api.bland.ai/v1/calls/{call_id}/analyze \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --data '{
  "goal": "<string>",
  "questions": [
    [
      "<string>"
    ]
  ]
}'
{
    "status": "success",
    "message": "Successfully analyzed call",
    "answers": [
        "human",
        "Customer found the product sturdy and reliable",
        "A bit heavy",
        true
    ]
}

Headers

authorization
string
required
Your API key for authentication.

Path Parameters

call_id
string
required
The unique identifier for the call to be analyzed.

Request Body

goal
string
required
This is the overall purpose of the call. Provides context for the analysis to guide how the questions/transcripts are interpreted.
questions
string[][]
required
An array of questions to be analyzed for the call.Each question should be an array with two elements: the question text and the expected answer type (e.g., “string”, “boolean”).Fairly flexible in terms of the expected answer type, and unanswerable questions will default to null.Examples:
"questions": [
      ["Who answered the call?", "human or voicemail"],
      ["Positive feedback about the product: ", "string"],
      ["Negative feedback about the product: ", "string"],
      ["Customer confirmed they were satisfied", "boolean"]
  ]

Response

status
object
Will be success if the request was successful.
message
string
Confirms the request was successful, or provides an error message if the request failed.
answers
array
Contains the analyzed answers for the call in an array.
credits_used
number
Token-based price for the analysis request.As a rough estimate, the base cost is 0.003 credits with an additional 0.0015 credits per call in the call.Longer call transcripts and higher numbers of questions can increase the cost, however the cost scales very effectively with calls vs. individual calls.
{
    "status": "success",
    "message": "Successfully analyzed call",
    "answers": [
        "human",
        "Customer found the product sturdy and reliable",
        "A bit heavy",
        true
    ]
}