---
title: "Alias of POST /campaigns/{campaignId}/launch"
method: POST
path: "/campaigns/{campaignId}/send"
tags: ["Campaigns"]
---

# Alias of POST /campaigns/{campaignId}/launch

`POST /campaigns/{campaignId}/send`

Alias of `POST /campaigns/{campaignId}/launch` — activates the
campaign and runs the launch pipeline. (Before the campaigns
refactor this was a batch "mark sequences ready" op; it is now the
campaign-activate launch.) Same body, params, and result shape.

## Query parameters

- `dryRun` boolean

## Headers

- `Idempotency-Key` string

## Response `200`

The transition result — or the dryRun report.

- union
  - CampaignTransition — Result of a deterministic lifecycle transition (`launch` / `send` / `pause` / `resume`). Carries the transition facts in exactly one of `launch` / `pause` / `resume` depending on which transition ran.
    - `object` 'campaign', required
    - `id` string, uuid, required
    - `status` 'draft' | 'active' | 'paused', required
    - `launched` integer, required — Drafts scheduled by this transition (0 unless launching/resuming).
    - `launch` object — Present on a launch/resume that scheduled work.
      - `scheduled` integer, required
      - `firstScheduledAt` string, date-time, nullable, required
      - `missingRecipientCount` integer, required
      - `duplicateActiveCancelledCount` integer, required
      - `duplicatePriorCancelledCount` integer, required
      - `blocked` object
        - `reason` string, required
        - `message` string, required
        - `missingChannels` string[], required
    - `pause` object — Present on a pause.
      - `stoppedSequences` integer, required
      - `haltedSteps` integer, required
      - `inFlightSending` integer, required
      - `alreadyPaused` boolean, required
    - `resume` object — Present on a resume.
      - `resumedSequences` integer, required
      - `noAccountSequences` integer, required
      - `missingChannels` string[], required
  - object
    - `dryRun` true, required
    - `campaignId` string, uuid, required
    - `wouldLaunch` true, required

## Other responses

- `404` — CAMPAIGN_NOT_FOUND.

---

[API](https://skmtc.net/origami/apis/origami-agent-api.md) · [All operations](https://skmtc.net/origami/apis/origami-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/origami/origami-agent-api/revisions/8083ad7fe081/schema)
