Skip to main content

ActionResult

Response from POST /actions/{id}/trigger.

Distinct from ActionTriggered (result.py) which is nested inside DecisionResult and produced by the pipeline. ActionResult is the top-level response for the direct-trigger endpoint.

status mirrors ActionTriggeredStatus: triggered — invoked and delivery succeeded skipped — fire_on rule not met (only possible if a decision value is provided and does not match fire_on) failed — invoked but delivery raised an error would_trigger — dry_run=True; action was not invoked

payload_sent is the actual payload delivered (populated when triggered). error is populated only when status='failed'.

action_idAction Id (string)required
action_versionAction Version (string)required
statusActionTriggeredStatus (string)required

Delivery status of a single action after a decision fires.

triggered — action was invoked and delivery succeeded skipped — fire_on rule not met (e.g. fire_on='true' but decision=False) failed — action was attempted but delivery raised an error would_trigger — dry_run mode; action would have fired but was not invoked

Possible values: [triggered, skipped, failed, would_trigger]

payload_sent object
anyOf
object
error object
anyOf
error objectrequired

The inner error object serialised inside ErrorResponse.

This is the exact shape the API spec requires: { "type": "...", "message": "...", "location": null, "suggestion": null }

Callers must branch on type, never on message.

typeErrorType (string)required

Canonical error type identifiers. The string value is the wire value.

Rules (from API spec):

  • Callers must branch on .type, never on .message.
  • Message text is for humans; type is for machines.
  • The enum spelling is the ground truth for YAML, HTTP, and Python alike. In particular: z_score (not zscore), not_found (not 404), conflict (not 409).

Possible values: [syntax_error, type_error, semantic_error, reference_error, parameter_error, graph_error, execution_error, execution_timeout, auth_error, not_found, conflict, rate_limit_exceeded, bounds_exceeded, action_binding_failed]

messageMessage (string)required
location object
anyOf
string
suggestion object
anyOf
string
ActionResult
{
"action_id": "string",
"action_version": "string",
"status": "triggered",
"payload_sent": {},
"error": {
"error": {
"type": "syntax_error",
"message": "string",
"location": "string",
"suggestion": "string"
}
}
}