---
title: "Update campaign status"
method: PUT
path: "/campaigns/{id}/status"
tags: ["Campaign"]
---

# Update campaign status

`PUT /campaigns/{id}/status`

Updates the status of a specific campaign.

## Path parameters

- `id` string, required

## Request body

- object
  - `status` 'stop' | 'stopping' | 'run', required — Status of the campaign.

## Response `200`

- CampaignManagerCampaign
  - `id` string, uuid — The unique identifier of the campaign.
  - `customer_id` string, uuid — The unique identifier of the customer. Returned from the `GET /customers` response.
  - `type` 'call' | 'flow' — Type of campaign.
  - `name` string — Display name of the campaign.
  - `detail` string — Additional details about the campaign.
  - `status` 'stop' | 'stopping' | 'run' — Status of the campaign.
  - `service_level` integer — Target service level percentage.
  - `end_handle` 'stop' | 'continue' — Behavior of the campaign after outdial has no more targets.
  - `actions` FlowManagerAction[] — Ordered list of actions to execute for each campaign call.
    - `id` string, uuid, required — The unique identifier of this action within the flow.
    - `next_id` string, uuid — The identifier of the next action to execute. References an action `id` within the same flow's `actions` array. Null if this is the last action.
    - `type` 'ai_talk' | 'ai_summary' | 'amd' | 'answer' | 'beep' | 'branch' | 'call' | 'condition_call_digits' | 'condition_call_status' | 'condition_datetime' | 'condition_variable' | 'confbridge_join' | 'conference_join' | 'connect' | 'conversation_send' | 'digits_receive' | 'digits_send' | 'echo' | 'email_send' | 'external_media_start' | 'external_media_stop' | 'fetch' | 'fetch_flow' | 'goto' | 'hangup' | 'message_send' | 'mute' | 'play' | 'queue_join' | 'recording_start' | 'recording_stop' | 'sleep' | 'stop' | 'stream_echo' | 'talk' | 'transcribe_start' | 'transcribe_stop' | 'transcribe_recording' | 'variable_set' | 'webhook_send', required — Type of the action.
    - `option` object — Additional options based on the `type` field. - For `FlowManagerActionTypeAISummary`: see `FlowManagerActionOptionAISummary` - For `FlowManagerActionTypeAITalk`: see `FlowManagerActionOptionAITalk` - For `FlowManagerActionTypeAMD`: see `FlowManagerActionOptionAMD` - For `FlowManagerActionTypeAnswer`: see FlowManagerActionOptionAnswer - For `FlowManagerActionTypeBeep`: see FlowManagerActionOptionBeep - For `FlowManagerActionTypeBranch`: see FlowManagerActionOptionBranch - For `FlowManagerActionTypeCall`: see FlowManagerActionOptionCall - For `FlowManagerActionTypeConfbridgeJoin`: see FlowManagerActionOptionConfbridgeJoin - For `FlowManagerActionTypeConferenceJoin`: see FlowManagerActionOptionConferenceJoin - For `FlowManagerActionTypeConnect`: see FlowManagerActionOptionConnect - For `FlowManagerActionTypeConversationSend`: see FlowManagerActionOptionConversationSend - For `FlowManagerActionTypeDigitsReceive`: see FlowManagerActionOptionDigitsReceive - For `FlowManagerActionTypeDigitsSend`: see FlowManagerActionOptionDigitsSend - For `FlowManagerActionTypeEcho`: see FlowManagerActionOptionEcho - For `FlowManagerActionTypeEmailSend`: see FlowManagerActionOptionEmailSend - For `FlowManagerActionTypeExternalMediaStart`: see FlowManagerActionOptionExternalMediaStart - For `FlowManagerActionTypeExternalMediaStop`: see FlowManagerActionOptionExternalMediaStop - For `FlowManagerActionTypeFetch`: see FlowManagerActionOptionFetch - For `FlowManagerActionTypeFetchFlow`: see FlowManagerActionOptionFetchFlow - For `FlowManagerActionTypeGoto`: see FlowManagerActionOptionGoto - For `FlowManagerActionTypeHangup`: see FlowManagerActionOptionHangup - For `FlowManagerActionTypeMessageSend`: see FlowManagerActionOptionMessageSend - For `FlowManagerActionTypePlay`: see FlowManagerActionOptionPlay - For `FlowManagerActionTypeQueueJoin`: see FlowManagerActionOptionQueueJoin - For `FlowManagerActionTypeRecordingStart`: see FlowManagerActionOptionRecordingStart - For `FlowManagerActionTypeRecordingStop`: see FlowManagerActionOptionRecordingStop - For `FlowManagerActionTypeSleep`: see FlowManagerActionOptionSleep - For `FlowManagerActionTypeStreamEcho`: see FlowManagerActionOptionStreamEcho - For `FlowManagerActionTypeTalk`: see FlowManagerActionOptionTalk - For `FlowManagerActionTypeTranscribeStart`: see FlowManagerActionOptionTranscribeStart - For `FlowManagerActionTypeTranscribeStop`: see FlowManagerActionOptionTranscribeStop - For `FlowManagerActionTypeTranscribeRecording`: see FlowManagerActionOptionTranscribeRecording - For `FlowManagerActionTypeVariableSet`: see FlowManagerActionOptionVariableSet - For `FlowManagerActionTypeWebhookSend`: see FlowManagerActionOptionWebhookSend - ...
    - `tm_execute` string, date-time — Timestamp when this action was executed.
  - `outplan_id` string, uuid — The unique identifier of the outplan. Returned from the `POST /outplans` or `GET /outplans` response.
  - `outdial_id` string, uuid — The unique identifier of the outdial. Returned from the `POST /outdials` or `GET /outdials` response.
  - `queue_id` string, uuid — The unique identifier of the queue. Returned from the `POST /queues` or `GET /queues` response.
  - `next_campaign_id` string, uuid — The unique identifier of the next campaign to execute after this one completes. Returned from the `POST /campaigns` or `GET /campaigns` response.
  - `tm_create` string, date-time — Timestamp when the campaign was created.
  - `tm_update` string, date-time — Timestamp when the campaign was last updated.
  - `tm_delete` string, date-time — Timestamp when the campaign was deleted.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `403` — Insufficient permission (PERMISSION_DENIED).
- `404` — Resource not found (NOT_FOUND).
- `500` — Internal error (INTERNAL).

---

[API](https://skmtc.net/voipbin/apis/voipbin-api.md) · [All operations](https://skmtc.net/voipbin/apis/voipbin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voipbin/voipbin-api/versions/79e779080bcc/schema)
