Bulk Action Job

Performs a bulk action on a set of jobs. The job set is determined by an explicit job_uid array and/or filter_rules (v3) / legacy filter.* fields, combined additively.

assign_to_route and auto_assign_territory are asynchronous: they queue a worker and respond with an acknowledgement before the work completes. delete responds before an async cascade-cleanup worker runs. send_email and send_sms respond before their per-job send loop finishes. update_schedule and clear_schedule are fully synchronous (one save per job) and are blocked with 403 if the company has the Appointments feature enabled. update_status applies to all matched jobs except those skipped for exceeding the job-status-history limit or failing a status-dependency check (when mandate_dependency_check is set) — those are reported back in data, the rest still succeed (partial success, not an all-or-nothing failure).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
enum
job_uid
array of strings

Optional explicit list of job uids. Combined additively with filter_rules/filter.

job_uid
filter_rules
array of objects

v3 filter engine rules used to select the job set.

filter_rules
filter
object

Legacy filter object, used only when filter_rules is omitted or empty.

jobs
array of objects

assign_to_route only. Explicit list of jobs to add to the route, each optionally with its own geo-coordinates. If omitted, the route-eligible jobs are resolved from the matched set's customer/property addresses.

jobs
boolean

assign_to_route only. Whether to unassign existing users from jobs added to the route. Defaults to true.

boolean

update_status only. When true, jobs failing a status-dependency check are skipped (reported in the response) instead of transitioned.

action_options
object
Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json