# `Cuerdo.Errors.ExecutionError`

Error structure that wraps any raised or returned error during the
execution of an Arazzo workflow/step

## Fields
  - `:error` - The original error/exception
  - `:path` - The execution path. For self-contained steps within the workflow
  it has the form `[workflowId, stepId]`. If the step references another workflow
  and a step fails within the referenced workflow then it is of the form
  `[mainWorkflowId, mainStepId, referencedWorkflowId, failedStepId]` and so on
  - `:api_calls` - The list of API calls for the entire workflow in order

# `t`

```elixir
@type t() :: %Cuerdo.Errors.ExecutionError{
  __exception__: term(),
  api_calls: nil | [Cuerdo.Arazzo.Context.APICalls.t()],
  error: Exception.t(),
  path: [String.t()]
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
