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

# Update campaign status

> Start, pause or stop a Famulor outbound calling campaign via API. Programmatically control AI voice agent dialling schedules and lead processing.

This endpoint allows you to start or stop a campaign in the Famulor system.

### Request Body

<ParamField body="campaign_id" type="integer" required>
  The ID of the campaign to update
</ParamField>

<ParamField body="action" type="string" required>
  The action to perform on the campaign. Must be either "start" or "stop"
</ParamField>

### Response Fields

<ResponseField name="message" type="string" default="Campaign started successfully.">
  The response message
</ResponseField>

<ResponseField name="success" type="boolean" default="true">
  Whether the operation was successful
</ResponseField>

<ResponseField name="data" type="object">
  The response data

  <Expandable title="Data properties">
    <ResponseField name="campaign_id" type="integer">
      The ID of the updated campaign
    </ResponseField>

    <ResponseField name="status" type="string" default="in-progress">
      The new status of the campaign (e.g. "in-progress" for started campaigns, "stopped" for stopped campaigns)
    </ResponseField>
  </Expandable>
</ResponseField>

### Notes

* The campaign must belong to the authenticated user
* Only campaigns with valid status can be started or stopped
* When starting a campaign, sufficient leads must be available
* Stopping a campaign will abort ongoing calls

<ResponseExample>
  ```json 200 Campaign started theme={null}
  {
    "message": "Campaign started successfully.",
    "success": true,
    "data": {
      "campaign_id": 2324,
      "status": "in-progress"
    }
  }
  ```

  ```json 200 Campaign stopped theme={null}
  {
    "message": "Campaign stopped successfully.",
    "success": true,
    "data": {
      "campaign_id": 2324,
      "status": "stopped"
    }
  }
  ```

  ```json 400 Invalid action theme={null}
  {
    "message": "Invalid action. Must be either 'start' or 'stop'.",
    "success": false
  }
  ```

  ```json 404 Campaign not found theme={null}
  {
    "message": "Campaign not found.",
    "success": false
  }
  ```

  ```json 403 Access denied theme={null}
  {
    "message": "Access denied - Campaign does not belong to authenticated user.",
    "success": false
  }
  ```

  ```json 400 Insufficient balance theme={null}
  {
    "message": "Insufficient balance to start the campaign. Please top up your account.",
    "success": false,
    "data": {
      "campaign_id": 2324,
      "status": "draft"
    }
  }
  ```
</ResponseExample>

<Tip>
  Related pages: [Introduction](/en/api-reference/introduction) and [Authentication Guide](/en/developers/authentication-guide), and [API Integration Examples](/en/developers/api-integration-examples).
</Tip>
