Disconnect a meeting calendar
Disconnect the calendar, cancel future joins, and clear retained calendar identity fields. Previously created session records, transcripts, artifacts, and Storage objects remain. The response is the updated connection.
DELETE
/
calendar_connections
/
{id}
Disconnect a meeting calendar
curl --request DELETE \
--url https://api.telnyx.com/v2/calendar_connections/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.telnyx.com/v2/calendar_connections/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.telnyx.com/v2/calendar_connections/{id}', 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.telnyx.com/v2/calendar_connections/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.telnyx.com/v2/calendar_connections/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.telnyx.com/v2/calendar_connections/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telnyx.com/v2/calendar_connections/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "calconn_example",
"platform": "google_calendar",
"platform_email": "[email protected]",
"status": "disconnected",
"status_detail": null,
"auto_join_policy": "all_meetings",
"bot_name": "Notetaker",
"default_barge_in": null,
"default_summarize_on_end": null,
"default_voice": null,
"default_assistant": null,
"default_recording": null,
"default_recording_export": null,
"default_webhook_url": null,
"created_at": "2026-11-05T09:00:00Z",
"updated_at": "2026-11-05T09:00:00Z"
}
}{
"error": {
"code": "unauthorized",
"message": "invalid or missing credentials"
}
}{
"error": {
"code": "forbidden",
"message": "credential is not permitted"
}
}{
"error": {
"code": "not_found",
"message": "meeting session not found"
}
}{
"error": {
"code": "auth_overloaded",
"message": "authentication temporarily overloaded"
}
}{
"error": {
"code": "internal_error",
"message": "internal server error"
}
}{
"error": {
"code": "provider_error",
"message": "Meeting data is temporarily unavailable."
}
}{
"error": {
"code": "not_configured",
"message": "required feature is not configured"
}
}Was this page helpful?
Disconnect a meeting calendar
curl --request DELETE \
--url https://api.telnyx.com/v2/calendar_connections/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.telnyx.com/v2/calendar_connections/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.telnyx.com/v2/calendar_connections/{id}', 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.telnyx.com/v2/calendar_connections/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.telnyx.com/v2/calendar_connections/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.telnyx.com/v2/calendar_connections/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telnyx.com/v2/calendar_connections/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "calconn_example",
"platform": "google_calendar",
"platform_email": "[email protected]",
"status": "disconnected",
"status_detail": null,
"auto_join_policy": "all_meetings",
"bot_name": "Notetaker",
"default_barge_in": null,
"default_summarize_on_end": null,
"default_voice": null,
"default_assistant": null,
"default_recording": null,
"default_recording_export": null,
"default_webhook_url": null,
"created_at": "2026-11-05T09:00:00Z",
"updated_at": "2026-11-05T09:00:00Z"
}
}{
"error": {
"code": "unauthorized",
"message": "invalid or missing credentials"
}
}{
"error": {
"code": "forbidden",
"message": "credential is not permitted"
}
}{
"error": {
"code": "not_found",
"message": "meeting session not found"
}
}{
"error": {
"code": "auth_overloaded",
"message": "authentication temporarily overloaded"
}
}{
"error": {
"code": "internal_error",
"message": "internal server error"
}
}{
"error": {
"code": "provider_error",
"message": "Meeting data is temporarily unavailable."
}
}{
"error": {
"code": "not_configured",
"message": "required feature is not configured"
}
}