---
title: "Resume initiative"
method: POST
path: "/api/v1/initiatives/{id}/resume"
tags: ["Initiatives"]
---

# Resume initiative

`POST /api/v1/initiatives/{id}/resume`

## Request

- Base URL: `https://www.useboom.ai`
- URL: `https://www.useboom.ai/api/v1/initiatives/{id}/resume`
- Auth: HTTP bearer

Resume a paused initiative so it starts enrolling people again.

## Path parameters

- `id` string, required: The initiative id.

## Response `201`

Success

- object
  - `id` string, required: Initiative id.
  - `name` string, required
  - `channel` 'WHATSAPP' | 'EMAIL', required: Which identifier this initiative reaches people by, derived from its journey: `EMAIL` when the journey only mails, `WHATSAPP` when anything phone-shaped sends. See `sendChannels` for what it actually sends on — this field cannot express SMS or the Meta DMs.
  - `sendChannels` string[], required: Every channel this initiative's journey sends on — the authoritative answer. Empty when it has no journey yet, in which case `channel` falls back to the value stored at creation.
  - `status` 'DRAFT' | 'ACTIVE' | 'PAUSED' | 'COMPLETED' | 'CANCELED', required
  - `language` string, required: Conversation language, e.g. `es`.
  - `objective` string, nullable, required
  - `isRecurring` boolean, required: Splits campaigns from initiatives (a Transactional is the third kind, see `isTransactional`): `false` is a campaign (one-time outreach, listed under Campaigns), `true` is an initiative (ongoing work, listed under Initiatives). A campaign auto-completes once its outreach run finishes; an initiative stays ACTIVE afterward, though no scheduled process currently re-triggers outreach for it.
  - `isTransactional` boolean, required: True for a Transactional (one event, one message per channel; listed under Transactional).
  - `flagCondition` string, nullable, required: Natural-language condition; matching conversations get flagged during analysis.
  - `identityDeflection` string, nullable, required: Custom reply when a contact asks whether they are talking to a bot.
  - `smartSendingMode` 'DEFER' | 'DROP' | 'FORCE', required: Smart Sending mode: DEFER, DROP or FORCE.
  - `createdAt` string, required: ISO 8601 timestamp.
  - `updatedAt` string, required: ISO 8601 timestamp.
  - `activatedAt` string, nullable, required
  - `completedAt` string, nullable, required
  - `canceledAt` string, nullable, required
  - `pausedAt` string, nullable, required
  - `context` string, nullable, required
  - `maxAttempts` integer, required
  - `guidingQuestions` object[], required
    - `id` string, required
    - `questionText` string, required
    - `answerType` string, required
    - `priority` integer, required
    - `scaleMin` integer, nullable, required
    - `scaleMax` integer, nullable, required
    - `options` object[], required
      - `id` string, required
      - `label` string, required
      - `position` integer, required

## Other responses

- `400`: Validation failed or the request cannot proceed.
- `401`: Missing, malformed, or revoked API key.
- `404`: The resource does not exist in this organization.
- `409`: Conflicts with the current state (duplicates, wrong lifecycle state).
- `422`: The request is well-formed but semantically invalid.
- `429`: Rate limit exceeded — retry after `Retry-After`.
- `500`: Internal server error.
- `503`: Transient error — retry with a narrower request.

## Changes

- **2026-11-03** `7c7a773b12ce`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/useboom/apis/boom-api/changes/api/v1/initiatives/:id/resume/post.md)

---

[API](https://skmtc.dev/useboom/apis/boom-api.md) - [All operations](https://skmtc.dev/useboom/apis/boom-api/llms.txt) - [OpenAPI document](https://skmtc.dev/useboom/apis/boom-api/revisions/d596d92ed092?raw)
