---
title: "find many dataPipelines"
method: GET
path: "/api/serviceintegrations/dataPipelines"
tags: ["dataPipelines"]
---

# find many dataPipelines

`GET /api/serviceintegrations/dataPipelines`

## Request

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

Find many dataPipelines (with filtering, projection, pagination and limiting). You can use filters in the query parameters (properly URL encoded) to restrict the search results:
- To restrict the search to specific values for a given field name, you can use the following syntax: filter[where][fieldName][eq]=value. Note that you can also nest the filter object to filter on multiple fields, like so: filter[where][and][0][fieldName1][eq]=value1&filter[where][and][1][fieldName2][eq]=value2. You can also use operators like gt, gte, lt, lte, ne, in, nin, etc.
- To limit the number of results returned by the query, use the following syntax: filter[limit]=25&filter[skip]=25
- To only return specific fields, use the projection query parameter. Usage is as follows: filter[fields][fieldName1]=true&filter[fields][fieldName2]=true.

## Query parameters

- `filter` ParametersFilter
  - `where` ParametersFilterWhere
  - `fields` ParametersFilterFields
  - `limit` number
  - `skip` number
  - `order` string[]
  - `collate` ParametersFilterCollation
    - `locale` string
    - `strength` number
    - `caseLevel` boolean
    - `numericOrdering` boolean

## Response `200`

One or many dataPipeline documents found. Wrapped in a JsonAPI root response with collection of documents as data.

- object
  - `data` DataPipeline[]
    - `uuid` string, uuid
    - `createdAt` string, date-time
    - `createdBy` string, uuid
    - `lastUpdatedAt` string, date-time
    - `lastUpdatedBy` string, uuid
    - `lastUpdatedByAudience` string
    - `lastUpdatedByAudienceUuid` string, uuid
    - `lastUpdatedByImpersonatedBy` string, uuid
    - `lastUpdatedByCompanyUuid` string, uuid
    - `lastUpdatedByEnterpriseUuid` string, uuid
    - `companyUuid` string, uuid, required
    - `name` string, required
    - `dataType` 'jobs' | 'workers' | 'locations' | 'locationGroups' | 'openings' | 'applicants' | 'prospects' | 'employers' | 'optionBanks' | 'datasets', required
    - `direction` 'import' | 'export', required
    - `dataFormat` 'CSV' | 'JSON', required
    - `isInternal` boolean, required: It will be added to the catalogue of re-usable data pipelines
    - `isActive` boolean, required: Whether the data pipeline is enabled or disabled
    - `readOnly` boolean, required: Whether the data pipeline is read-only and cannot be edited
    - `isStandardPipeline` boolean, required: Whether this is a standard prebuilt pipeline that should suppress mapping warnings for empty values
    - `isDraft` boolean: Whether this pipeline is a draft created during the test-before-save flow
    - `keyRules` object: Server-owned matching-rule opt-in at creation or cloning.
      - `on` boolean, required
      - `at` string, date-time, required
    - `sampleFileKey` string, nullable: Object storage key for the sample file used for mapping/tests
    - `sampleFileUploadedAt` string, date-time, nullable: Timestamp of the last uploaded sample file
    - `sampleJsonText` string, nullable: Raw JSON text used for mapping/tests (alternative to file upload)
    - `jsonDataPath` string, nullable: Lodash-style dot-notation path to the records array within the JSON payload. When set, the parser drills into this path before extracting rows. Example: "data.all" or "0.here.0.one". When empty, the root is used.
    - `optionBank` union: Target of an optionBanks pipeline: an existing Option Bank by datasetUuid, or datasetName for a new one the save creates and configures with Value and Label columns. Stored as datasetUuid.
      - object
        - `datasetUuid` string, uuid, required
      - object
        - `datasetName` string, required
    - `dataset` union: Target of a datasets pipeline: an existing dataset by datasetUuid, or datasetName for a new one the save creates, with keyColumn as its first column when set. Rows upsert on keyColumn, and without one every row is added. An Option Bank target keys on its own valueColumn, so a keyColumn must equal it. Stored as datasetUuid.
      - object
        - `datasetUuid` string, uuid, required
        - `keyColumn` string
      - object
        - `datasetName` string, required
        - `keyColumn` string
    - `destination` union: Where mapped rows are delivered. When omitted, rows are written to the database (legacy behavior). Discriminated on `type`; the config block shape depends on `type`. "database", "csv", "json", "kombo", and "custom" are implemented today. A file destination writes to object storage and records the key on the event (outputFileKey) for download.
      - object
        - `type` 'database', required
      - object
        - `type` 'csv', required
        - `config` object
          - `includeHeader` boolean
          - `delimiter` string
      - object
        - `type` 'json', required
        - `config` object
          - `pretty` boolean
      - object
        - `type` 'kombo', required
        - `config` object, required: Optional on a seeded outbound template, which carries an empty config and never runs; a customer write always names the company's connected Kombo Marketplace integration to sync rows through.
          - `marketplaceUuid` string: uuid of the company's connected Kombo Marketplace integration to sync rows through.
          - `operation` 'create' | 'update': Create a new record, or update an existing one matched by the ATS application id. Absent means create. Workers accept create only.
      - object
        - `type` 'custom', required
        - `config` object, required
          - `url` string, uri, required: Customer-supplied HTTPS webhook endpoint.
          - `method` 'POST' | 'PUT' | 'PATCH': HTTP verb of every delivery. The URL is fixed; create and update against one vendor are two pipelines.
          - `headers` object[]: Custom headers sent with every request, by name (e.g. Authorization, X-Api-Key) — not a fixed field. Each value is write-only: a response never echoes it back — see hasValue. On write, an omitted value keeps a saved value for that header name, a string sets it; removing a header from the array deletes it.
            - `name` string, required
            - `value` string
            - `hasValue` boolean: Response-only: whether a value is currently saved for this header name.
          - `authenticationKey` string, nullable: HMAC-SHA256 key used to create the Content-Signature header. Write-only: a response never echoes this back — see hasAuthenticationKey. On write, absent keeps the saved value, a string sets it, null clears it.
          - `hasAuthenticationKey` boolean: Response-only: whether an authenticationKey is currently saved.
          - `sendInBatches` boolean: When true, a run sends up to 100 records per request as {"records": [...]} instead of one request per record. Absent reads false, keeping one request per record.
  - `meta` ResponsesPartMeta
    - `timestamp` string, date-time, required
    - `verb` 'OPTION' | 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'
    - `path` string
    - `jti` string
    - `rid` string
    - `count` number
    - `capped` boolean: The server lowered filter[limit] to its ceiling. Page with filter[skip] to read past it.
    - `status` string
    - `duration` number
    - `size` number

## Other responses

- `500`: default error response

---

[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)
