> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parallel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Lifecycle

> Understand FindAll run statuses, termination reasons, and how to cancel runs

<div className="sr-only" aria-hidden="false">
  For AI agents: a documentation index is available at [https://docs.parallel.ai/llms.txt](https://docs.parallel.ai/llms.txt). The full text of all docs is at [https://docs.parallel.ai/llms-full.txt](https://docs.parallel.ai/llms-full.txt). You may also fetch any page as Markdown by appending `.md` to its URL or sending `Accept: text/markdown`.
</div>

## Run Statuses and Termination Reasons

FindAll runs progress from `queued` → `running` → terminal state (`completed`, `failed`, or `cancelled`).
A run is considered **active** when it has status `queued`, `running` and has active candidate generation, evaluation, and enrichments ongoing.

### Status Definitions

| Status      | Description                                  | Can Extend? | Can Enrich? |
| ----------- | -------------------------------------------- | ----------- | ----------- |
| `queued`    | Run is waiting to start processing           | N/A         | N/A         |
| `running`   | Run is actively evaluating candidates        | ❌ No        | ✅ Yes       |
| `completed` | Run finished (see termination reasons below) | Depends\*   | ✅ Yes       |
| `failed`    | Run encountered an error                     | ❌ No        | ❌ No        |
| `cancelled` | Run was cancelled by user                    | ❌ No        | ❌ No        |

\* See termination reasons below for extendability

### Termination Reasons

When a run reaches a terminal state, it will have one of these termination reasons:

| Termination Reason     | Description                                        | Can Extend?                          |
| ---------------------- | -------------------------------------------------- | ------------------------------------ |
| `match_limit_met`      | Successfully found the requested number of matches | ✅ Yes                                |
| `low_match_rate`       | Match rate too low to continue efficiently         | ❌ No - try a more powerful generator |
| `candidates_exhausted` | All available candidates have been processed       | ❌ No - broaden query                 |
| `error_occurred`       | Run encountered an error and cannot be continued   | ❌ No                                 |
| `timeout`              | Run timed out and cannot be continued              | ❌ No                                 |
| `user_cancelled`       | Run was cancelled by the user                      | ❌ No                                 |

## Related Topics

* **[Generators and Pricing](/findall-api/core-concepts/findall-generator-pricing)**: Understand generator options and pricing
* **[Preview](/findall-api/features/findall-preview)**: Test queries with \~10 candidates before running full searches
* **[Enrichments](/findall-api/features/findall-enrich)**: Extract additional structured data for matched candidates
* **[Extend Runs](/findall-api/features/findall-extend)**: Increase match limits without paying new fixed costs
* **[Streaming Events](/findall-api/features/findall-sse)**: Receive real-time updates via Server-Sent Events
* **[Webhooks](/findall-api/features/findall-webhook)**: Configure HTTP callbacks for run completion and matches
* **[API Reference](/api-reference/findall/create-findall-run#response-status)**: Complete endpoint documentation
