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

# Update campaign

> Update campaign with the Nicecall API.

Update a campaign you own, including one that is running. Send only the fields you want to change. Arrays such as `schedule_windows`, `allowed_days`, and `phone_number_ids` replace the existing lists. The campaign's channel is fixed. Use [Update campaign status](https://docs.nicecall.ai/api-reference/campaigns/update-status.md) to start or stop it.

**id** `integer` *required*

ID from [Get campaign](https://docs.nicecall.ai/api-reference/campaigns/get-campaign.md).

| Applies to | Editable fields |
| - | - |
| All channels | `name`, `timezone`, `schedule_windows`, `scheduled_start_at`, `mark_complete_when_no_leads` |
| Legacy schedule | `allowed_hours_start_time`, `allowed_hours_end_time`, `allowed_days` |
| Calls | `assistant_id`, `phone_number_ids`, `max_calls_in_parallel`, `max_retries`, `retry_interval`, `retry_on_voicemail`, `retry_on_goal_incomplete`, `goal_completion_variable` |
| Call fallback | `fallback_channel`, `fallback_whatsapp_sender_id`, `fallback_whatsapp_template_id`, `fallback_variable_mapping`, `fallback_sms_from_phone_number_id`, `fallback_sms_body` |
| WhatsApp | `whatsapp_sender_id`, `whatsapp_template_id`, `text_variable_mapping`, `messages_per_minute` |
| SMS | `sms_from_phone_number_id`, `sms_body`, `messages_per_minute` |

Use an IANA timezone such as `America/New_York`. An ISO 8601 `scheduled_start_at` without an offset is interpreted in the campaign timezone. Send `null` to clear it. Assigning a different outbound assistant can also change the timezone unless you supply one explicitly. When replacing a WhatsApp template, map all its placeholders to lead variables.

```bash theme={null}
curl --request PATCH 'https://app.nicecall.ai/api/user/campaign/123' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"name":"Appointment follow-ups","timezone":"America/New_York"}'
```

The response includes the updated campaign in `data`. A 422 response identifies invalid fields or settings that conflict with the current campaign configuration.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.