POST
/
v1
/
calls
/
{call_id}
/
analyze
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.