---
title: "cancelExecution"
method: DELETE
path: "/v1/automation/executions/{execution_id}"
tags: ["executions"]
---

# cancelExecution

`DELETE /v1/automation/executions/{execution_id}`

Cancel automation execution

## Path parameters

- `execution_id` string, required

## Response `200`

The cancelled execution

- AutomationExecution
  - `id` string, required
  - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
  - `entity_id` string, required
  - `activity_id` string
  - `entity_snapshot` EntityItemSnapshot
    - `_id` string, required
    - `_title` string, required
    - `_org` string, required
    - `_schema` string, required
    - `_tags` string[]
    - `_created_at` string, date-time, required
    - `_updated_at` string, date-time, required
  - `org_id` string, required
  - `flow_id` string, required — ID of the Automation Flow
  - `flow_name` string
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `current_action_id` string
  - `conditions` ActionCondition[]
    - `id` string
    - `schedule_id` string — Schedule Id which indicates the schedule of the actions inside the condition
    - `evaluation_order` 'AFTER_SCHEDULE' | 'BEFORE_SCHEDULE' — Determines how the condition and its schedule combine in time, when the condition block also has a schedule. - `AFTER_SCHEDULE` (default): the schedule is created first and the condition is evaluated when the schedule fires, against the data at that moment ("wait, then check"). - `BEFORE_SCHEDULE`: the condition is evaluated at trigger time against the current data; only when it passes is the schedule created, and it is not re-evaluated when it fires ("check now, then wait"). A failing condition skips the block immediately. An absent value is treated as `AFTER_SCHEDULE` for backwards compatibility.
    - `evaluationResult` boolean — Result of the condition evaluation
    - `error_output` ErrorOutput
      - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
      - `error_reason` string, required
      - `error_info` object
        - `details` ErrorDetail[]
          - `explanation` string, required
          - `context` string
          - `id` string
    - `allow_failure` boolean — Whether the execution should continue when processing the condition block itself fails (e.g. its schedule cannot be computed). When true, the block's actions are cancelled and the execution moves on to the next action instead of stopping in a failed state.
    - `statements` ConditionStatement[]
      - `id` string, uuid
      - `source` object
        - `id` string — The id of the action or trigger
        - `origin` 'trigger' | 'action'
        - `originType` 'entity' | 'workflow' | 'journey_block'
        - `schema` string
        - `attribute` string
        - `attributeType` 'string' | 'text' | 'number' | 'boolean' | 'date' | 'datetime' | 'tags' | 'country' | 'email' | 'phone' | 'product' | 'price' | 'status' | 'relation' | 'multiselect' | 'select' | 'radio' | 'relation_user' | 'purpose' | 'label' | 'payment' | 'relation_payment_method'
        - `attributeRepeatable` boolean
        - `repeatableItemOp` boolean — Whether to apply the operation to each item of the repeatable attribute
        - `attributeOperation` 'all' | 'updated' | 'added' | 'deleted'
      - `operation` 'equals' | 'not_equals' | 'any_of' | 'none_of' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with' | 'greater_than' | 'less_than' | 'greater_than_or_equals' | 'less_than_or_equals' | 'is_empty' | 'is_not_empty' | 'entity_exists' | 'entity_does_not_exist'
      - `values` string[]
  - `schedules` ActionSchedule[]
    - `id` string, required — Schedule Id
    - `scheduleApiId` string — The id of the configured scheduler which will be added on automation triggered
    - `numberOfUnits` number
    - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months'
    - `timeRelation` 'after' | 'before'
    - `source` ActionScheduleSource, required — The source of the schedule_at timestamp that will be used to schedule the action
      - `id` string, required — The id of the action or trigger
      - `origin` 'trigger' | 'action' | 'action_task' | 'automation', required
      - `schema` string
      - `attribute` string
  - `actions` AnyAction[], required
    - union
      - MapEntityAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'map-entity'
        - `config` object
          - `mapping_config` MappingConfigRef
            - `config_id` string, required — Id of Entity Mapping Configuration to run for mapping.
            - `target_id` string, required — Id of TargetConfig to run for mapping.
            - `version` number — Version of Entity Mapping Configuration to run for mapping.
          - `target_schema` string, required — Schema of target entity
          - `use_uniqueness_criteria` boolean — Resolve this action's target (contact/account) via the organization's global uniqueness criteria instead of per-action identifiers (target_unique / Unique switches). Forwarded to entity mapping by automation-workers.
          - `target_unique` string[] — Unique key for target entity (see upsertEntity of Entity API)
          - `mapping_attributes` union[] — Attribute mappings
            - union
              - …
          - `relation_attributes` RelationAttribute[] — Relation mappings
            - `target` string, required — Target attribute to store the relation in
            - `target_tags` string[] — Relation tags (labels) to set for the stored relations
            - `target_tags_include_source` boolean — Include all relation tags (labels) present on the main entity relation
            - `source_filter` object — A filter to identify which source entities to pick as relations from main entity
              - …
            - `related_to` object
            - `mode` 'append' | 'prepend' | 'set', required
          - `linkback_relation_attribute` string — Relation attribute on the main entity where the target entity will be linked. Set to false to disable linkback
          - `linkback_relation_tags` string[] — Relation tags (labels) to include in main entity linkback relation attribute
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - TriggerWorkflowAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'trigger-workflow'
        - `config` object
          - `target_workflow` string
          - `conditions` TriggerWorkflowCondition[]
            - `source` string, required
            - `comparison` 'equals' | 'any_of' | 'not_empty' | 'is_empty', required
            - `value` union
              - …
            - `schema` string, required
          - `assignees` string[]
          - `assign_steps` AssignUsersToStep[]
            - `step_id` string
            - `step_name` string
            - `user_ids` number[]
          - `filter_with_purposes` boolean
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - TriggerShareEntityAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'trigger-share-entity'
        - `config` object
          - `partner_org_ids` string[]
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - TriggerWebhookAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'trigger-webhook'
        - `config` object
          - `event_id` string — The latest webhook event_id for an execution of this action
          - `entity_sources` string[]
          - `target_webhook_id` string
          - `sync` boolean — Whether to wait for the request to finish before continuing automation execution
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - InformERPAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'inform-erp'
        - `config` object
          - `entity_sources` string[]
          - `target_webhook_id` string
          - `sync` boolean — Whether to wait for the request to finish before continuing automation execution
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - TriggerEventAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'trigger-event'
        - `config` object — Configuration for triggering an event catalog event
          - `event_name` string, required — The event catalog event name to trigger
          - `event_inputs` object — Inputs to be passed to trigger the event
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - CreateDocumentAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'create-document'
        - `config` object
          - `template_id` string
          - `filename` string
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - SendEmailAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'send-email'
        - `config` object
          - `email_template_id` string
          - `language_code` 'de' | 'en'
          - `notify_portal_user_only` boolean — Send an email exclusively to the portal user if they are registered on the portal.
          - `skip_creating_entities` boolean — When true, it lets to send only the email by skip creating the thread & message entities.
          - `wait_for_confirmation` boolean — Pause automation execution after sending email to wait for a confirmation link to be clicked. The email template should contain a confirmation link using the variable `{{confirmation_url}}`
          - `reply_to_sender` boolean — When enabled, overrides the template's "To" field with the sender address of the triggering incoming email. This is useful for auto-reply scenarios where you want to automatically respond to the person who sent the email. Only works when the automation is triggered by a received email (received_email or new_email_thread triggers).
          - `reply_mode` 'reply_in_thread' | 'new_email' — Controls how the auto-reply email is sent when reply_to_sender is enabled. - reply_in_thread: Sends the email as a reply within the existing email thread (default). - new_email: Sends the email as a new standalone email to the original sender, creating a fresh thread.
          - `mark_as_done` boolean — When enabled, the email thread will be automatically marked as done after this action completes.
          - `mark_as_read` boolean — When enabled, the email thread will be marked as read after this action completes.
          - `attachments` object[] — Include extra file attachments in sent email. Attachments in email template will be sent regardless of this configuration.
            - `source_filter` object — Specify filters to match file entities related to main entity
              - …
          - `conditions` SendEmailCondition[] — Conditions necessary to send out email. Otherwise it will be skipped
            - `_equals` object
              - …
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - CartCheckoutAction — Creates an order entity with prices from journey
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'cart-checkout'
        - `config` object
          - `version` string — Version of the config
          - `mapping_config` MappingConfigRef
            - `config_id` string, required — Id of Entity Mapping Configuration to run for mapping.
            - `target_id` string, required — Id of TargetConfig to run for mapping.
            - `version` number — Version of Entity Mapping Configuration to run for mapping.
          - `relation_attributes` RelationAttribute[]
            - `target` string, required — Target attribute to store the relation in
            - `target_tags` string[] — Relation tags (labels) to set for the stored relations
            - `target_tags_include_source` boolean — Include all relation tags (labels) present on the main entity relation
            - `source_filter` object — A filter to identify which source entities to pick as relations from main entity
              - …
            - `related_to` object
            - `mode` 'append' | 'prepend' | 'set', required
          - `mapping_attributes` union[]
            - union
              - …
          - `linkback_relation_attribute` string — Relation attribute on the main entity where the target entity will be linked. Set to false to disable linkback
          - `linkback_relation_tags` string[] — Relation tags (labels) to include in main entity linkback relation attribute
          - `target_unique` string[] — Unique key for target entity (see upsertEntity of Entity API)
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - CustomAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'custom-action'
        - `config` object
          - `name` string — The name of the custom action
          - `description` string — The description of the custom action
          - `app_id` string — The ID of the app to fetch configuration from the app API
          - `component_id` string — The ID of the component from the app. As the app can potentially have multiple custom actions, this ID is used to identify the component
          - `wait_for_callback` boolean — Whether to wait for the callback from the custom action
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - AutomationAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` string
        - `config` object
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - FlowExecutionCancelAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'cancel-flow-execution'
        - `config` object — Configuration for cancelling a flow execution with selected reasons
          - `selected_reasons` CancellationReason[] — List of reasons selected for this specific cancellation
            - `id` string, required — Unique identifier for the cancellation reason
            - `title` string, required — Human-readable title for the cancellation reason
          - `extra_description` string — Additional description or notes for the cancellation
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - ForwardEmailAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'forward-email'
        - `config` object
          - `forward_to` object[], required — List of email addresses to forward the incoming email to
            - `email` string, email, required — Email address to forward to
            - `name` string — Display name for the recipient
          - `include_attachments` boolean — Whether to include the original email attachments in the forwarded email
          - `subject_prefix` string — Prefix to add to the original email subject
          - `mark_as_done` boolean — When enabled, the email thread will be automatically marked as done after this action completes.
          - `mark_as_read` boolean — When enabled, the email thread will be marked as read after this action completes.
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
      - ReplyEmailAction
        - `id` string
        - `flow_action_id` string
        - `name` string
        - `type` 'reply-email'
        - `config` object
          - `email_template_id` string — ID of the email template to use for the reply
          - `language_code` 'de' | 'en' — Language code for the email template
          - `reply_mode` 'reply_in_thread' | 'new_email' — Controls how the reply email is sent. - reply_in_thread: Sends the email as a reply within the existing email thread (default). - new_email: Sends the email as a new standalone email to the original sender, creating a fresh thread.
          - `mark_as_done` boolean — When enabled, the email thread will be automatically marked as done after this action completes.
          - `mark_as_read` boolean — When enabled, the email thread will be marked as read after this action completes.
        - `allow_failure` boolean — Whether to stop execution in a failed state if this action fails
        - `created_automatically` boolean — Flag indicating whether the action was created automatically or manually
        - `is_bulk_action` boolean — Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity
        - `reason` object
          - `message` string — Why the action has to be skipped/failed
          - `payload` object — Extra metadata about the skipping reason - such as a certain condition not met, etc.
        - `condition_id` string — Condition Id to be checked before executing the action
        - `schedule_id` string — Schedule Id which indicates the schedule of the action
        - `loop_id` string — Id of a loop scope defined on the parent flow. When set, the action runs once per item resolved from the loop's source_path. All actions sharing the same loop_id must be contiguous in the actions array.
        - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot'
        - `started_at` string
        - `updated_at` string
        - `outputs` object
        - `error_output` ErrorOutput
          - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
          - `error_reason` string, required
          - `error_info` object
            - `details` ErrorDetail[]
              - …
        - `retry_strategy` 'RETRY_AND_RESUME' | 'RETRY_AND_STOP' | 'RETRY_ALL_PARENT_CONDITION_ACTIONS' — different behaviors for retrying failed execution actions.
        - `iterations` AutomationActionIteration[] — For looped actions, an archive of completed iterations. The action's own execution_status / outputs / error_output always reflect the current (latest) iteration. The previous iteration's state is pushed here before the action is reset for the next pass.
          - `index` integer, required — Zero-based iteration index within the loop scope.
          - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
          - `started_at` string, date-time
          - `ended_at` string, date-time
          - `outputs` object
          - `error_output` ErrorOutput
            - `error_code` 'MAPPING_ERROR' | 'REFRESH_RELATIONS_ERROR' | 'DUPLICATE_ENTITY_ERROR' | 'TRIGGER_WORKFLOW_ERROR' | 'TIMEOUT_ERROR' | 'BAD_CONFIG' | 'INTERNAL_ERROR' | 'TRIGGER_WEBHOOK_ERROR' | 'TEMPLATE_ERROR' | 'INVALID_PAYLOAD' | 'INVALID_SCHEDULE_CONFIG' | 'CUSTOM_ACTION_ERROR' | 'ORDER_CREATION_ERROR' | 'DOCUMENT_GENERATION_ERROR' | 'BULK_EMAIL_ERROR' | 'SHARING_ERROR' | 'CANCEL_FLOW_EXECUTION_ERROR' | 'METER_READING_NOT_FOUND' | 'ENTITY_NOT_FOUND', required
            - `error_reason` string, required
            - `error_info` object
              - …
  - `resume_token` string — A unique token to resume a paused automation execution
  - `trigger_context` TriggerContext — Additional contextual data for a bulk trigger automation. This would normally include additional entity IDs you'd need after a listener picks up an event.
  - `version` number — Version of the flow
  - `trigger_event` union
    - TriggerEventManual
      - `type` 'manual'
      - `org_id` string, required
      - `entity_id` string, required
      - `caller` ApiCallerContext
        - `EpilotAuth` object
          - `claims` object
            - `userId` string
            - `sub` string
            - `email` string
            - `cognito:username` string
            - `custom:ivy_user_id` string
          - `userId` string
          - `organizationId` string
          - `token` string
    - TriggerEventEntityActivity
      - `type` 'entity_activity'
      - `org_id` string, required
      - `activity_id` string, required
      - `activity_type` string, required
      - `entity_id` string
    - TriggerEventEntityOperation
      - `type` 'entity_operation'
      - `entity_id` string, required
      - `org_id` string, required
      - `activity_id` string, required
      - `operation_type` 'createEntity' | 'updateEntity' | 'deleteEntity' | 'softDeleteEntity' | 'restoreEntity', nullable, required
    - TriggerEventFlowAutomationTask
      - `type` 'flow_automation_task'
      - `org_id` string, required
      - `entity_id` string, required
      - `flow_execution_id` string, required
      - `flow_automation_task_id` string, UUID, required
      - `caller` ApiCallerContext
        - `EpilotAuth` object
          - `claims` object
            - `userId` string
            - `sub` string
            - `email` string
            - `cognito:username` string
            - `custom:ivy_user_id` string
          - `userId` string
          - `organizationId` string
          - `token` string
    - TriggerEventMessaging
      - `type` 'new_email_thread'
      - `org_id` string, required
      - `thread_id` string, required
      - `message_id` string, required
      - `entity_id` string, required
  - `workflow_context` WorkflowExecutionContext
    - `workflow_exec_id` string, required
    - `workflow_exec_task_id` string
    - `workflow_role` 'trigger_workflow' | 'run_task_automation', required — The role this automation plays in the workflow.
    - `_execution_chain` ExecutionChain — [Internal] Tracks execution chain for infinite loop prevention. This is an internal property and should not be used by external consumers.
      - `parent_execution_id` string — ID of the parent flow execution that triggered this one
      - `parent_task_id` string — ID of the automation task that triggered this execution
      - `depth` integer — Current depth in the execution chain (0 = manual start)
    - `entity_contexts` object[] — Additional entity contexts from the parent flow execution. Used when an automation is triggered from a workflow task to carry all flow contexts into the automation, not just the primary entity.
      - `entity_id` string
      - `entity_schema` string
      - `is_primary` boolean
  - `loops` AutomationLoop[] — Loop scope definitions propagated from the flow onto the execution record. Each loop has an id and a source_path resolved against the trigger entity at execution time. Actions referencing a loop's id via their loop_id property run once per item in the resolved array.
    - `id` string, required — Stable identifier referenced by AutomationActionConfig.loop_id
    - `source_path` string, required — Path resolved against the trigger entity to produce the array of iteration items. e.g. submission.steps[0]['Contracts'].
    - `source_type` 'journey-multi-select' | 'previous-action-outputs' | 'entity-relation' — How source_path is interpreted. 'journey-multi-select' is the v1 source type (journey card block with multi-select). Future source types (e.g. 'previous-action-outputs', 'entity-relation') will be added here.
    - `length` integer — Maximum number of iterations. 0 / omitted = iterate the full resolved array.
  - `loop_state` object — Runtime iteration state, keyed by loop_id. Tracks the current_index and total for each active loop scope. Entries are removed once a loop exits.
  - `chain` string[] — Ordered automation flow ids in this execution's trigger chain (multi-automation loop prevention).

## Other responses

- `403` — The requested resource is forbidden
- `404` — The requested resource was not found

---

[API](https://skmtc.net/epilot/apis/automation-api.md) · [All operations](https://skmtc.net/epilot/apis/automation-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/automation-api/versions/e137591d9085/schema)
