List site actions
Returns the operations launched on your websites, one row per site action, newest first: updates, safe updates, installs, activations, synchronizations, backups, scans and more. It is your organization’s activity history: who launched each action (created_by and origin), what it did, on which website and when. Narrow it to a person with filter[created_by][], to a period with filter[started_at] and filter[ended_at], or to a website or action type.
It also follows the work in progress: filter on the ids a bulk request returned with filter[id][], or find what waits for you with filter[status][]=requires_action.
Open site actions (pending, in_progress, requires_action) are always listed. Closed ones (done, failed) are listed only within your plan’s history window, 30 or 90 days depending on the plan, counted from the action’s last activity: its completion, else its start, else its creation. An organization without a plan sees open site actions only. The answer’s meta.history reports the window: days is its length and has_older is true when closed site actions older than the window match your filters, so you know the list is clipped.
Authentication
Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.
Query parameters
Action types, for example manager.safe_upgrade, manager.upgrade or manager.install. Several values match any of them.
Action states: pending, in_progress, requires_action, done or failed. Several values match any of them.
Who started the action: dashboard, agent (an AI agent connected through MCP), api, schedule or system. Requests made with this API start actions with origin api. Several values match any of them.
1 for actions waiting for a future start, 0 for the rest.
Component id: returns the actions that touch that component’s installs.
Free-text search on the name, slug or address of the action’s website.
User ids, at least 1: returns the actions created by any of these users.
Start of the period the action was created in, inclusive: a day 2026-09-01 (from 00:00 UTC) or an ISO 8601 instant with its offset or Z (2026-09-01T14:30:00+02:00, 2026-09-01T12:30:00Z). An instant without offset answers 422. Optional.
End of the period the action was created in, inclusive: a day 2026-09-15 (through 23:59:59 UTC) or an ISO 8601 instant with its offset or Z. Not before filter[started_at]. An instant without offset answers 422. Optional.
Sort order: created_at, updated_at, status or type. Prefix with - for descending. Default -created_at, newest first.
Attributes to return, comma-separated; only those are returned. These computed attributes are left out unless named: requires_action, scheduled_at, managed_items (the items the action updates or changes), clean_cache, is_manual, visual_regression (the visual comparison of a safe update, filled only for safe updates: change_percentage of the pages compared, the threshold it must stay under, the success_path compared, the screenshot_delay in seconds the after screenshot waited once the update finished, and the signed screenshots URLs) and target_site (the destination website of a migration; otherwise the action’s own website; null when that website was deleted). clean_cache and is_manual come from the action’s own options and are null when the action type has none.
Related records to embed, comma-separated: site embeds the website, items embeds each step of the action, with close_reason (null, stale or auto_approved: why Modular DS closed the step on its own).
Response
200 - Site actions
