curl -X PATCH https://tawked.com/v1/chat/attendant/settings \
-H "Authorization: Bearer tk_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"mode": "menu_then_radeef"
}'const res = await fetch("https://tawked.com/v1/chat/attendant/settings", {
method: "PATCH",
headers: {
Authorization: "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
"mode": "menu_then_radeef"
}),
});
const data = await res.json();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tawked.com/v1/chat/attendant/settings",
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([
'mode' => '<string>',
'language' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
res = requests.patch(
"https://tawked.com/v1/chat/attendant/settings",
headers={"Authorization": "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx"},
json={
"mode": "menu_then_radeef"
},
)
data = res.json(){
"state": "live",
"lock": null,
"enabled": true,
"mode": "menu_then_radeef",
"language": "ar",
"draft": {
"version": 1,
"opening": "⚽ أهلًا وسهلًا بك في أكاديمية النجوم لكرة القدم 💙\n\nيسعدنا تواصلك معنا، ونتطلع لمساعدة بطلنا في بدء رحلته الكروية 🌟\n\n👇 اختر من القائمة التالية الخدمة التي تحتاجها.",
"list_button": "القائمة",
"away": null,
"fallback": "💙 يمكنك اختيار الخدمة من القائمة، أو كتابة استفسارك مباشرة ليتم تحويل محادثتك إلى إدارة الأكاديمية.",
"choices": [
{
"id": "c_prices",
"title": "💰 أسعار الاشتراكات",
"description": null,
"action": {
"type": "reply",
"text": "💰 أسعار الاشتراكات في أكاديمية النجوم:\n\n🔹 شهر: 230 ريال\n🔹 3 أشهر: 630 ريال\n🔹 6 أشهر: 1,140 ريال\n🔹 سنة كاملة: 1,920 ريال\n\n📲 للتسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_programs",
"title": "⚽ البرامج والمواعيد",
"description": null,
"action": {
"type": "reply",
"text": "⚽ البرامج والمواعيد في أكاديمية النجوم:\n\n👦 الفئات العمرية: من 5 إلى 18 سنة، في مجموعات حسب العمر.\n📅 أيام التدريب: الأحد والثلاثاء والخميس.\n⏰ وقت التدريب: من بعد صلاة العصر حتى صلاة العشاء.\n\n📍 موقع الأكاديمية:",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_register",
"title": "📝 تسجيل لاعب جديد",
"description": null,
"action": {
"type": "reply",
"text": "📝 يسعدنا انضمام بطلنا إلى أكاديمية النجوم 🌟\n\nسجّل اللاعب من الرابط، واختر الفئة العمرية ومدة الاشتراك، وسيتواصل معك فريق الأكاديمية لتأكيد التسجيل.\n\n📲 رابط التسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_location",
"title": "📍 موقع الأكاديمية",
"description": null,
"action": {
"type": "reply",
"text": "📍 موقع أكاديمية النجوم 💙\n\nيسعدنا زيارتكم في أي وقت خلال أوقات التدريب.\n\nللوصول إلى الأكاديمية عبر خرائط Google 👇",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_team",
"title": "💬 التواصل مع الإدارة",
"description": null,
"action": {
"type": "team",
"line": "💬 تم تحويل محادثتك إلى إدارة أكاديمية النجوم ✅\n\nيرجى كتابة استفسارك، وسيقوم أحد أعضاء فريق الإدارة بالرد عليك في أقرب وقت ممكن.\n\n💙 نسعد بخدمتك دائمًا.",
"tag": "التواصل_مع_الإدارة",
"assign": {
"mode": "auto",
"member_id": null
}
}
}
]
},
"draft_saved_at": "2026-10-15T09:00:00Z",
"problems": [],
"published": {
"version": 1,
"published_at": "2026-10-15T09:01:00Z",
"menu": {
"version": 1,
"opening": "⚽ أهلًا وسهلًا بك في أكاديمية النجوم لكرة القدم 💙\n\nيسعدنا تواصلك معنا، ونتطلع لمساعدة بطلنا في بدء رحلته الكروية 🌟\n\n👇 اختر من القائمة التالية الخدمة التي تحتاجها.",
"list_button": "القائمة",
"away": null,
"fallback": "💙 يمكنك اختيار الخدمة من القائمة، أو كتابة استفسارك مباشرة ليتم تحويل محادثتك إلى إدارة الأكاديمية.",
"choices": [
{
"id": "c_prices",
"title": "💰 أسعار الاشتراكات",
"description": null,
"action": {
"type": "reply",
"text": "💰 أسعار الاشتراكات في أكاديمية النجوم:\n\n🔹 شهر: 230 ريال\n🔹 3 أشهر: 630 ريال\n🔹 6 أشهر: 1,140 ريال\n🔹 سنة كاملة: 1,920 ريال\n\n📲 للتسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_programs",
"title": "⚽ البرامج والمواعيد",
"description": null,
"action": {
"type": "reply",
"text": "⚽ البرامج والمواعيد في أكاديمية النجوم:\n\n👦 الفئات العمرية: من 5 إلى 18 سنة، في مجموعات حسب العمر.\n📅 أيام التدريب: الأحد والثلاثاء والخميس.\n⏰ وقت التدريب: من بعد صلاة العصر حتى صلاة العشاء.\n\n📍 موقع الأكاديمية:",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_register",
"title": "📝 تسجيل لاعب جديد",
"description": null,
"action": {
"type": "reply",
"text": "📝 يسعدنا انضمام بطلنا إلى أكاديمية النجوم 🌟\n\nسجّل اللاعب من الرابط، واختر الفئة العمرية ومدة الاشتراك، وسيتواصل معك فريق الأكاديمية لتأكيد التسجيل.\n\n📲 رابط التسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_location",
"title": "📍 موقع الأكاديمية",
"description": null,
"action": {
"type": "reply",
"text": "📍 موقع أكاديمية النجوم 💙\n\nيسعدنا زيارتكم في أي وقت خلال أوقات التدريب.\n\nللوصول إلى الأكاديمية عبر خرائط Google 👇",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_team",
"title": "💬 التواصل مع الإدارة",
"description": null,
"action": {
"type": "team",
"line": "💬 تم تحويل محادثتك إلى إدارة أكاديمية النجوم ✅\n\nيرجى كتابة استفسارك، وسيقوم أحد أعضاء فريق الإدارة بالرد عليك في أقرب وقت ممكن.\n\n💙 نسعد بخدمتك دائمًا.",
"tag": "التواصل_مع_الإدارة",
"assign": {
"mode": "auto",
"member_id": null
}
}
}
]
}
},
"changed": false
}{
"error": "invalid_request",
"fields": [
"mode"
],
"errors": {
"mode": [
"invalid"
]
}
}{
"error": "unauthorized"
}{
"error": "live_key_required"
}{
"error": "idempotency_in_progress"
}{
"error": "too_many_requests"
}{
"error": "internal_error"
}Update the auto-attendant settings
For a connected app’s key alone, with chat:attendant in its connection’s grant: an application’s own key, full access included, answers 403 insufficient_scope, and builds its auto-attendant in the console. Changes any of mode and language, at least one; what is left out stays. Answers the attendant object. Recorded in the client’s account record under the app’s name.
curl -X PATCH https://tawked.com/v1/chat/attendant/settings \
-H "Authorization: Bearer tk_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"mode": "menu_then_radeef"
}'const res = await fetch("https://tawked.com/v1/chat/attendant/settings", {
method: "PATCH",
headers: {
Authorization: "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json",
},
body: JSON.stringify({
"mode": "menu_then_radeef"
}),
});
const data = await res.json();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tawked.com/v1/chat/attendant/settings",
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([
'mode' => '<string>',
'language' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
res = requests.patch(
"https://tawked.com/v1/chat/attendant/settings",
headers={"Authorization": "Bearer tk_live_xxxxxxxxxxxxxxxxxxxx"},
json={
"mode": "menu_then_radeef"
},
)
data = res.json(){
"state": "live",
"lock": null,
"enabled": true,
"mode": "menu_then_radeef",
"language": "ar",
"draft": {
"version": 1,
"opening": "⚽ أهلًا وسهلًا بك في أكاديمية النجوم لكرة القدم 💙\n\nيسعدنا تواصلك معنا، ونتطلع لمساعدة بطلنا في بدء رحلته الكروية 🌟\n\n👇 اختر من القائمة التالية الخدمة التي تحتاجها.",
"list_button": "القائمة",
"away": null,
"fallback": "💙 يمكنك اختيار الخدمة من القائمة، أو كتابة استفسارك مباشرة ليتم تحويل محادثتك إلى إدارة الأكاديمية.",
"choices": [
{
"id": "c_prices",
"title": "💰 أسعار الاشتراكات",
"description": null,
"action": {
"type": "reply",
"text": "💰 أسعار الاشتراكات في أكاديمية النجوم:\n\n🔹 شهر: 230 ريال\n🔹 3 أشهر: 630 ريال\n🔹 6 أشهر: 1,140 ريال\n🔹 سنة كاملة: 1,920 ريال\n\n📲 للتسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_programs",
"title": "⚽ البرامج والمواعيد",
"description": null,
"action": {
"type": "reply",
"text": "⚽ البرامج والمواعيد في أكاديمية النجوم:\n\n👦 الفئات العمرية: من 5 إلى 18 سنة، في مجموعات حسب العمر.\n📅 أيام التدريب: الأحد والثلاثاء والخميس.\n⏰ وقت التدريب: من بعد صلاة العصر حتى صلاة العشاء.\n\n📍 موقع الأكاديمية:",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_register",
"title": "📝 تسجيل لاعب جديد",
"description": null,
"action": {
"type": "reply",
"text": "📝 يسعدنا انضمام بطلنا إلى أكاديمية النجوم 🌟\n\nسجّل اللاعب من الرابط، واختر الفئة العمرية ومدة الاشتراك، وسيتواصل معك فريق الأكاديمية لتأكيد التسجيل.\n\n📲 رابط التسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_location",
"title": "📍 موقع الأكاديمية",
"description": null,
"action": {
"type": "reply",
"text": "📍 موقع أكاديمية النجوم 💙\n\nيسعدنا زيارتكم في أي وقت خلال أوقات التدريب.\n\nللوصول إلى الأكاديمية عبر خرائط Google 👇",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_team",
"title": "💬 التواصل مع الإدارة",
"description": null,
"action": {
"type": "team",
"line": "💬 تم تحويل محادثتك إلى إدارة أكاديمية النجوم ✅\n\nيرجى كتابة استفسارك، وسيقوم أحد أعضاء فريق الإدارة بالرد عليك في أقرب وقت ممكن.\n\n💙 نسعد بخدمتك دائمًا.",
"tag": "التواصل_مع_الإدارة",
"assign": {
"mode": "auto",
"member_id": null
}
}
}
]
},
"draft_saved_at": "2026-10-15T09:00:00Z",
"problems": [],
"published": {
"version": 1,
"published_at": "2026-10-15T09:01:00Z",
"menu": {
"version": 1,
"opening": "⚽ أهلًا وسهلًا بك في أكاديمية النجوم لكرة القدم 💙\n\nيسعدنا تواصلك معنا، ونتطلع لمساعدة بطلنا في بدء رحلته الكروية 🌟\n\n👇 اختر من القائمة التالية الخدمة التي تحتاجها.",
"list_button": "القائمة",
"away": null,
"fallback": "💙 يمكنك اختيار الخدمة من القائمة، أو كتابة استفسارك مباشرة ليتم تحويل محادثتك إلى إدارة الأكاديمية.",
"choices": [
{
"id": "c_prices",
"title": "💰 أسعار الاشتراكات",
"description": null,
"action": {
"type": "reply",
"text": "💰 أسعار الاشتراكات في أكاديمية النجوم:\n\n🔹 شهر: 230 ريال\n🔹 3 أشهر: 630 ريال\n🔹 6 أشهر: 1,140 ريال\n🔹 سنة كاملة: 1,920 ريال\n\n📲 للتسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_programs",
"title": "⚽ البرامج والمواعيد",
"description": null,
"action": {
"type": "reply",
"text": "⚽ البرامج والمواعيد في أكاديمية النجوم:\n\n👦 الفئات العمرية: من 5 إلى 18 سنة، في مجموعات حسب العمر.\n📅 أيام التدريب: الأحد والثلاثاء والخميس.\n⏰ وقت التدريب: من بعد صلاة العصر حتى صلاة العشاء.\n\n📍 موقع الأكاديمية:",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_register",
"title": "📝 تسجيل لاعب جديد",
"description": null,
"action": {
"type": "reply",
"text": "📝 يسعدنا انضمام بطلنا إلى أكاديمية النجوم 🌟\n\nسجّل اللاعب من الرابط، واختر الفئة العمرية ومدة الاشتراك، وسيتواصل معك فريق الأكاديمية لتأكيد التسجيل.\n\n📲 رابط التسجيل الإلكتروني:",
"link": "https://app.yourplatform.example/register?academy=ACADEMY_ID"
}
},
{
"id": "c_location",
"title": "📍 موقع الأكاديمية",
"description": null,
"action": {
"type": "reply",
"text": "📍 موقع أكاديمية النجوم 💙\n\nيسعدنا زيارتكم في أي وقت خلال أوقات التدريب.\n\nللوصول إلى الأكاديمية عبر خرائط Google 👇",
"link": "https://maps.app.goo.gl/EXAMPLE"
}
},
{
"id": "c_team",
"title": "💬 التواصل مع الإدارة",
"description": null,
"action": {
"type": "team",
"line": "💬 تم تحويل محادثتك إلى إدارة أكاديمية النجوم ✅\n\nيرجى كتابة استفسارك، وسيقوم أحد أعضاء فريق الإدارة بالرد عليك في أقرب وقت ممكن.\n\n💙 نسعد بخدمتك دائمًا.",
"tag": "التواصل_مع_الإدارة",
"assign": {
"mode": "auto",
"member_id": null
}
}
}
]
}
},
"changed": false
}{
"error": "invalid_request",
"fields": [
"mode"
],
"errors": {
"mode": [
"invalid"
]
}
}{
"error": "unauthorized"
}{
"error": "live_key_required"
}{
"error": "idempotency_in_progress"
}{
"error": "too_many_requests"
}{
"error": "internal_error"
}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.
Body
menu_only: outside the choices, the customer reaches the team. menu_then_radeef: after the menu, Radeef answers; it needs Radeef set up on the application. Refused: invalid.
ar or en: the language of the bot's own words, its «رجوع» and «القائمة» buttons (Back and Menu) and the default lines. Refused: invalid.