# TaskInstanceState

All possible states that a Task Instance can be in.  Note that None is also allowed, so always use this in a type hint with Optional.

## Enum

* `REMOVED` (value: `'removed'`)

* `SCHEDULED` (value: `'scheduled'`)

* `QUEUED` (value: `'queued'`)

* `RUNNING` (value: `'running'`)

* `SUCCESS` (value: `'success'`)

* `RESTARTING` (value: `'restarting'`)

* `FAILED` (value: `'failed'`)

* `UP_FOR_RETRY` (value: `'up_for_retry'`)

* `UP_FOR_RESCHEDULE` (value: `'up_for_reschedule'`)

* `UPSTREAM_FAILED` (value: `'upstream_failed'`)

* `SKIPPED` (value: `'skipped'`)

* `DEFERRED` (value: `'deferred'`)

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


