---
title: "Uruchom, wstrzymaj lub wznów kampanię"
method: POST
path: "/campaigns/{id}/status"
tags: ["Kampanie"]
---

# Uruchom, wstrzymaj lub wznów kampanię

`POST /campaigns/{id}/status`

## Request

- Base URL: `https://outreachpilot.pl/api/v1`
- URL: `https://outreachpilot.pl/api/v1/campaigns/{id}/status`
- Auth: HTTP bearer

`start` uruchamia szkic, `pause` wstrzymuje aktywną, `resume` wznawia wstrzymaną. Start i wznowienie WYSYŁAJĄ PRAWDZIWE MAILE. Jeśli są ostrzeżenia (warmup, DNS, limit domeny), odpowiedź ma kod `confirmation_required`; ponów żądanie z `acknowledge_warnings: true`, gdy świadomie chcesz kontynuować. Powtórzenie tej samej akcji jest bezpieczne (`changed: false`).

**Wymagany zakres klucza:** `campaigns:write`.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `action` 'start' | 'pause' | 'resume', required: `start` uruchamia szkic, `pause` wstrzymuje, `resume` wznawia wstrzymaną. Start i wznowienie wysyłają prawdziwe maile.
  - `acknowledge_warnings` boolean: Potwierdź ostrzeżenia (np. warmup, DNS), gdy poprzednia odpowiedź miała kod `confirmation_required`.

## Response `200`

Sukces.

- object
  - `data` CampaignDetail, required
    - `id` string, required
    - `name` string, required
    - `status` 'szkic' | 'aktywna' | 'wstrzymana' | 'zakonczona' | 'blad', required
    - `email_account_id` string, nullable, required
    - `daily_limit` integer, required
    - `sending_window_start` string, required
    - `sending_window_end` string, required
    - `track_opens` boolean, required
    - `track_clicks` boolean, required
    - `total_leads` integer, required
    - `total_sent` integer, required
    - `total_opened` integer, required
    - `total_clicked` integer, required
    - `total_replied` integer, required: Uwaga: licznik zbiorczy; odpowiedzi ludzi bez zwrotów daje GET /replies i /campaigns/{id}/stats.
    - `total_bounced` integer, required
    - `started_at` string, nullable, required: Data i czas ISO 8601 (UTC).
    - `completed_at` string, nullable, required: Data i czas ISO 8601 (UTC).
    - `created_at` string, required: Data i czas ISO 8601 (UTC).
    - `updated_at` string, required: Data i czas ISO 8601 (UTC).
    - `steps` object[], required
      - `step_number` integer, required
      - `delay_days` integer, required: Dni po poprzednim mailu.
      - `condition` 'brak_odpowiedzi' | 'brak_otwarcia' | 'otwarty_bez_odpowiedzi' | 'zawsze', required
      - `subject` string, required
      - `body` string, required
  - `changed` boolean: `false`, gdy kampania już była w docelowym statusie.

## Other responses

- `400`: Nieprawidłowe żądanie. Kody: `invalid_request`.
- `401`: Brak, zły, odwołany lub wygasły klucz (`missing_api_key`, `invalid_api_key`, `api_key_revoked`, `api_key_expired`, `account_inactive`).
- `403`: Błąd. Kody: `plan_upgrade_required`.
- `404`: Nie znaleziono. Kody: `not_found`.
- `409`: Konflikt. Kody: `conflict`, `confirmation_required`.
- `422`: Błąd walidacji. Kody: `validation_error`.
- `429`: Przekroczono limit żądań (`rate_limit_exceeded`). Zobacz nagłówek `Retry-After`.

---

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