---
title: "POST /api/v1/admin/support/mailboxes"
method: POST
path: "/api/v1/admin/support/mailboxes"
tags: ["Administration", "Support"]
---

# POST /api/v1/admin/support/mailboxes

`POST /api/v1/admin/support/mailboxes`

Creates one secondary support mailbox in PostgreSQL and then reconciles the derived D1 projection. Idempotency and the audit snapshot commit atomically with the authoritative row.

## Headers

- `authorization` string
- `idempotency-key` string, required

## Cookies

- `billing_session` string

## Request body

- object
  - `address` string, required
  - `productId` integer, required

## Response `201`

Mailbox created and projected.

- object
  - `mailbox` object, required
    - `address` string, email, required
    - `id` integer, required
    - `productId` integer, required
    - `status` 'active' | 'disabled', required
    - `updatedAt` string, date-time, required
  - `projection` object, required
    - `mailboxCount` integer, required
    - `productCount` integer, required
    - `projectionVersion` integer, required
    - `replayed` boolean, required
  - `replayed` boolean, required

## Other responses

- `400` — The request or idempotency key is invalid.
- `401` — No valid global administrator session or Support credential exists.
- `403` — The request is cross-origin, lacks mailboxes:admin, or violates Product scope.
- `404` — The active Product does not exist.
- `409` — The address already belongs to a Product or mailbox, or the idempotency key was reused for a different request.
- `422` — The mailbox domain does not match its Product or projection was rejected.
- `429` — The Support credential rate limit was exceeded.
- `503` — PostgreSQL or the Support service is unavailable.

---

[API](https://skmtc.dev/expertschat/apis/billing-core-api.md) · [All operations](https://skmtc.dev/expertschat/apis/billing-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/expertschat/billing-core-api/revisions/c6d0e986ce32/schema)
