---
title: "Update user settings"
method: PATCH
path: "/api/me/settings"
tags: ["User"]
---

# Update user settings

`PATCH /api/me/settings`

## Request

- Base URL: `https://api.wondercal.com`
- URL: `https://api.wondercal.com/api/me/settings`
- Auth: HTTP bearer

Partially updates the authenticated user's scheduling settings. Only provided fields are changed. A `meet.google.com` URL is stored as the Google Meet preference — a fresh link is generated per meeting — and is returned as `defaultConferencingProvider: "google-meet"` with `defaultConferencingLink: null`. `defaultConferencingProvider` is read-only: it is derived from the link you send, never set directly.

## Request body

- object: Partial update. Only provided fields are changed. Send null to clear a field.
  - `timeZone` string, nullable: IANA timezone identifier (e.g. 'America/New_York'). Send null to clear.
  - `bufferBetweenEvents` integer, nullable: Buffer time in minutes between events (0-1440). Send null to clear.
  - `leadTimeHours` integer, nullable: Minimum advance notice in hours before a meeting may be scheduled (0-720). Send null to clear.
  - `defaultAvailableHours` union: Default available hours with start and end in HH:MM format. Send null to clear.
    - AvailableHours, nullable
      - `start` string, required: Start time in HH:MM format
      - `end` string, required: End time in HH:MM format (must be after start)
    - object, nullable
  - `defaultAvailableDaysOfWeek` integer[], nullable: Days of the week (0 = Sunday, 6 = Saturday). Must contain 1-7 unique values. Send null to clear.
  - `defaultConferencingLink` string, nullable: Default conferencing link (max 500 characters). Send null to clear.

## Response `200`

Settings updated

- object
  - `data` UserSettings: User scheduling settings (top-level response shape)
    - `defaultAvailableHours` AvailableHours, nullable
      - `start` string, required: Start time in HH:MM format
      - `end` string, required: End time in HH:MM format (must be after start)
    - `defaultAvailableDaysOfWeek` integer[], nullable: Days of the week (0 = Sunday, 6 = Saturday)
    - `bufferBetweenEvents` integer, nullable: Buffer time in minutes between events
    - `leadTimeHours` integer, nullable: Minimum advance notice in hours before a meeting may be scheduled
    - `timeZone` string, nullable: IANA timezone identifier
    - `defaultConferencingLink` string, nullable: Default conferencing link for meetings
    - `defaultConferencingProvider` 'google-meet', nullable: Read-only. "google-meet" when the user's default is Google Meet — a fresh link is generated per meeting, so defaultConferencingLink is null. Derived from the link on write; never settable directly.

## Other responses

- `400`: Validation error
- `401`: Not authenticated
- `413`: Request body exceeds 1 MB limit
- `429`: Rate limit exceeded. The Retry-After header indicates how many seconds to wait before retrying.

---

[API](https://skmtc.dev/wondercal/apis/wondercal-api.md) · [All operations](https://skmtc.dev/wondercal/apis/wondercal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wondercal/apis/wondercal-api/revisions/4889176a380f?raw)
