List Dispositions
curl --request GET \
--url https://api.example.com/v1/dispositionsimport requests
url = "https://api.example.com/v1/dispositions"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/dispositions', 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://api.example.com/v1/dispositions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.example.com/v1/dispositions"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/dispositions")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/dispositions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyDispositions
List Dispositions
Returns all call dispositions available in your workspace.
GET
/
v1
/
dispositions
List Dispositions
curl --request GET \
--url https://api.example.com/v1/dispositionsimport requests
url = "https://api.example.com/v1/dispositions"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/dispositions', 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://api.example.com/v1/dispositions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.example.com/v1/dispositions"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/dispositions")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/dispositions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyList Dispositions
Returns all call dispositions for your company: built-in dispositions first (is_custom=false), then custom dispositions (is_custom=true). Custom dispositions have a value prefixed with custom_ and include label_en, label_fr, and a category.
Request
GET /v1/dispositions
Example
curl -X GET \
"https://kdjmltmhxvvmiuehafgl.supabase.co/functions/v1/api-gateway/v1/dispositions" \
-H "Authorization: Bearer rchd_live_xxxxxxxxxxxx"
const response = await fetch(
"https://kdjmltmhxvvmiuehafgl.supabase.co/functions/v1/api-gateway/v1/dispositions",
{
headers: {
"Authorization": "Bearer rchd_live_xxxxxxxxxxxx"
}
}
);
const { data, meta } = await response.json();
Response
{
"data": [
{
"value": "appointment-scheduled",
"label": "Appointment Scheduled",
"label_en": "Appointment Scheduled",
"label_fr": "Rendez-vous pris",
"is_custom": false,
"category": "reached"
},
{
"value": "no-answer",
"label": "No Answer",
"label_en": "No Answer",
"label_fr": "Pas de reponse",
"is_custom": false,
"category": "attempted"
},
{
"value": "custom_a1b2c3d4",
"label": "Pitch completed",
"label_en": "Pitch completed",
"label_fr": "Pitch termine",
"is_custom": true,
"category": "reached"
}
],
"meta": {
"total": 3
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
value | string | Disposition value (use this in API filters and call log responses) |
label | string | Display label (defaults to English) |
label_en | string | English label |
label_fr | string | French label |
is_custom | boolean | Whether this is a custom disposition created in your workspace |
category | string | Disposition category: reached (contact was reached), attempted (call attempted but no conversation), or negative (negative outcome) |
Built-in disposition values use kebab-case (e.g.
appointment-scheduled, no-answer, voicemail-left). Custom dispositions have values prefixed with custom_ (e.g. custom_a1b2c3d4). Use the value field when filtering call logs by disposition via the disposition query parameter on GET /v1/call-logs.Disposition Values
| Disposition | Category | Description |
|---|---|---|
appointment-scheduled | Reached | Meeting or demo scheduled |
not-interested | Reached | Lead not interested |
send-email | Reached | Send an email |
callback-later | Reached | Callback the lead later |
voicemail | Attempted | Reached voicemail (no message left) |
voicemail-left | Attempted | Voicemail message left |
no-answer | Attempted | No one answered |
wrong-number | Reached | Wrong number |
personal-number | Reached | Lead personal number |
wrong-person | Reached | Wrong contact |
no-longer-at-company | Reached | Contact left the company |
abandoned-call | Attempted | Call abandoned |
voice-assistant-filtered | Attempted | Filtered by voice assistant |
voicemail-avoided | Attempted | Voicemail detected, call ended before connecting |
not-specified | Not specified | Not specified |
Custom dispositions created in your workspace have values prefixed with
custom_ (e.g. custom_a1b2c3d4). Use the List Dispositions endpoint to retrieve all available dispositions including custom ones..png?fit=max&auto=format&n=PYj-p9lRwfHX4QQS&q=85&s=967f00940a17d1d8cc11bd8995dc98d0)
.png?fit=max&auto=format&n=PYj-p9lRwfHX4QQS&q=85&s=5072033d90dfd5e7cc9349712ea4e145)