> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truedy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Pause, Resume, and Edit Campaigns

> Clear semantics for stopping scheduled calls and resuming them safely

# Pause, Resume, and Edit Campaigns

When you run a batch campaign in production, you need operational controls that are predictable.

This guide documents Truedy’s pause/resume semantics in a practical way, so you can be confident about what changes and what does not.

## Who this is for

* Teams monitoring outbound campaigns who need to temporarily stop delivery.
* Developers implementing safe operational buttons (pause/resume) without breaking analytics or history.

## Campaign states (what matters for operations)

Campaign lifecycle (simplified):

* `draft` -> `scheduled` -> `active` -> `completed`
* `paused` can happen during `scheduled` or `active`
* `failed` or `cancelled` are terminal outcomes

## Pause semantics (what pause really does)

**Pause** stops delivery of **future scheduled calls**.

In practice:

* Campaigns that are `active` or `scheduled` can be paused.
* Pending / not-yet-placed calls are held.
* Already-placed calls should continue to run to their normal terminal states.

API semantics:

* Pause endpoint: [`POST /batch-calls/{batch_call_id}/pause`](/api-reference/batch-calls#pause-batch-call)
* Allowed when the batch is in `active` or `scheduled` status.

Key idea: pause is an operational “hold the line” action. It should not rewrite history for calls already in progress.

## Resume semantics (how paused work continues)

**Resume** restarts delivery for a paused campaign.

In practice:

* Resume endpoint: [`POST /batch-calls/{batch_call_id}/resume`](/api-reference/batch-calls#resume-batch-call)
* Allowed when the batch is in `paused` status.
* When resuming:
  * If the original schedule start is still in the future, the batch can return to `scheduled`.
  * If the schedule start is already in the past, it becomes `active` so delivery can proceed.

## Editing semantics (rescheduling future contacts)

If you PATCH scheduling fields while a batch is in a compatible state (e.g. `scheduled` or `paused`), Truedy redistributes contacts across the updated schedule.

Key scheduling fields typically include:

* `scheduled_at`
* `start_time` / `end_time`
* `working_days`
* `max_calls_per_day`

Practical guidance:

* Use edits for pacing and window changes.
* Expect the scheduler to recalculate `scheduled_at` for contacts that are not completed yet.
* Already completed contacts should remain completed (analytics stay consistent).

See:

* [`PATCH /batch-calls/{batch_call_id}`](/api-reference/batch-calls#update-batch-call)

## Concrete cURL operations

### Pause a campaign

```bash theme={null}
curl -X POST "https://api.truedy.ai/api/public/v1/batch-calls/BATCH_CALL_ID/pause" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Resume a campaign

```bash theme={null}
curl -X POST "https://api.truedy.ai/api/public/v1/batch-calls/BATCH_CALL_ID/resume" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Edit schedule while paused/scheduled

```bash theme={null}
curl -X PATCH "https://api.truedy.ai/api/public/v1/batch-calls/BATCH_CALL_ID" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "start_time": "09:30",
    "end_time": "16:30",
    "max_calls_per_day": 80
  }'
```

## Safety checklist

Before pausing or editing, confirm:

* You’re pausing the correct batch ID.
* You know whether your delivery is currently `active`, `scheduled`, or already `paused`.
* Your monitoring looks at campaign contact statuses (not just batch status).

Then:

* Use pause to reduce load without touching completed calls.
* Use resume to restart without losing your pending work.
* Use PATCH to reschedule remaining future contacts.

## Next steps

* See outcomes: [Campaign Analytics & Reporting](/guides/campaign-analytics-and-reporting)
* For scheduling inputs: [Scheduling & Delivery Logic](/guides/scheduling-and-delivery-logic)
