Skip to main content
PUT
Update an existing rule

Authorizations

Authorization
string
header
required

Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"

Path Parameters

uuid
string<uuid>
required

UUID of the rule to update.

Body

application/json
name
string

New display name. 3-255 characters.

Required string length: 3 - 255
Example:

"Aggressive Call Rule"

type
enum<string>

Switch the rule between call (multi-attempt with cadence) and text (one-shot). Switching to 'text' clears call-only fields automatically.

Available options:
call,
text
max_calls_per_day
integer

Per-contact daily attempt cap, evaluated in contact's local timezone.

Required range: x >= 1
Example:

5

max_total_calls
integer

Per-contact lifetime attempt cap across the campaign date range.

Required range: x >= 1
Example:

15

retry_interval_minutes
integer | null

Minimum minutes between attempts. Honored only for type='call'.

Required range: x >= 1
Example:

60

start_time
string

Earliest local time of day (HH:MM, 24h) the system may attempt the contact.

Example:

"08:00"

end_time
string | null

Latest local time of day (HH:MM, 24h). Cleared if type is or becomes 'text'.

Example:

"20:00"

dnc_check
boolean

Toggle DNC list filtering at task-creation time.

remove_on_opt_out
boolean

Toggle automatic pool removal on inbound opt-out.

escalation_after_failed_attempts
integer | null

Trigger threshold for escalation. 0 disables. Cleared if type='text'.

Required range: x >= 0
escalation_type
string | null

Free-form escalation identifier consumed by your downstream logic.

Maximum string length: 255
escalation_target
string | null

Free-form escalation payload (email, team UUID, instructions).

Response

Updated rule resource.

success
boolean
Example:

true

message
string
Example:

"Rule updated successfully"

data
object

Campaign contact rule. Drives task cadence, retry interval, working-hours window, and escalation policy when attached to a campaign.