curl --request PUT \
--url https://athena.tryopencomputer.com/api/v1/organizations/preferences \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"call_events": {
"enabled": false,
"sink_type": "<string>",
"config": {}
},
"test_phone_number": "<string>",
"timezone": "<string>",
"external_pbx_integrations_enabled": false,
"disposition_mapping_enabled": false,
"disposition_mapping": {}
}
'import requests
url = "https://athena.tryopencomputer.com/api/v1/organizations/preferences"
payload = {
"call_events": {
"enabled": False,
"sink_type": "<string>",
"config": {}
},
"test_phone_number": "<string>",
"timezone": "<string>",
"external_pbx_integrations_enabled": False,
"disposition_mapping_enabled": False,
"disposition_mapping": {}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
call_events: {enabled: false, sink_type: '<string>', config: {}},
test_phone_number: '<string>',
timezone: '<string>',
external_pbx_integrations_enabled: false,
disposition_mapping_enabled: false,
disposition_mapping: {}
})
};
fetch('https://athena.tryopencomputer.com/api/v1/organizations/preferences', 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://athena.tryopencomputer.com/api/v1/organizations/preferences",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'call_events' => [
'enabled' => false,
'sink_type' => '<string>',
'config' => [
]
],
'test_phone_number' => '<string>',
'timezone' => '<string>',
'external_pbx_integrations_enabled' => false,
'disposition_mapping_enabled' => false,
'disposition_mapping' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://athena.tryopencomputer.com/api/v1/organizations/preferences"
payload := strings.NewReader("{\n \"call_events\": {\n \"enabled\": false,\n \"sink_type\": \"<string>\",\n \"config\": {}\n },\n \"test_phone_number\": \"<string>\",\n \"timezone\": \"<string>\",\n \"external_pbx_integrations_enabled\": false,\n \"disposition_mapping_enabled\": false,\n \"disposition_mapping\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://athena.tryopencomputer.com/api/v1/organizations/preferences")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"call_events\": {\n \"enabled\": false,\n \"sink_type\": \"<string>\",\n \"config\": {}\n },\n \"test_phone_number\": \"<string>\",\n \"timezone\": \"<string>\",\n \"external_pbx_integrations_enabled\": false,\n \"disposition_mapping_enabled\": false,\n \"disposition_mapping\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://athena.tryopencomputer.com/api/v1/organizations/preferences")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"call_events\": {\n \"enabled\": false,\n \"sink_type\": \"<string>\",\n \"config\": {}\n },\n \"test_phone_number\": \"<string>\",\n \"timezone\": \"<string>\",\n \"external_pbx_integrations_enabled\": false,\n \"disposition_mapping_enabled\": false,\n \"disposition_mapping\": {}\n}"
response = http.request(request)
puts response.read_body{
"call_events": {
"enabled": false,
"sink_type": "<string>",
"config": {}
},
"test_phone_number": "<string>",
"timezone": "<string>",
"external_pbx_integrations_enabled": false,
"disposition_mapping_enabled": false,
"disposition_mapping": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Save Preferences
Update organization-level preferences using the exact request schema. These settings affect the organization, so avoid using an existing account’s preferences as disposable test data.
curl --request PUT \
--url https://athena.tryopencomputer.com/api/v1/organizations/preferences \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"call_events": {
"enabled": false,
"sink_type": "<string>",
"config": {}
},
"test_phone_number": "<string>",
"timezone": "<string>",
"external_pbx_integrations_enabled": false,
"disposition_mapping_enabled": false,
"disposition_mapping": {}
}
'import requests
url = "https://athena.tryopencomputer.com/api/v1/organizations/preferences"
payload = {
"call_events": {
"enabled": False,
"sink_type": "<string>",
"config": {}
},
"test_phone_number": "<string>",
"timezone": "<string>",
"external_pbx_integrations_enabled": False,
"disposition_mapping_enabled": False,
"disposition_mapping": {}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
call_events: {enabled: false, sink_type: '<string>', config: {}},
test_phone_number: '<string>',
timezone: '<string>',
external_pbx_integrations_enabled: false,
disposition_mapping_enabled: false,
disposition_mapping: {}
})
};
fetch('https://athena.tryopencomputer.com/api/v1/organizations/preferences', 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://athena.tryopencomputer.com/api/v1/organizations/preferences",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'call_events' => [
'enabled' => false,
'sink_type' => '<string>',
'config' => [
]
],
'test_phone_number' => '<string>',
'timezone' => '<string>',
'external_pbx_integrations_enabled' => false,
'disposition_mapping_enabled' => false,
'disposition_mapping' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://athena.tryopencomputer.com/api/v1/organizations/preferences"
payload := strings.NewReader("{\n \"call_events\": {\n \"enabled\": false,\n \"sink_type\": \"<string>\",\n \"config\": {}\n },\n \"test_phone_number\": \"<string>\",\n \"timezone\": \"<string>\",\n \"external_pbx_integrations_enabled\": false,\n \"disposition_mapping_enabled\": false,\n \"disposition_mapping\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://athena.tryopencomputer.com/api/v1/organizations/preferences")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"call_events\": {\n \"enabled\": false,\n \"sink_type\": \"<string>\",\n \"config\": {}\n },\n \"test_phone_number\": \"<string>\",\n \"timezone\": \"<string>\",\n \"external_pbx_integrations_enabled\": false,\n \"disposition_mapping_enabled\": false,\n \"disposition_mapping\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://athena.tryopencomputer.com/api/v1/organizations/preferences")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"call_events\": {\n \"enabled\": false,\n \"sink_type\": \"<string>\",\n \"config\": {}\n },\n \"test_phone_number\": \"<string>\",\n \"timezone\": \"<string>\",\n \"external_pbx_integrations_enabled\": false,\n \"disposition_mapping_enabled\": false,\n \"disposition_mapping\": {}\n}"
response = http.request(request)
puts response.read_body{
"call_events": {
"enabled": false,
"sink_type": "<string>",
"config": {}
},
"test_phone_number": "<string>",
"timezone": "<string>",
"external_pbx_integrations_enabled": false,
"disposition_mapping_enabled": false,
"disposition_mapping": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Body
Omit to keep the destination unchanged; null removes it.
Show child attributes
Show child attributes
Athena disposition -> the code this organization uses for it. Applied when writing gathered_context.mapped_call_disposition, so webhooks, run filters, reports and external-PBX write-backs all read the organization's own vocabulary. Dispositions absent from the mapping pass through unchanged.
Show child attributes
Show child attributes
Response
Successful Response
Show child attributes
Show child attributes
Athena disposition -> the code this organization uses for it. Applied when writing gathered_context.mapped_call_disposition, so webhooks, run filters, reports and external-PBX write-backs all read the organization's own vocabulary. Dispositions absent from the mapping pass through unchanged.
Show child attributes
Show child attributes