---
title: "Update, pause or resume a tenant"
method: PATCH
path: "/tenants/{id}"
tags: ["Tenants"]
---

# Update, pause or resume a tenant

`PATCH /tenants/{id}`

## Request

- Base URL: `https://api.groundmail.dev`
- URL: `https://api.groundmail.dev/tenants/{id}`
- Auth: HTTP bearer

Change any setting from create (except `external_id`, which cannot change), or
pause and resume the tenant with `status` and an optional `reason`. A paused
tenant's new sends get 403 `forbidden`; your other tenants keep sending.
A tenant Groundmail paused (`pause_source` `automated` or `admin`) cannot be
resumed here: fix the cause and contact support.

## Request body

- UpdateTenantRequest
  - `name` string: Display name. Defaults to `external_id`.
  - `default_from_domain` string, nullable: Completes a bare `from` local part (`"billing"` → `billing@<domain>`) on sends that name this tenant.
  - `stream_policy` 'all' | 'transactional_only': `transactional_only` refuses product email for this tenant.
  - `daily_limit` integer, nullable: Most recipients this tenant may email per UTC day, on top of its sending ramp. `null` for no limit of your own.
  - `metadata` object, nullable: Any JSON object, up to 4 KB, for your own use.
  - `status` 'active' | 'paused': `paused` stops the tenant's new sends; `active` resumes them.
  - `reason` string, nullable: Why you paused the tenant.

## Response `200`

The updated tenant

- TenantResponse
  - `tenant` Tenant, required
    - `id` string, uuid, required
    - `object` 'tenant', required
    - `external_id` string, required
    - `name` string, required
    - `status` 'active' | 'paused', required
    - `paused_reason` string, nullable
    - `paused_at` string, date-time, nullable
    - `pause_source` 'api' | 'admin' | 'automated' | 'null', nullable: Who paused the tenant: `api` (you), `automated` (Groundmail, after a high bounce or complaint rate) or `admin` (Groundmail support).
    - `default_from_domain` string, nullable
    - `stream_policy` 'all' | 'transactional_only', required
    - `daily_limit` integer, nullable
    - `metadata` object, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `400`: Invalid field
- `401`: Missing or invalid API key
- `403`: Tenants not enabled, or resuming a tenant Groundmail paused
- `404`: Tenant not found

---

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