---
title: "Execute campaign lifecycle action"
method: POST
path: "/campaigns/{campaign_id}/lifecycle"
tags: ["Campaigns"]
---

# Execute campaign lifecycle action

`POST /campaigns/{campaign_id}/lifecycle`

## Request

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

Pause, resume, or launch campaign with preflight gating.

## Path parameters

- `campaign_id` string, required

## Query parameters

- `action` string, nullable
- `async` boolean, nullable
- `workspaceId` integer, required

## Headers

- `Idempotency-Key` string, nullable

## Request body

- PublicCampaignLifecycleIn
  - `action` string, nullable
  - `limit` integer, nullable
  - `asyncMode` boolean, nullable

## Response `200`

Successful Response

- CampaignLifecycleOut
  - `action` string, nullable
  - `campaignId` string, nullable
  - `workspaceId` integer, nullable
  - `status` string, nullable
  - `message` string, nullable
  - `preflight` CampaignPreflightOut
    - `campaignId` string, nullable
    - `workspaceId` integer, nullable
    - `checkedAt` string, date-time, nullable
    - `status` string, nullable
    - `blockingFailures` string[]
    - `checks` CampaignPreflightCheckOut[]
      - `key` string, nullable
      - `label` string, nullable
      - `ok` boolean, nullable
      - `severity` string, nullable
      - `reason` string, nullable
      - `hint` string, nullable
    - `summary` CampaignPreflightSummaryOut
      - `steps` integer, nullable
      - `leads` integer, nullable
      - `mailboxes` integer, nullable
    - `admission` CampaignAdmissionOut
      - `campaignId` string, nullable
      - `workspaceId` integer, nullable
      - `checkedAt` string, date-time, nullable
      - `status` string, nullable
      - `blockingFailures` string[]
      - `source` string, nullable
      - `error` string, nullable
      - `checks` CampaignPreflightCheckOut[]
        - `key` string, nullable
        - `label` string, nullable
        - `ok` boolean, nullable
        - `severity` string, nullable
        - `reason` string, nullable
        - `hint` string, nullable
      - `signals` object
    - `traceId` string, nullable
    - `decisionVersion` string, nullable
    - `decision` CampaignDecisionOut
      - `campaignId` string, nullable
      - `workspaceId` integer, nullable
      - `traceId` string, nullable
      - `decisionVersion` string, nullable
      - `status` string, nullable
      - `preflightStatus` string, nullable
      - `admissionStatus` string, nullable
      - `blockingFailures` string[]
  - `decision` CampaignDecisionOut
    - `campaignId` string, nullable
    - `workspaceId` integer, nullable
    - `traceId` string, nullable
    - `decisionVersion` string, nullable
    - `status` string, nullable
    - `preflightStatus` string, nullable
    - `admissionStatus` string, nullable
    - `blockingFailures` string[]
  - `decisionVersion` string, nullable
  - `traceId` string, nullable
  - `result` object, 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/6c02339eef43?raw)
