> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flextell.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ayarlar

> Klinik ayar gruplarını okumayı, güncellemeyi ve sıfırlamayı ve tüm ayar anahtarlarını anlatır.

Ayarlar kaynağı, kliniğinizin davranışını belirleyen anahtarları gruplar hâlinde okumanızı, güncellemenizi ve varsayılana döndürmenizi sağlar. Altı grup vardır: `general`, `appointment`, `notification`, `chat`, `support` ve `accounting`. Her grubun panelde karşılığı olan bir **Ayarlar** sayfası vardır (örneğin [Genel ayarlar](/panel/sistem/ayarlar/genel)).

<Info>
  Tüm endpoint'ler `X-Tenant` başlığı ister; başlık yoksa 400 `TENANT_HEADER_REQUIRED` döner. Ayarlar her klinik için ayrıdır, bir klinikteki değer diğerine geçmez. Başlığın kullanımı için [Klinikler ve X-Tenant](/api/klinikler-ve-x-tenant) sayfasına bakın.
</Info>

## Endpoint özeti

Tüm yollar `https://app.flextell.ai/api/v1/settings` altındadır. Listeleme, filtreleme, sıralama ve sayfalama yoktur; her istek tek bir grubu döndürür.

| Metot | Endpoint | Açıklama | Scope | İzin |
| - | - | - | - | - |
| GET | `/general` | Genel ayarları getirir. | `settings:read` | — |
| PUT | `/general` | Genel ayarları günceller. | `settings:write` | `Update:GeneralSettings` |
| DELETE | `/general/reset` | Genel ayarları varsayılana döndürür. | `settings:write` | `Update:GeneralSettings` |
| GET | `/appointment` | Randevu ayarlarını getirir. | `settings:read` | — |
| PUT | `/appointment` | Randevu ayarlarını günceller. | `settings:write` | `Update:AppointmentSettings` |
| DELETE | `/appointment/reset` | Randevu ayarlarını varsayılana döndürür. | `settings:write` | `Update:AppointmentSettings` |
| GET | `/notification` | Bildirim ve hatırlatma ayarlarını getirir. | `settings:read` | — |
| PUT | `/notification` | Bildirim ve hatırlatma ayarlarını günceller. | `settings:write` | `Update:NotificationSettings` |
| DELETE | `/notification/reset` | Bildirim ve hatırlatma ayarlarını varsayılana döndürür. | `settings:write` | `Update:NotificationSettings` |
| GET | `/chat` | Sohbet ayarlarını getirir. | `settings:read` | — |
| PUT | `/chat` | Sohbet ayarlarını günceller. `password` zorunludur. | `settings:write` | `Update:ChatSettings` |
| DELETE | `/chat/reset` | Sohbet ayarlarını varsayılana döndürür. | `settings:write` | `Update:ChatSettings` |
| GET | `/support` | Destek ayarlarını getirir. | `settings:read` | — |
| PUT | `/support` | Destek ayarlarını günceller. | `settings:write` | `Update:SupportSettings` |
| DELETE | `/support/reset` | Destek ayarlarını varsayılana döndürür. | `settings:write` | `Update:SupportSettings` |
| GET | `/accounting` | Muhasebe ayarlarını getirir. | `settings:read` | — |
| PUT | `/accounting` | Muhasebe ayarlarını günceller. | `settings:write` | `Update:AccountingSettings` |
| DELETE | `/accounting/reset` | Muhasebe ayarlarını varsayılana döndürür. | `settings:write` | `Update:AccountingSettings` |

Scope'lar için [Scope'lar](/api/kimlik-dogrulama/scopelar), izin modeli için [İzinler ve görünürlük](/api/izinler-ve-gorunurluk) sayfasına bakın. Her grubun `Update` izni yalnızca o grubu açar; `Update:GeneralSettings` sahibi randevu ayarlarını yazamaz. Yazma ve sıfırlama için scope ve izin birlikte gerekir; eksikse 403 `FORBIDDEN` döner.

