Skip to main content
GET
/
v2
/
objectives
Get Objectives
curl --request GET \
  --url https://tavusapi.com/v2/objectives \
  --header 'x-api-key: <api-key>'
import requests

url = "https://tavusapi.com/v2/objectives"

headers = {"x-api-key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};

fetch('https://tavusapi.com/v2/objectives', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://tavusapi.com/v2/objectives",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://tavusapi.com/v2/objectives"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-api-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://tavusapi.com/v2/objectives")
.header("x-api-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://tavusapi.com/v2/objectives")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "data": [
    {
      "objectives_id": "o12345",
      "objective_name": "ask_if_new_patient",
      "objective_prompt": "Ask the patient if they are new or have been here before",
      "confirmation_mode": "auto",
      "output_variables": [
        "patient_status"
      ],
      "modality": "verbal",
      "next_conditional_objectives": {
        "new_patient_intake_process": "If the patient has never been to the practice before",
        "existing_patient_intake_process": "If the patient has been to the practice before"
      },
      "next_required_objective": "get_patient_name",
      "callback_url": "https://your-server.com/webhook",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ],
  "total_count": 25
}
{
"message": "Invalid access token"
}
For AI agents, use https://docs.tavus.io/openapi.yaml for the full HTTP API contract.

Authorizations

x-api-key
string
header
required

Query Parameters

limit
integer

The number of objectives to return per page. Default is 10.

page
integer

The page number to return. Default is 1.

Response

Successfully retrieved objectives

data
object[]

Objectives for the current page; use total_count for the full count.

total_count
integer

The total number of objectives

Example:

25