---
title: "Update my email preferences"
method: PATCH
path: "/users/me/email-preferences"
tags: ["Email preferences"]
---

# Update my email preferences

`PATCH /users/me/email-preferences`

## Request

- Base URL: `https://tasg.app/api/v1`
- URL: `https://tasg.app/api/v1/users/me/email-preferences`
- Auth: HTTP bearer

## Request body

- object
  - `email_enabled` boolean
  - `digest_frequency` 'daily_weekdays' | 'weekly' | 'never'
  - `digest_day` integer
  - `digest_hour` integer

## Response `200`

Updated.

- EmailPreferences
  - `email_enabled` boolean, required
  - `digest_frequency` 'daily_weekdays' | 'weekly' | 'never', required
  - `digest_day` integer, required: 0 = Sunday. Used by weekly digests.
  - `digest_hour` integer, required: Local hour (user timezone) to send digests.
  - `unsubscribed_at` string, date-time, nullable

## Other responses

- `400`: Validation failed: the body or query did not match the schema, or a business rule was violated. `error` says which.
- `401`: Missing, invalid, expired or revoked credentials.
- `403`: Authenticated, but not allowed: not a member, insufficient project role or the API token lacks the required scope.
- `429`: Rate limited. Back off and retry after the window in the `RateLimit-*` headers.

---

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