---
title: "find many taskFlows"
method: GET
path: "/api/servicetodo/taskFlows"
tags: ["taskFlows"]
---

# find many taskFlows

`GET /api/servicetodo/taskFlows`

## Request

- Base URL: `https://services.fountain.com`
- URL: `https://services.fountain.com/api/servicetodo/taskFlows`
- Auth: HTTP bearer

Find many taskFlows (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
- `fromLang` string
- `toLang` string

## Response `200`

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

- object
  - `data` TaskFlow[]
    - `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
    - `status` 'draft' | 'published' | 'archived', required
    - `title` string, required
    - `internalName` string
    - `description` string
    - `taskUuids` string[]
    - `isTaskFlowSequential` boolean
    - `virtualTasks` object[]
      - `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
      - `title` string, required
      - `description` string
      - `taskType` 'dataCollection' | 'informationSharing' | 'training' | 'backgroundCheck' | 'tinCheck' | 'i9' | 'w4' | 'documentSigning' | 'universal' | 'partnerTask' | 'video' | 'internalDataReview' | 'internalExternalAction' | 'compliance', required
      - `subType` 'default' | 'iframe' | 'webhook' | 'workato' | 'youtube'
      - `estimatedCompletionMinutes` number
      - `content` object
        - `buttonLabel` string
        - `text` string
        - `attachments` object[]: Optional list of file attachments associated with an information-sharing task. Files are stored in service-media under the ATTACHMENTS storage folder and referenced here by UUID.
          - `storedFileUuid` string, uuid, required
          - `filename` string, required
          - `mimeType` string, required
        - `uuid` string
        - `title` string
        - `subtitle` string
        - `description` string
        - `inputs` object[]
          - `uuid` string
          - `title` string
          - `subtitle` string
          - `description` string
          - `inputType` 'string' | 'select' | 'media' | 'date' | 'number' | 'address' | 'bankAcctNumber' | 'bankRoutingNumber' | 'phone' | 'email'
          - `required` boolean
          - `items` object[]
            - `label` string
            - `value` string
          - `style` 'select' | 'multiSelect' | 'checkbox' | 'radio' | 'default' | 'textarea'
          - `config` object
            - `minSelect` number
            - `maxSelect` number
            - `minValue` number
            - `maxValue` number
            - `hasMaxLength` boolean
            - `minLength` number
            - `maxLength` number
            - `placeholder` string
            - `datePast` boolean
            - `dateFuture` boolean
            - `allowMultiple` boolean: Media input — when true, the worker may upload multiple files; the stored value becomes an array of media objects.
          - `customAttribute` object
            - `label` string
            - `uuid` string, required
            - `key` string
        - `options` object
        - `signDoc` object, nullable
          - `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
          - `name` string, required
          - `technicalName` string
          - `fileUrls` string[]
          - `mergeKeys` string[]
          - `templateId` string
          - `editEmbedUrl` string
          - `companyUuid` string, uuid: Owning company. The NIL uuid marks an enterprise-level template, shared with every company in `enterpriseUuid`.
          - `enterpriseUuid` string, uuid: Owning enterprise. Only set when `companyUuid` is the NIL uuid.
          - `technical` boolean
          - `counterSignEnabled` boolean
          - `coSignerRequired` boolean
          - `coSignerEmailCustomAttributeKey` string
          - `editUrl` string: Edit URL for embedded templates created via templateCreateEmbeddedDraft
          - `editUrlExpiresAt` number: Expiration timestamp (milliseconds) for the editUrl. Used to determine if editUrl is still valid.
        - `signDocUuid` string
        - `section2CompletionMethods` object[]
          - `methodName` 'authorizedRepresentative' | 'adminValidation' | 'onSiteVerification' | 'liveVideoVerification', required
          - `requiredDuration` number
          - `calendarGroupUuid` string
          - `eventDescription` string
          - `recommended` boolean
          - `reminder` number
          - `customConferencingEnabled` boolean
          - `customConferencing` object
            - `providerDescription` string
            - `joinUrl` string, url
        - `url` string
        - `bgcProvider` string
        - `bgcPackage` string
        - `tinProvider` string
        - `endEvent` string
        - `hideCompletedButton` boolean
        - `appendWxQueryParams` boolean
        - `displayMode` 'iframe' | 'newTab'
        - `sensitiveData` boolean
        - `useI9C2PayloadFormat` boolean
        - `signingSecret` string: Encrypted HMAC-SHA256 signing secret for webhook deliveries. Obtain via POST /processes/tasks/webhookSigningSecret; the value stored here is the encrypted form and cannot be used to verify signatures. When set, every delivery includes X-Fountain-Signature and X-Fountain-Timestamp headers.
        - `customHeaders` object[]: Custom HTTP headers included in every webhook delivery for this endpoint. Each value must be the encrypted form returned by POST /processes/tasks/webhookCustomHeaderValue — never the clear text; a write carrying any other value is rejected, so a credential is never stored in clear text. Names must follow HTTP naming rules and cannot be a header Fountain already sets (Content-Type, Accept, X-Fountain-*, and transport headers). A delivery with an invalid header set is not sent and is recorded as an error on the assigned task.
          - `name` string, required
          - `value` string, required: encrypted header value
        - `triggerableType` 'flow' | 'task'
        - `triggerableTaskUuid` string
        - `companyAttributeSetUuid` string
        - `companyAttributeSet` object, nullable
          - `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, required
          - `label` string, required
          - `description` string
          - `companyAttributes` object[]
            - `companyAttributeUuid` string
            - `value` union
              - …
            - `companyAttribute` object
              - …
          - `attachedTo` object
            - `model` 'location' | 'locationGroup' | 'job' | 'opening'
            - `uuid` string
        - `customAttribute` object
          - `label` string
          - `uuid` string, required
          - `key` string
        - `instructionNotes` string
        - `attributesToReview` string[]
        - `requirementUuid` string, uuid: UUID of the compliance requirement from service-compliancev2
      - `requireReview` boolean
      - `reviewerEmployerUuids` string[]: Who reviews this task: employer uuids, or the roles supervisor and opening_owner resolved per worker. Allowed only when requireReview is true. Empty names no specific reviewer.
      - `reuseInRehire` boolean: When true (default), the task completion is carried over to the rehire profile. When false, the task starts incomplete in the rehire profile. Ignored for I-9, W-4, Background Check, and TIN Check tasks (always start incomplete).
      - `rehireReuseMode` 'complete' | 'review': How a reused task is applied on rehire. 'complete' (default when absent) copies the previous answers and marks the task complete. 'review' prefills the previous answers but leaves the task incomplete for the worker to review and submit. Only consulted when reuseInRehire is not false.
      - `signedDocumentEmail` object: Email the signed PDF to the worker and these admins when a document-signing task's request is fully signed. Entries are employer uuids or `supervisor` / `opening_owner`. Document-signing tasks only.
        - `enabled` boolean, required
        - `recipientEmployerUuids` string[]
      - `isInternal` boolean
      - `internalTaskData` object
        - `employerUuids` string[]
        - `trigger` object
          - `type` string
          - `taskUuid` string
    - `segmentUuids` string[]
    - `virtualSegments` object[]
      - `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
      - `name` string, required
      - `description` string
      - `filters` string
      - `filterValues` string
      - `pipeline` string
      - `reference` object: For automatic segments, set a reference to make it easier to retrieve/update/delete when that reference changes
      - `companyUuid` string, uuid
      - `subscriptions` object[]
        - `service` 'activity' | 'attendance' | 'authorization' | 'broker' | 'compliance' | 'compliancev2' | 'communicate' | 'doctor' | 'employment' | 'integrations' | 'logger' | 'media' | 'messaging' | 'ocr' | 'occupations-mcp' | 'organizations' | 'pool' | 'pulse' | 'referral' | 'scheduler' | 'security' | 'segmentation' | 'staff' | 'support' | 'todo' | 'workforce'
        - `key` string
      - `segmentType` 'unitary' | 'default' | 'automatic' | 'observer' | 'worker_notification' | 'employer_notification'
      - `forceMatch` boolean: if true, will match worker even if they have the property `segmentEnabled` to true
      - `dynamicFilters` object, nullable
        - `event` string, required
        - `eventOffsetDirection` 'before' | 'after' | 'on', required
        - `offsetDays` number
        - `finalOffsetDirection` 'before' | 'after' | 'on'
      - `observerRecurrence` object, nullable
        - `type` 'annual', required
      - `observerTemplate` boolean: when enabled, this is meant to be a template/blueprint for actual observerSegments
      - `baseObserverSegmentUuids` string[]
      - `timezone` string
    - `autoAssignToNewWorkers` boolean
    - `taskFlowType` 'preboarding' | 'onboarding' | 'test'
    - `messages` object
      - `email` object
        - `enabled` boolean, required
        - `subject` string, required
        - `content` string, required
      - `sms` object
        - `enabled` boolean, required
        - `content` string, required
    - `internalTaskMessages` object
      - `email` object
        - `enabled` boolean, required
        - `subject` string
        - `content` string
    - `deadline` object
      - `enabled` boolean, required
      - `delayInDays` number
      - `triggerProperty` 'hireDate' | 'startDate' | 'assignmentDate'
      - `reminder` boolean
      - `remindBeforeDays` number
    - `reminder` object
      - `enabled` boolean, required
      - `recurringDays` number
      - `messages` object
        - `email` object
          - `enabled` boolean, required
          - `subject` string, required
          - `content` string, required
        - `sms` object
          - `enabled` boolean, required
          - `content` string, required
    - `redirectUrl` string, uri
    - `workerCounts` object
      - `total` number
      - `notStarted` number
      - `inProgress` number
      - `completed` number
      - `overdue` number
      - `error` number
      - `toReview` number
      - `rejected` number
    - `currentVersionUuid` string, uuid
    - `currentVersionNumber` number
    - `currentVersionCreatedAt` string, date-time
  - `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)
