Skip to main content
The Automation Dry Run Results API retrieves and manages the per-profile results produced when an automation is triggered in dry run mode. See Reactions for a conceptual overview of automations and how they execute.

What is a dry run

When you trigger an automation with dry_run: true, Omneo simulates the automation’s actions for the requested date range without creating production records or firing events. For each profile the query matches, Omneo stores a dry run result recording what the automation would have done. Use dry runs to verify automation logic before enabling it in production, or to understand what a past automation run would have produced.

Triggering a dry run

Send POST /v3/automations/{automation}/trigger with dry_run: true in the request body. Optionally include start_date and end_date to simulate over a range of days. The endpoint returns 202 Accepted. Results are written asynchronously. Query this API to retrieve them once processing is complete.

Dry run result attributes

AttributeTypeDescription
idintegerUnique identifier for the result
automation_idintegerThe automation that was simulated
run_atdateThe date the simulation covered (YYYY-MM-DD)
profile_idintegerThe Profile processed in this result
result_typestringPolymorphic type of the associated result object
result_idintegerID of the associated result object
statusstringOutcome: success, failed, or skipped
resultobjectDetailed result data returned by the simulation
argumentsobjectArguments the automation ran with
requested_bystringIdentifier of the user who requested the dry run
created_atdatetimeWhen the result was created
updated_atdatetimeWhen the result was last updated

Filtering results

The index endpoint accepts the following filters:
FilterDescription
filter[automation_id]Limit to results for a specific automation
filter[run_at]Limit to results for a specific simulated date
filter[profile_id]Limit to results for a specific Profile
filter[status]Limit by outcome (success, failed, skipped)
filter[result_type]Limit by result object type
filter[result_id]Limit by result object ID
filter[requested_by]Limit to results from a specific requester
filter[created_at]Limit by creation timestamp
filter[updated_at]Limit by last-updated timestamp

Cleaning up

Delete results individually once reviewed. The delete-reactions scope is required. There is no bulk delete endpoint.

Required scopes

OperationScope
Browse, readread-reactions
Deletedelete-reactions