---
title: "Public Add Campaign Mailbox"
method: POST
path: "/campaigns/{campaign_id}/mailboxes"
tags: ["Campaigns"]
---

# Public Add Campaign Mailbox

`POST /campaigns/{campaign_id}/mailboxes`

## Request

- Base URL: `https://public.outreach2day.com`
- URL: `https://public.outreach2day.com/campaigns/{campaign_id}/mailboxes`
- Auth: HTTP bearer

Campaigns endpoint for POST /campaigns/{campaign_id}/mailboxes.

## Path parameters

- `campaign_id` string, required

## Query parameters

- `workspaceId` integer, required

## Headers

- `Idempotency-Key` string, nullable

## Request body

- CampaignMailboxAttachIn: Attach a mailbox to a campaign. Exactly one mailbox identifier should be provided: - mailboxAddress (preferred): mailbox email address - mailboxId (deprecated): legacy alias for mailboxAddress - workspaceMailboxId: numeric mailbox id returned by GET /mailboxes
  - `mailboxAddress` string, nullable: Mailbox email address to attach. Preferred identifier.
  - `mailboxId` string, nullable: Deprecated legacy alias for mailboxAddress (must be an email).
  - `workspaceMailboxId` integer, nullable: Numeric mailbox id returned by GET /mailboxes. Resolved to mailbox address within the workspace.
  - `weight` integer, nullable
  - `dailyLimit` integer, nullable
  - `gapBaseSeconds` integer, nullable
  - `gapJitterSeconds` integer, nullable
  - `state` string, nullable: Campaign mailbox state (provider-specific accepted values).

## Response `200`

Successful Response

- CampaignMailboxOut
  - `id` string, nullable: CampaignMailboxId. Stable identifier for this mailbox attachment. Use as {mailbox_id} in PATCH/DELETE /campaigns/{campaign_id}/mailboxes/{mailbox_id} (recommended).
  - `campaignId` string, nullable
  - `mailboxId` string, nullable: Mailbox address (email). Legacy identifier accepted in {mailbox_id} path params.
  - `weight` integer, nullable
  - `state` 'ACTIVE' | 'PAUSED' | 'DISCONNECTED' | 'ERROR' | 'UNKNOWN', nullable
  - `stateRaw` string, nullable: Original upstream state value before canonicalization. Present when aliased or unknown.
  - `dailyLimit` integer, nullable
  - `gapBaseSeconds` integer, nullable
  - `gapJitterSeconds` integer, nullable
  - `createdAt` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/outreach2day/apis/outreach-today-public-api.md) · [All operations](https://skmtc.dev/outreach2day/apis/outreach-today-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/outreach2day/apis/outreach-today-public-api/revisions/0e5471143371?raw)