Satış ve lead ayarları (lead dönüşüm ve atama modu) bu API ile yönetilemez. Sohbet grubunun yanıtındaki `flexy_chat_model` alanı okunur ama yazılamaz.

## Birleştirme ve sıfırlama kuralları

GET ve PUT yanıtı aynı biçimdedir: `{"success": true, "data": {"prefix": "<grup>", "settings": {...}}}`. PUT yanıtı gönderdiğiniz gövdenin yankısı değil, kayıttan sonra yeniden okunan güncel değerlerdir. Yanıt biçimi için [Yanıt yapısı](/api/istekler/yanit-yapisi) sayfasına bakın.

| Kural | Davranış |
| - | - |
| Varsayılanlar | Hiçbir şey kaydetmediyseniz bile GET, grubun tüm varsayılan anahtarlarını döndürür. Varsayılanı olmayan tek anahtar `cancellation_followup_enabled`'dır; kaydedilene kadar yanıtta yoktur. |
| Kısmi güncelleme | PUT gövdesi mevcut değerlerle birleştirilir. Yalnızca değiştirmek istediğiniz anahtarı gönderin; nesneler anahtar anahtar birleşir. |
| Listeler | Liste değerleri (`appointment_offsets`, `ai_reply_windows`, `message_notification_roles`) bütün olarak değiştirilir. `[-2]` göndermek eski listeyi tamamen siler. |
| `null` | Bir anahtara `null` (veya `""`) göndermek kayıtlı değeri siler ve varsayılanı geri getirir. "Sınırsız" ya da "kapalı" anlamına gelmez. |
| Boş nesne | `appointments`, `notifications`, `reminders`, `support`, `customer_forms`, `intake_requirements` ve `pre_booking_requirements` için `{}` göndermek 422 döner. |
| Bilinmeyen anahtar | Sessizce yok sayılır. |
| Sıfırlama | `DELETE .../reset` grubun tüm kayıtlı anahtarlarını siler; hepsi varsayılana döner. Yanıt `{"prefix": "...", "message": "Ayarlar başarıyla sıfırlandı."}` biçimindedir ve `settings` bloğu içermez; güncel değerler için yeniden GET yapın. |

<Warning>
  `null`, "limiti kaldır" demek değildir. Örneğin `appointments.max_future_days: null` değeri 14'e döndürür. Yalnızca varsayılanı `null` olan anahtarlar gerçekten boşaltılabilir: `monthly_creation_limit`, `response_time_minutes`, `default_channel_id`, `default_invoice_account_id`, `default_template_id` ve `ai_reply_windows`.
</Warning>

**Sıfırlamanın kapsamı.** `general/reset`, ön kayıt gereksinimini (`intake_requirements.enabled`) ve varsayılan form şablonunu da siler, çünkü bu iki anahtar genel gruptadır. `chat/reset` ise bunlara dokunmaz; yalnızca AI yanıt programını, `message_notification_roles` listesini (varsayılan: Süper Yönetici ve Satış Direktörü) ve `flexy_chat_model` değerini sıfırlar. `chat/reset` parola istemez.

**Saat dilimi.** Saat içeren anahtarlar UTC saklanır. `reminders.send_time` API'de kliniğin yerel saatiyle gönderilir ve döner; `ai_reply_windows` saatleri ise UTC'dir. `default_timezone` değerini sonradan değiştirirseniz kayıtlı UTC saatler yeniden hesaplanmaz; yerel karşılıkları kayar.

Doğrulama hataları 422 `VALIDATION_FAILED` ile döner; alan hataları `errors` içindedir. Genel hata biçimi için [Hata kodları](/api/istekler/hata-kodlari) sayfasına bakın.

## Genel

`/settings/general`. Panel karşılığı: [Genel ayarlar](/panel/sistem/ayarlar/genel).

