curl --request PATCH \
--url https://api.embedreach.com/partner/voice/active-calls/{callId} \
--header 'Content-Type: application/json' \
--header 'reach-tenant-id: <reach-tenant-id>' \
--data '{
"context": {}
}'import requests
url = "https://api.embedreach.com/partner/voice/active-calls/{callId}"
payload = { "context": {} }
headers = {
"reach-tenant-id": "<reach-tenant-id>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'reach-tenant-id': '<reach-tenant-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({context: {}})
};
fetch('https://api.embedreach.com/partner/voice/active-calls/{callId}', 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.embedreach.com/partner/voice/active-calls/{callId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'context' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"reach-tenant-id: <reach-tenant-id>"
],
]);
$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://api.embedreach.com/partner/voice/active-calls/{callId}"
payload := strings.NewReader("{\n \"context\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("reach-tenant-id", "<reach-tenant-id>")
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.patch("https://api.embedreach.com/partner/voice/active-calls/{callId}")
.header("reach-tenant-id", "<reach-tenant-id>")
.header("Content-Type", "application/json")
.body("{\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.embedreach.com/partner/voice/active-calls/{callId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["reach-tenant-id"] = '<reach-tenant-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"context\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": {
"callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"appliedContextKeys": [
"<string>"
],
"filteredContextKeys": [
{
"key": "<string>",
"reason": "not_configured"
}
]
}
}{
"message": "<string>",
"success": false,
"errors": [
"<string>"
]
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": {
"callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"appliedContextKeys": [
"<string>"
],
"filteredContextKeys": [
{
"key": "<string>",
"reason": "not_configured"
}
]
}
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": null
}Update an active Voice call
Pushes new context onto one of your tenant’s active Voice calls, addressed by its Reach call ID. Accepted fields become available to the agent on its next natural response. The fields you can send are configured for your platform by Reach, so ask your Reach contact to add a field before sending it. Fields that are not configured, or whose values fail their configured type, are reported back as filtered without echoing the submitted values, and a request whose every field is filtered returns 422 with the same body. Calls that have ended return a conflict. Updates are rate limited per partner and per call, and a 503 means the request can be retried as-is. See the Tools & Live Call Updates guide.
curl --request PATCH \
--url https://api.embedreach.com/partner/voice/active-calls/{callId} \
--header 'Content-Type: application/json' \
--header 'reach-tenant-id: <reach-tenant-id>' \
--data '{
"context": {}
}'import requests
url = "https://api.embedreach.com/partner/voice/active-calls/{callId}"
payload = { "context": {} }
headers = {
"reach-tenant-id": "<reach-tenant-id>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'reach-tenant-id': '<reach-tenant-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({context: {}})
};
fetch('https://api.embedreach.com/partner/voice/active-calls/{callId}', 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.embedreach.com/partner/voice/active-calls/{callId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'context' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"reach-tenant-id: <reach-tenant-id>"
],
]);
$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://api.embedreach.com/partner/voice/active-calls/{callId}"
payload := strings.NewReader("{\n \"context\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("reach-tenant-id", "<reach-tenant-id>")
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.patch("https://api.embedreach.com/partner/voice/active-calls/{callId}")
.header("reach-tenant-id", "<reach-tenant-id>")
.header("Content-Type", "application/json")
.body("{\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.embedreach.com/partner/voice/active-calls/{callId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["reach-tenant-id"] = '<reach-tenant-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"context\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": {
"callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"appliedContextKeys": [
"<string>"
],
"filteredContextKeys": [
{
"key": "<string>",
"reason": "not_configured"
}
]
}
}{
"message": "<string>",
"success": false,
"errors": [
"<string>"
]
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": {
"callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "active",
"appliedContextKeys": [
"<string>"
],
"filteredContextKeys": [
{
"key": "<string>",
"reason": "not_configured"
}
]
}
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": null
}{
"success": true,
"message": "<string>",
"data": null
}Headers
Reach tenant UUID or your own external tenant ID.
1Path Parameters
Body
Field names and string values to make available to the agent on its next natural response. Requires at least one field and at most 20, with field names up to 100 characters, values up to 500 characters, and 8192 bytes across the whole object.
Show child attributes
Show child attributes