---
title: "Get the stored timezone"
method: GET
path: "/v1/actor-preferences/timezone"
tags: ["actor-preferences"]
---

# Get the stored timezone

`GET /v1/actor-preferences/timezone`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/actor-preferences/timezone`
- Auth: HTTP bearer

Read the caller's own stored timezone.

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

Successful Response

- ActorTimezoneResponse: An actor's stored timezone and where it came from.
  - `actor_id` string, uuid, required
  - `timezone` string, nullable, required
  - `timezone_source` 'slack_profile' | 'google_calendar' | 'user_provided' | 'browser_detected' | 'chat_client', required: Where an actor's stored IANA ``timezone`` came from. ``SLACK_PROFILE``/``GOOGLE_CALENDAR``/ ``BROWSER_DETECTED``/``CHAT_CLIENT`` are write-once (``services.actor_timezone.write_actor_timezone_if_unset`` never displaces one resolver's write with another's); ``USER_PROVIDED`` is the one exception, since a person's own save (``repositories.actor.ActorRepository.set_timezone_user_provided``) always overwrites.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `422`: Validation error

---

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