# Run class

The `Run` class represents a workflow execution instance, providing methods to start, resume, stream, and monitor workflow execution.

## Usage example

```typescript
const run = await workflow.createRun()

const result = await run.start({
  inputData: { value: 'initial data' },
})

if (result.status === 'suspended') {
  const resumedResult = await run.resume({
    resumeData: { value: 'resume data' },
  })
}
```

## Run methods

**start** (`(options?: StartOptions) => Promise<WorkflowResult>`): Starts workflow execution with input data

**resume** (`(options?: ResumeOptions) => Promise<WorkflowResult>`): Resumes a suspended workflow from a specific step

**stream** (`(options?: StreamOptions) => MastraWorkflowStream`): Monitors workflow execution as a stream of events with enhanced streaming features

**resumeStream** (`(options?: ResumeStreamOptions) => MastraWorkflowStream`): Resumes a suspended workflow with streaming support

**cancel** (`() => Promise<{ message: string }>`): Cancels the workflow execution, stopping any running steps and preventing subsequent steps from executing

**restart** (`(options?: RestartOptions) => Promise<WorkflowResult>`): Restarts the workflow execution from last active step

**timeTravel** (`(options?: TimeTravelOptions) => Promise<WorkflowResult>`): Re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide.

**timeTravelStream** (`(options?: TimeTravelOptions) => MastraWorkflowStream`): Time travels a workflow execution with streaming support

## Run status

A workflow run's `status` indicates its current execution state. The possible values are:

**success** (`string`): All steps finished executing successfully, with a valid result output

**failed** (`string`): Workflow execution encountered an error during execution, with error details available

**suspended** (`string`): Workflow execution is paused waiting for resume, with suspended step information

**canceled** (`string`): Workflow execution was canceled via the cancel() method, stopping any running steps and preventing subsequent steps from executing

## Related

- [Run.start()](https://mastra.ai/reference/workflows/run-methods/start)
- [Run.resume()](https://mastra.ai/reference/workflows/run-methods/resume)
- [Run.cancel()](https://mastra.ai/reference/workflows/run-methods/cancel)
- [Run.restart()](https://mastra.ai/reference/workflows/run-methods/restart)
- [Run.timeTravel()](https://mastra.ai/reference/workflows/run-methods/timeTravel)
- [Run.stream()](https://mastra.ai/docs/streaming/workflow-streaming)
- [Run.timeTravelStream()](https://mastra.ai/reference/streaming/workflows/timeTravelStream)