---
title: "Api endpoint to get workers by start date"
method: GET
path: "/api/servicetodo/processes/workers/startsByDate"
tags: ["todoWorkers"]
---

# Api endpoint to get workers by start date

`GET /api/servicetodo/processes/workers/startsByDate`

## Request

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

## Query parameters

- `filter` object
  - `dates` object, required
    - `startDate` string, date, required
    - `endDate` string, date, required
  - `locationUuids` string[]
  - `jobUuid` string, uuid
  - `workerUuid` union: Filter tasks to one worker (string) or multiple workers (array of UUIDs)
    - string, uuid: Single worker UUID
    - string[]: One or more worker UUIDs
  - `assignedUserUuids` string[]: Empty = all task kinds. Non-empty = only internal tasks whose resolved assignee is one of these employer UUIDs, including tasks assigned to the `supervisor` or `opening_owner` role; review tasks and i9/w4 tasks are hidden because nobody is assigned to them.
  - `taskTypes` string[]: Empty = all task types; non-empty = only tasks whose virtualTask.taskType is in this list
  - `customAttributes` object[]
    - `attributeUuid` string, uuid, required
    - `attributeKey` string, required
    - `value` union
      - string
      - number
      - boolean
      - string[]
    - `operator` string, required
    - `dataType` string
  - `pagination` object
    - `page` integer: Page number (1-based)
    - `limit` integer: Number of date groups per page (max 10)
- `groupedBy` 'date' | 'location'

## Response `200`

Returns workers grouped by start date or location

- union
  - object
    - `groupedBy` 'date', required: Indicates how the data is grouped
    - `data` object, required
      - `data` object[], required: Data when grouped by date
        - `_id` string, required: Date in string format (task start date)
        - `workers` object[], required
          - `uuid` string, required: Worker UUID
          - `name` string, required: Worker name
          - `jobName` string, required: Job title
          - `location` object[], required: Worker locations
            - `name` string, required
            - `uuid` string, required
          - `tasks` object[], required
            - `uuid` string, required: Task UUID
            - `name` string, required: Task name
            - `status` string, required: Task status
            - `taskType` 'dataCollection' | 'informationSharing' | 'training' | 'backgroundCheck' | 'tinCheck' | 'i9' | 'w4' | 'documentSigning' | 'universal' | 'partnerTask' | 'video' | 'internalDataReview' | 'internalExternalAction' | 'compliance', required: Task type
          - `taskCount` number, required: Total number of tasks assigned
          - `status` string, required: Worker status (e.g., Critical, Completed)
          - `completedTaskCount` number, required: Number of completed tasks
          - `totalFlowStatus` 'notStarted' | 'workerActionRequired' | 'adminActionRequired' | 'blockedOrFailed' | 'complete' | 'overdue': The worker's status across every flow. Overdue wins, then blocked or failed, admin action, worker action and not started; complete only when every flow is complete.
          - `adminActionReasons` string[]: Why the flow waits on an admin.
          - `workerTaskCounts` object: Worker-owned tasks the worker has handed off, out of all worker-owned tasks.
            - `done` number, required
            - `total` number, required
          - `adminTaskCounts` object: Completed admin-side tasks, out of the internal and automation tasks plus the worker tasks with a review or counter-signature step.
            - `done` number, required
            - `total` number, required
        - `totalStartsPerDate` number, required: Total number of task starts for the date
    - `meta` ResponsesPartMeta, required
      - `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
  - object
    - `groupedBy` 'location', required: Indicates how the data is grouped
    - `data` object, required
      - `data` object[], required: Array of dates, each containing location groups with workers
        - `_id` string, required: Date in string format (task start date)
        - `locations` object[], required: Location groups for this date
          - `location` object[], required: Location information
            - `name` string, required: Location name
            - `uuid` string, required: Location UUID
          - `workers` object[], required: List of workers for this location
            - `uuid` string, required: Worker UUID
            - `name` string, required: Worker name
            - `jobName` string, required: Job title
            - `location` object[], required: Worker locations
              - …
            - `tasks` object[], required: Tasks assigned to the worker
              - …
            - `taskCount` number, required: Total number of tasks assigned
            - `status` string, required: Worker status (e.g., Critical, Completed)
            - `completedTaskCount` number, required: Number of completed tasks
            - `totalFlowStatus` 'notStarted' | 'workerActionRequired' | 'adminActionRequired' | 'blockedOrFailed' | 'complete' | 'overdue': The worker's status across every flow. Overdue wins, then blocked or failed, admin action, worker action and not started; complete only when every flow is complete.
            - `adminActionReasons` string[]: Why the flow waits on an admin.
            - `workerTaskCounts` object: Worker-owned tasks the worker has handed off, out of all worker-owned tasks.
              - …
            - `adminTaskCounts` object: Completed admin-side tasks, out of the internal and automation tasks plus the worker tasks with a review or counter-signature step.
              - …
          - `totalStartsPerLocation` number, required: Total number of task starts for this location
        - `totalStartsPerDate` number, required: Total number of task starts for the date
    - `meta` ResponsesPartMeta, required
      - `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

---

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