---
title: "Execute data pipeline import"
method: POST
path: "/api/serviceintegrations/processes/dataPipelines/import"
tags: ["dataPipelines"]
---

# Execute data pipeline import

`POST /api/serviceintegrations/processes/dataPipelines/import`

## Request

- Base URL: `https://services.fountain.com`
- URL: `https://services.fountain.com/api/serviceintegrations/processes/dataPipelines/import`
- Auth: HTTP bearer

Triggers a data pipeline import. Accepts a file or raw JSON text, or uses the stored sample file if no input is provided.

## Request body `multipart/form-data`

- object
  - `dataPipelineUuid` string, uuid, required: UUID of the data pipeline to execute.
  - `file` string, binary: File (CSV or JSON) to import.
  - `jsonText` string: Raw JSON text to import.
  - `s3Key` string: S3 key of the file to import (one-time import flow).
  - `fileFormat` 'CSV' | 'JSON': Format of the file or s3Key, when it differs from the pipeline's: any pipeline imports a CSV or a JSON file. Defaults to the pipeline's format.
  - `tempS3KeysToCleanup` string: JSON array of S3 keys to delete when import reaches a terminal state. Backend performs cleanup; do not call cleanupTempFiles from the client.
  - `consentConfirmed` boolean: Required true for prospects-type pipelines: confirms the uploader holds consent or another lawful basis to contact the individuals in the file. Ignored for other data types.
  - `optionBankDatasetUuid` string, uuid: Option Bank pipelines with no target of their own (the standard one): the existing Option Bank to fill. Ignored when the pipeline names its own target.
  - `csvSeparator` string
  - `optionBankName` string: Option Bank pipelines with no target of their own: the name of a new Option Bank to create and fill, used when optionBankDatasetUuid is absent.
  - `datasetUuid` string, uuid: Dataset pipelines: an existing dataset of the company, Option Banks included, to fill in place of the pipeline's own target.
  - `datasetName` string: Dataset pipelines: the name of a new dataset to create, with the pipeline's key column, and fill. Used when datasetUuid is absent.

## Response `200`

Import initiated successfully

- object
  - `eventUuid` string, uuid
  - `status` 'pending' | 'started' | 'succeeded' | 'completed_with_issues' | 'failed' | 'skipped'
  - `totalRows` number
  - `totalRowsUnknown` boolean: True when totalRows is a placeholder rather than a read count.
  - `processedRows` number
  - `errors` string[]
  - `duration` number
  - `errorMessage` string, nullable

## Other responses

- `400`: Bad request - missing dataPipelineUuid, no input data provided, or (prospects-type pipelines) consent not confirmed
- `404`: Data pipeline not found
- `500`: Internal server error

---

[API](https://skmtc.dev/fountain/apis/worker-experience-public-api.md) - [All operations](https://skmtc.dev/fountain/apis/worker-experience-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fountain/apis/worker-experience-public-api/revisions/6b9a31f79e22?raw)