| Alan | Tür | Varsayılan | Kural |
| - | - | - | - |
| `default_timezone` | string | `Europe/Istanbul` | Geçerli bir IANA saat dilimi kimliği (`Europe/Istanbul` gibi). Kliniğin tüm yerel saat hesaplarında kullanılır. |
| `date_format` | string | `d.m.Y` | `d.m.Y`, `Y-m-d`, `d/m/Y`, `m/d/Y` veya `d F Y`. |
| `time_format` | string | `H:i` | `H:i` (14:30), `h:i A` (02:30 PM) veya `H:i:s` (14:30:45). |
| `currency` | string | `TRY` | Aktif bir para birimi kodu (`TRY`, `USD`, `EUR` gibi). Klinik ana para birimidir. |
| `locale` | string | `tr` | Herhangi bir string kabul edilir, ancak yalnızca `tr` ve `en` etkilidir; diğer değerler `tr` gibi davranır. |

GET yanıtında ayrıca `customer_forms.default_template_id` ve `intake_requirements.enabled` gelir; bunlar bu uçtan yazılamaz, [Sohbet](#sohbet) grubundan yazılır. Kurulum sihirbazı çalıştıysa yanıtta `work_hours_start` ve `work_hours_end` anahtarları da görünebilir; bunlar yazılamaz.

`date_format` ve `time_format`, sunucuda üretilen metinleri etkiler (e-postalar, satış etiketleri, AI asistanın yazdığı randevu metinleri). Yeni panelin tarih görünümünü ve mesaj şablonu değişkenlerini (`{appointment_date}`, `{appointment_time}`) değiştirmez.

## Randevu

`/settings/appointment`. Gövde iki nesneden oluşur: `appointments` ve `notifications`. Her biri gönderildiğinde boş olamaz; `null` göndermek o nesnenin tamamını varsayılana döndürür. Panel karşılığı: [Randevu ayarları](/panel/sistem/ayarlar/randevu).

### appointments

| Alan | Tür | Varsayılan | Kural ve etki |
| - | - | - | - |
| `creation_limit` | integer | `1` | En az 1. Bir hastanın aynı gün alabileceği en çok randevu sayısı. |
| `monthly_creation_limit` | integer \| null | `null` | En az 1. Takvim ayı başına limit; `null` limitsiz demektir. |
| `slot_duration` | integer | `15` | En az 5 (dakika). Yeni randevuda önerilen süre. |
| `suggested_step_minutes` | integer | `15` | En az 5 (dakika). Saat seçicideki önerilen başlangıç saatleri arasındaki adım; süreden bağımsızdır. |
| `max_future_days` | integer | `14` | En az 1. Randevunun en fazla kaç gün sonrasına verilebileceği. "Limitsiz" değeri yoktur. |
| `close_on_public_holidays` | boolean | `true` | `null` kabul edilmez. Açıkken AI asistan resmi tatil saatlerine randevu vermez. Kliniğe özel günler için [Tatiller](/api/kaynaklar/tatiller) kaynağına bakın. |
| `reschedule_confirmation_window_days` | integer | `3` | 1–30. Toplu randevu taşımada hastaya önerilen yeni saatin onay için kaç gün kilitli kalacağı. `null` değeri 3'e döndürür. Bkz. [Toplu randevu taşıma](/api/kaynaklar/toplu-randevu-tasima). |

<Note>
  `creation_limit`, `monthly_creation_limit` ve `max_future_days` yalnızca AI asistanın randevu akışında uygulanır. Panelden ya da `POST /appointments` ile elle oluşturulan randevular bu limitlere takılmaz. Ayrıca elle verilen randevular `slot_duration` süresine veya saat ızgarasına uymak zorunda değildir; bu değer yeni randevuda yalnızca ön değer olarak gelir. Resmi tatillerde elle randevu oluşturmak engellenmez, yalnızca uyarı verir.
</Note>

### notifications

| Alan | Tür | Varsayılan | Kural ve etki |
| - | - | - | - |
| `send_on_create` | boolean | `true` | Randevu oluştururken hastaya bilgi mesajı gönderme seçeneğinin varsayılanı. `POST /appointments` isteğinde `send_message` yoksa bu değer kullanılır. |
| `send_on_update` | boolean | `true` | Aynısı, randevu güncellemesi için. |
| `default_channel_id` | integer \| null | `null` | Aynı klinikte **aktif** bir kanalın kimliği; aksi hâlde 422. Hastanın sohbeti ya da kendi varsayılan kanalı yoksa bilgi mesajı bu kanaldan gider. Boşsa hastaya ulaşılabilen ilk aktif kanal kullanılır. Kanallar için [Kanallar](/api/kaynaklar/kanallar) sayfasına bakın. |

## Bildirim

`/settings/notification`. Hatırlatma saatini, hatırlatma günlerini ve iptal sonrası takip mesajını belirler. Hatırlatma kayıtlarının kendisi için [Randevu hatırlatmaları](/api/kaynaklar/randevu-hatirlatmalari) sayfasına bakın. Panel karşılığı: [Bildirim ve hatırlatma ayarları](/panel/sistem/ayarlar/bildirim-ve-hatirlatma).

| Alan | Tür | Varsayılan | Kural ve etki |
| - | - | - | - |
| `reminders.send_time` | string | `10:00` UTC | Kesin `HH:mm` biçimi (`25:00`, `10:00:00` ve `soon` reddedilir). Kliniğin yerel saatiyle gönderilir ve döner. Tüm gün tabanlı hatırlatmalar bu saatte gönderilir. |
| `reminders.appointment_offsets` | integer\[] | `[-3, -1]` | Her eleman -365 ile -1 arasında. Randevudan kaç gün önce hatırlatma gideceği (negatif = önce). |
| `reminders.session_confirmation_offsets` | integer\[] | `[-10, -5]` | Aynı aralık. Tamamlanan seanstan sonra bir sonraki seans için onay mesajı; seanslar arası aralık 30 günü aşmıyorsa. |
| `reminders.session_confirmation_offsets_long_gap` | integer\[] | `[-30, -10, -5]` | Aynı aralık. Seanslar arası aralık 30 günü aşıyorsa. |
| `cancellation_followup_enabled` | boolean | yok | Yalnızca açık `false` takip mesajını kapatır; anahtar yoksa takip açıktır. |
| `cancellation_followup_days` | integer | `30` | En az 1. İptalden kaç gün sonra takip mesajı gideceği. |

`reminders` gönderildiğinde boş olamaz; `null` göndermek tüm hatırlatma alt grubunu varsayılana döndürür.

<Warning>
  Varsayılan gönderim saati depoda `10:00` UTC'dir. Saat dilimi `Europe/Istanbul` olan bir klinikte API bunu `13:00` olarak döndürür. Panelde görünen "Varsayılan: 10:00" ipucu etkin varsayılanı yansıtmaz.
</Warning>

Gönderim saatini değiştirdiğinizde (PUT veya sıfırlama ile), gönderilmemiş ve zamanı henüz gelmemiş randevu, seans onayı ve iptal takip hatırlatmaları yeni saate taşınır. Yeni saati zaten geçmiş olanlar eski zamanını korur. Aynı saati yeniden göndermek hiçbir şeyi taşımaz.

`cancellation_followup_enabled` kaydedilmediyse backend takibi açık sayar; yani hiç ayar yapmamış bir klinikte iptalden 30 gün sonra takip mesajı gider. Takip yalnızca iptal nedeni (`cancellation_reason`) girilmiş randevular için kuyruğa alınır. `false` gönderirseniz takip gönderilmez.

## Sohbet

`/settings/chat`. AI asistanın hangi saatte nasıl yanıt vereceğini, yeni mesaj bildirimini alacak rolleri ve ön kayıt gereksinimlerini belirler. Panel karşılığı: [Sohbet ayarları](/panel/sistem/ayarlar/sohbet). AI asistanın kendisi için [AI asistan](/api/kaynaklar/ai-asistan) sayfasına bakın.

<Warning>
  Her `PUT /settings/chat` isteği gövdede `password` ister ve bu, isteği yapan kullanıcının kendi geçerli parolası olmalıdır. Yalnızca bir rol listesini değiştirseniz bile gerekir. Parola yanlışsa 422 döner ve hata `password` alanındadır.
</Warning>

| Alan | Tür | Varsayılan | Kural ve etki |
| - | - | - | - |
| `password` | string | — | Zorunlu. Kaydedilmez, yalnızca doğrulanır. |
| `ai_reply_windows` | nesne\[] \| null | `null` | Haftalık AI yanıt programı. `[]` veya `null` programı siler. |
| `message_notification_roles` | string\[] | `["super_admin","sales_director"]` | Yeni hasta mesajında bildirim alacak rol adları. Her eleman klinikte var olan ayrı bir rol adı olmalı. `[]` kimseye bildirim gitmeyeceği anlamına gelir. |
| `intake_requirements.enabled` | boolean | `false` | Ön kayıt gereksinimi. Açıkken hastalar randevu alabilmek için fotoğraf göndermeli ve ön kayıt formunu doldurmalıdır. |
| `pre_booking_requirements.enabled` | boolean | — | `intake_requirements.enabled` için eski ad. İkisi birlikte gelirse `intake_requirements` geçerlidir. Yanıtlarda eski istemciler için yansıtılır. |
| `customer_forms.default_template_id` | integer \| null | `null` | Aktif bir form şablonunun kimliği. AI asistan hastaya özel form bağlantısını bu şablonla üretir. Şablonlar için [Hasta formları](/api/kaynaklar/hasta-formlari) sayfasına bakın. |

`message_notification_roles` listesindeki rollerin kullanıcıları bildirim alır; ancak yalnızca ilgili sohbeti görebilenlere gider ve kullanıcının kendi `chat_new_message` bildirim tercihi kapalıysa gitmez. Varsayılan, sohbetin tümünü görebilen sistem rollerini (Süper Yönetici ve Satış Direktörü) içerir. `assistant` gibi `ViewAllConversations` iznine sahip olmayan bir rol seçerseniz, o role mensup kullanıcıya yalnızca sohbetin lead'i kendisine atanmışsa bildirim gider. Kaydedilmiş ayarlar bu değişiklikten etkilenmez.

### AI yanıt programı

`ai_reply_windows` öğeleri şu alanları taşır:

| Alan | Tür | Kural |
| - | - | - |
| `day` | string | Zorunlu. `monday` ... `sunday`. Kliniğin yerel günüdür. |
| `start_time`, `end_time` | string \| null | `HH:mm`, **UTC**. İkisi birden `null` (tam gün varsayılanı) ya da ikisi birden dolu (saatli istisna) olmalı. `end_time` `start_time`'dan farklı olmalı; `end_time` daha küçükse pencere UTC gece yarısını aşar. |
| `mode` | string | Zorunlu. `auto` (Otomatik: yanıtı üretir ve gönderir), `semi_auto` (Yarı-otomatik: yanıtı öneri olarak sunar, kullanıcı gönderir veya düzenler), `closed` (Kapalı: AI devre dışı). |

Doğrulama kuralları:

* Bir gün için en fazla bir tam gün varsayılanı olabilir.
* Aynı günde saatli pencereler çakışamaz. Uç uca gelmeleri serbesttir (`09:00–13:00` ve `13:00–17:00`). Gece yarısını aşan pencere iki parçaya bölünerek denetlenir.
* Hatalar ilgili öğenin `ai_reply_windows.{i}.day` veya `ai_reply_windows.{i}.start_time` alanında döner.

Mod şöyle çözülür:

1. Program yoksa (`null` veya `[]`) AI her zaman `auto` çalışır.
2. Program varsa, geçerli yerel gün için eşleşen saatli istisna kazanır. Başlangıç dahil, bitiş hariçtir.
3. İstisna yoksa günün tam gün varsayılanı geçerlidir.
4. Hiçbiri eşleşmezse mod `closed` olur.

Kanal bazında sabitlenmiş bir AI yanıt modu varsa o, bu programın önüne geçer.

**Saat dönüşümü örneği.** İstanbul'da pazartesi 00:45–09:30 yerel saat aralığı UTC'de 21:45–06:30'dur ve `day` yerel gün olduğu için şöyle gönderilir:

```json theme={null}
{"day": "monday", "start_time": "21:45", "end_time": "06:30", "mode": "auto"}
```

### Ön kayıt gereksinimi

`intake_requirements.enabled` ve `customer_forms.default_template_id`, `GET /settings/general` yanıtında da görünür ama yalnızca bu uçtan yazılır. Kurallar:

* Ön kayıt ancak **aktif** bir varsayılan form şablonuyla açılabilir. Şablon aynı istekte gönderilmeli ya da önceden kayıtlı olmalıdır. Aksi hâlde 422 döner, hata `customer_forms.default_template_id` alanındadır: `Randevu öncesi gereksinimleri açmak için aktif bir varsayılan form şablonu seçin.`
* Ön kayıt açıkken şablonu temizlemek de reddedilir. Ön kaydı kapatmak ve şablonu birlikte temizlemek serbesttir.
* Eski `pre_booking_requirements` anahtarı hâlâ kabul edilir, ancak yeni entegrasyonlarda `intake_requirements` kullanın.

<Warning>
  Ön kayıt gereksinimi AI asistanın çalışma biçimini değiştirir. Açıkken AI asistan randevu oluşturmaz; hastadan formu doldurmasını ister. Kapalıyken standart akış çalışır ve AI asistan randevuyu kendisi oluşturur. Anahtarı değiştirmek, hangi AI asistan yönergelerinin etkin olduğunu da otomatik değiştirir.
</Warning>

## Destek ve muhasebe

### Destek

`/settings/support`. Gövde `support` nesnesi içindedir.

| Alan | Tür | Varsayılan | Kural |
| - | - | - | - |
| `support.response_time_minutes` | integer \| null | `null` | En az 30 (dakika). Destek talepleri için hedef en uzun yanıt süresi. `support` nesnesi gönderildiğinde boş olamaz. |

<Note>
  Bu değer şu an yalnızca saklanır ve gösterilir; başka bir akışta kullanılmaz.
</Note>

### Muhasebe

`/settings/accounting`. Gövde diğer gruplardan farklı olarak düzdür (iç içe nesne yok). Aynı değerler satış formu için `GET /sales/form-metadata` yanıtında da gelir. Panel karşılığı: [Muhasebe ayarları](/panel/sistem/ayarlar/muhasebe).

| Alan | Tür | Varsayılan | Kural ve etki |
| - | - | - | - |
| `default_tax_rate` | integer | `10` | `0`, `1`, `10` veya `20` (KDV %). `null` değeri 10'a döndürür. Kendi oranı olmayan satış ve teklif kalemlerine uygulanır. |
| `override_sale_tax_rate` | boolean | `false` | Açıkken kalemin KDV oranı, ürün veya tedavinin kendi oranı yerine varsayılan oranla doldurulur. |
| `preserve_item_total_price` | boolean | `false` | Açıkken kullanıcının yazdığı kalem toplamı aynen korunur, yuvarlama farkı KDV tutarına yansır. Kapalıyken toplam birim fiyattan yeniden hesaplanır ve kuruş farkı çıkabilir. |
| `stock_deduction_mode` | string | `on_invoice` | Satılan ürünlerin stoktan ne zaman düşeceği, aşağıdaki tabloda. |
| `default_invoice_account_id` | integer \| null | `null` | En az 1 ve kliniğe ait bir fatura hesabı olmalı; aksi hâlde 422 `Seçilen fatura hesabı geçersiz.` Satış faturalanırken önceden seçilen hesap. |

| `stock_deduction_mode` değeri | Etiket | Davranış |
| - | - | - |
| `on_invoice` | Fatura Kesildiğinde | Fatura oluşturulduğunda stoktan otomatik düşer. |
| `on_mark` | Faturalandırıldı İşaretlendiğinde | Satış faturalandırıldı olarak işaretlendiğinde stoktan düşer. |
| `never` | Hiçbir Zaman (Manuel) | Stok yalnızca elle düşürülür (`POST /sales/{id}/stock-deduct`). |

`never` dışındaki modlarda `POST /sales/{id}/stock-deduct` çağrısı 422 `STOCK_DEDUCTION_DISABLED` döner. Fatura hesabı seçimi şu sırayı izler: satışı yapan kullanıcının tercih ettiği hesap, kalemlerin doktorlarının ortak tercihi, sonra `default_invoice_account_id`. Satışlar için [Satışlar](/api/kaynaklar/satislar), hesaplar için [Hesaplar ve işlemler](/api/kaynaklar/hesaplar-ve-islemler) sayfasına bakın.

## Örnekler

<CodeGroup>
  ```bash Randevu ayarını kısmen güncelleme theme={null}
  curl -X PUT https://app.flextell.ai/api/v1/settings/appointment \
    -H "Authorization: Bearer <access_token>" \
    -H "X-Tenant: <tenant_id>" \
    -H "Content-Type: application/json" \
    -d '{"appointments": {"slot_duration": 30}}'
  ```

  ```bash Hatırlatma günlerini değiştirme theme={null}
  curl -X PUT https://app.flextell.ai/api/v1/settings/notification \
    -H "Authorization: Bearer <access_token>" \
    -H "X-Tenant: <tenant_id>" \
    -H "Content-Type: application/json" \
    -d '{"reminders": {"send_time": "11:00", "appointment_offsets": [-2]}}'
  ```

  ```bash Sohbet ayarını güncelleme (parola zorunlu) theme={null}
  curl -X PUT https://app.flextell.ai/api/v1/settings/chat \
    -H "Authorization: Bearer <access_token>" \
    -H "X-Tenant: <tenant_id>" \
    -H "Content-Type: application/json" \
    -d '{
      "password": "<kendi_parolanız>",
      "ai_reply_windows": [
        {"day": "monday", "start_time": null, "end_time": null, "mode": "semi_auto"},
        {"day": "monday", "start_time": "21:45", "end_time": "06:30", "mode": "auto"}
      ]
    }'
  ```

  ```bash Grubu sıfırlama theme={null}
  curl -X DELETE https://app.flextell.ai/api/v1/settings/support/reset \
    -H "Authorization: Bearer <access_token>" \
    -H "X-Tenant: <tenant_id>"
  ```
</CodeGroup>

İlk örneğe verilen yanıtta `creation_limit`, `max_future_days` gibi diğer tüm anahtarlar önceki değerleriyle birlikte döner:

```json theme={null}
{
  "success": true,
  "data": {
    "prefix": "appointment",
    "settings": {
      "appointments": {
        "slot_duration": 30,
        "suggested_step_minutes": 15,
        "max_future_days": 14,
        "creation_limit": 1,
        "monthly_creation_limit": null,
        "reschedule_confirmation_window_days": 3,
        "close_on_public_holidays": true
      },
      "notifications": {
        "send_on_create": true,
        "send_on_update": true,
        "default_channel_id": null
      }
    }
  }
}
```

Saat dilimini ve klinik profilini (`work_hours`, adres) değiştirmek için [Klinik ve genel](/api/kaynaklar/klinik-ve-genel) sayfasına bakın.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.