---
title: "Update weekly summary email settings (upsert)"
method: PUT
path: "/companies/{companyId}/weekly-email/settings"
tags: ["Company Settings"]
---

# Update weekly summary email settings (upsert)

`PUT /companies/{companyId}/weekly-email/settings`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/weekly-email/settings`
- Auth: HTTP bearer

Demo-parity mutation for an explicitly allowlisted active or test company. Requires company admin or owner; `/qa` callers additionally require the test-only QA boundary.

## Request body

- UpdateWeeklyEmailSettingsInput
  - `enabled` boolean
  - `cadence` 'weekly'
  - `sendDay` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday'
  - `sendTime` string
  - `timezone` string: IANA time zone, e.g. America/New_York. Rejected with 422 when the zone is unknown.
  - `businessModel` 'software' | 'services' | 'digital': Deprecated (#1967): the company's stored business model decides the copy variant; this value is only the fallback when the company model cannot be read or is unset.
  - `intro` string, nullable
  - `enabledSections` string[]

## Response `200`

Weekly-email settings updated

- WeeklyEmailSettingsResponse
  - `data` WeeklyEmailSettings
    - `companyId` string, uuid, required
    - `enabled` boolean, required
    - `cadence` 'weekly', required
    - `sendDay` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday', required
    - `sendTime` string, required: HH:MM 24-hour local clock time in `timezone`
    - `timezone` string, required: IANA time zone the send day and time are read in (#2656). Defaults to America/New_York.
    - `businessModel` 'software' | 'services' | 'digital', required: Effective copy variant, mapped from the company's stored business model (#1967). The per-settings value is used only when the company model cannot be read or is unset.
    - `intro` string, nullable
    - `enabledSections` string[], required
    - `updatedAt` string, date-time

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Resource not found
- `422`: Validation error

---

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