Edit a campaign's settings

A draft or needs_review campaign accepts every setting. A scheduled or paused campaign accepts the run-safe settings only: name, from_number_ids, time_zone_mode, time_zone, calling_windows, retry_policy / retry_policy_preset, max_concurrency, reserved_concurrency, ends_at and language, plus scheduled_start_at while still scheduled. Agent, contact list, purpose and consent basis are locked after launch (duplicate the campaign to change them); a running campaign must be paused first. The edit is serialized with the dispatcher and with pause/resume/cancel: a concurrent status change answers 409. Changing the calling windows or zone re-evaluates contacts that were waiting for the old window on the next tick. The response is the campaign plus changed, the list of settings that actually changed.

patch/v1/campaigns/{campaign_id}

Request

  • Base URL: https://api.skysay.ai
  • URL: https://api.skysay.ai/v1/campaigns/{campaign_id}
  • Auth: none declared

Path parameters

campaign_idstring required

Request body

agent_idstring
calling_windowsobject
consent_basis'existing_customer' | 'explicit_consent'
contact_list_idstring
contact_list_namestring
contact_list_source'api' | 'csv' | 'xlsx' | 'mcp'

How the replacement audience was collected, recorded on the new list. Only read alongside contacts; defaults to csv.

ends_atstring date-time
from_number_idsstring[]
languagestring
max_concurrencyinteger
namestring
purposestring
reserved_concurrencyinteger
retry_policyobject
retry_policy_preset'sales' | 'collections' | 'single_attempt'
scheduled_start_atstring date-time
time_zonestring

IANA time zone (default UTC), matched and stored like a contact's time_zone

time_zone_mode'contact' | 'fixed'

Response

Campaign with changed[]

Changes

No recorded changes to this operation across all 1 revision of this API.