> For the complete documentation index, see [llms.txt](https://cmo-ci.gitbook.io/beagle-operators/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cmo-ci.gitbook.io/beagle-operators/how-to/running-a-pipeline.md).

# Running a Pipeline

### 1. Register the pipeline

Make sure the pipeline object is created through the Beagle Admin page:

<http://silo:5001/admin/runner/pipeline/>

### 2. Create an operator

Make sure that there is an operator to associate with the pipeline, and set it to the “active” state:

<http://silo:5001/admin/beagle_etl/operator/13/change/>

### 3. Import sample information

Make a request using the Beagle API to import the necessary sample info from LIMS into the DB:

1. Endpoint:  `/v0/etl/import-requests/`
2. Payload:

```
{
    "request_ids": ["09342_D"],
    "redelivery": false
}
```

### 4. Make a request to start the pipeline run

1. If you are starting a run from an IGO request ID:

   1. Endpoint: `/v0/run/operator/request/`
   2. Payload:

   ```
   {
       "request_ids": ["09342_D”],
       "pipeline": "<name of pipeline to run>",
       "for_each": true
   }
   ```

   2\. Or if you are triggering an operator directly from a previous operator (operator chaining):

   1. Endpoint: `/v0/run/operator/runs/`
   2. Payload:

```
{
  "run_ids": [
    "<upstream run id from first operator, used to trigger new run>"
  ],
  "pipelines": [
    "<name of pipeline to run>"
  ],
  "for_each": false
}
```
