curl -X DELETE https://tawked.com/v1/chat/menus/5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e \
-H "Authorization: Bearer tk_live_xxxxxxxxxxxxxxxxxxxx"const res = await fetch("https://tawked.com/v1/chat/menus/5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e", {
method: "DELETE",
headers: {
Authorization: "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx",
},
});
const data = await res.json();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tawked.com/v1/chat/menus/{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;
}import requests
res = requests.delete(
"https://tawked.com/v1/chat/menus/5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e",
headers={"Authorization": "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx"},
)
data = res.json(){
"id": "5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e",
"deleted": true
}{
"error": "invalid_request"
}{
"error": "unauthorized"
}{
"error": "live_key_required"
}{
"error": "not_found"
}{
"error": "idempotency_in_progress"
}{
"error": "too_many_requests"
}{
"error": "internal_error"
}{
"error": "chat_unavailable"
}Delete a menu
For a connected app’s key alone, with chat:menus in its connection’s grant: an application’s own key, full access included, answers 403 insufficient_scope, and adds its menus in the console. Removes a menu this connection made, from Tawked Chat and from the client’s console.
curl -X DELETE https://tawked.com/v1/chat/menus/5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e \
-H "Authorization: Bearer tk_live_xxxxxxxxxxxxxxxxxxxx"const res = await fetch("https://tawked.com/v1/chat/menus/5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e", {
method: "DELETE",
headers: {
Authorization: "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx",
},
});
const data = await res.json();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tawked.com/v1/chat/menus/{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;
}import requests
res = requests.delete(
"https://tawked.com/v1/chat/menus/5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e",
headers={"Authorization": "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx"},
)
data = res.json(){
"id": "5b1d2c3e-4f5a-4b6c-8d7e-9f0a1b2c3d4e",
"deleted": true
}{
"error": "invalid_request"
}{
"error": "unauthorized"
}{
"error": "live_key_required"
}{
"error": "not_found"
}{
"error": "idempotency_in_progress"
}{
"error": "too_many_requests"
}{
"error": "internal_error"
}{
"error": "chat_unavailable"
}Authorizations
Authorization: Bearer . An application key (tk_live_, tk_test_) has full access, which covers every product and any product added later, or custom access, chosen when the key is created: one or more of the scopes verify:check, verify:send (includes verify:check), notifications:read, notifications:send (includes notifications:read), email:read, email:send (includes email:read), notifications:templates (includes notifications:read), chat:menus, chat:attendant. No key made on the API keys page holds notifications:templates, full access included: the three template writes answer such a key 403 insufficient_scope. A connected app's key holds it. Nor chat:menus: the five conversation menu operations answer such a key 403 insufficient_scope, and a connected app's key holds it once the client approved it. Nor chat:attendant: the five auto-attendant operations answer such a key 403 insufficient_scope too, and a connected app's key holds it once the client approved it. A call outside the key's access answers 403 insufficient_scope and names the scope it needs in the WWW-Authenticate response header. A partner key (tk_partner_) always has full access. Whatever its access, a key is a server-side secret.
Headers
A 1 to 128 printable-ASCII-character key you generate, scoped to your API key. Replaying it with the same request answers the original 2xx unchanged, with the response header Idempotent-Replayed: true, and runs nothing again; the same key with another request answers 409 idempotency_key_reused, and a request still in flight 409 idempotency_in_progress. A refused request is never stored, so a corrected retry under the same key runs. Keys expire after 24 hours.
Path Parameters
The menu's id, as the create answered it. An id this connection did not make answers 404 not_found, whoever made it.