---
title: "Set Accounts Timezone"
method: POST
path: "/accounts/timezone"
tags: ["accounts"]
---

# Set Accounts Timezone

`POST /accounts/timezone`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/accounts/timezone`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

Set or clear the operator-owned timezone on accounts (admin only).

The compliance gate will not call an account whose timezone is unknown;
setting one records who vouched for it and when, and returns campaign
memberships closed for that reason to their campaigns. Accounts not on the
active surface come back in ``not_found``.

## Request body

- AccountTimezoneUpdate: Set (or clear) the operator-owned timezone on selected accounts.
  - `account_ids` string[], required
  - `timezone` string, nullable, required: IANA timezone, e.g. 'Australia/Perth'. null clears the operator-set value so the account falls back to its CRM-derived timezone, if any.

## Response `200`

Successful Response

- AccountTimezoneUpdateResult: How many accounts changed, and how many campaign memberships the gate had closed for an unknown timezone went back into their campaigns.
  - `updated` integer, required
  - `reopened_memberships` integer, required
  - `not_found` string[]

## Other responses

- `422`: Validation Error

---

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