# Retry Dataset

```
POST 
/v1/datasets/:dataset_id/retry
```

Re-run a FAILED dataset's own ingestion (edit permission).

The path depends on the dataset type and is reported back as `path`:

* `upload` — flat file (csv / xlsx): the most recent upload is re-processed from the raw file still in storage. 409 `dataset_retry_source_unavailable` if that file is gone — upload again.
* `connection` — a full refresh through the connection, lock acquired first (409 if another operation holds it).
* `public` — the public source is re-downloaded.

A dbt-produced dataset has no ingestion of its own to re-run → 409 `dataset_retry_unsupported_type`. Allowed only when the dataset is FAILED, or in-flight for longer than the 30-minute stranded-ingestion guard → 409 `dataset_retry_not_allowed` otherwise. Poll `processingStatus` (or the `SHOULD_REFRESH_ITEM` websocket event) for the outcome; the retry ends READY or FAILED with an honest error exactly like a first ingestion.

## Request[​](#request "Link direto para request")

## Responses[​](#responses "Link direto para Responses")

* 202
* 404
* 422

Successful Response

Not found

Validation Error
