# Start

Launch stage: GA

`POST /api/2.0/pipelines/{pipeline_id}/updates`

Starts a new update for the pipeline. If there is already an active update for the pipeline, the request will fail and the active update will remain running.

API scopes: pipelines

## Path parameters

- `pipeline_id` (string, optional)

## Request body

- `full_refresh` (boolean, optional)
  If true, this update will reset all tables before running.
- `cause` (string, optional)
  Possible values: `API_CALL`, `RETRY_ON_FAILURE`, `SERVICE_UPGRADE`, `SCHEMA_CHANGE`, `JOB_TASK`, `USER_ACTION`, `INFRASTRUCTURE_MAINTENANCE`
- `refresh_selection` (array of string, optional)
  A list of tables to update without fullRefresh. If both refresh_selection and
   full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means
   that the states of the table will be reset before the refresh.
- `full_refresh_selection` (array of string, optional)
  A list of tables to update with fullRefresh. If both refresh_selection and
   full_refresh_selection are empty, this is a full graph update. Full Refresh on a table means
   that the states of the table will be reset before the refresh.
- `reset_checkpoint_selection` (array of string, optional)
  A list of flows for which this update should reset the streaming checkpoint. This selection will not clear
   the data in the flow's target table. Flows in this list may also appear in refresh_selection and full_refresh_selection.
- `validate_only` (boolean, optional)
  If true, this update only validates the correctness of pipeline source code but does not materialize or publish any datasets.
- `parameters` (object, optional, Beta)
  Key/value map of parameters to pass to the pipeline execution

## Returns

- `update_id` (string, optional)

## Request

```json
{
  "full_refresh": true
}
```

## Response

```json
{
  "update_id": "string"
}
```

