---
title: "Finds tasks across every record they hang off; every task currently hangs off a change order. Narrow to one record's tasks with `relatedRecordIds`. Sorts on `title`, `sequence`, `dueDateUtc`, `completedUtc`, `complete`, `relatedRecordNumber`, `customer`, `assignedTo` or `taskGroup`; an unrecognised sort field falls back to `dueDateUtc` ascending."
method: POST
path: "/api/tasks/list"
tags: ["Task"]
---

# Finds tasks across every record they hang off; every task currently hangs off a change order. Narrow to one record's tasks with \`relatedRecordIds\`. Sorts on \`title\`, \`sequence\`, \`dueDateUtc\`, \`completedUtc\`, \`complete\`, \`relatedRecordNumber\`, \`customer\`, \`assignedTo\` or \`taskGroup\`; an unrecognised sort field falls back to \`dueDateUtc\` ascending.

`POST /api/tasks/list`

## Query parameters

- `Sort.Field` string
- `Sort.Dir` 'ascending' | 'descending' — Specify sorting direction.
- `Skip` integer
- `Take` integer

## Request body

- TasksListParameters — Filters for the task list. All filters are optional and combine with AND semantics (list-valued filters match any of their values).
  - `relatedRecordIds` string[], nullable — Only tasks hanging off these records. At most 1000 may be supplied
  - `assignedToUserId` string, nullable — Only tasks assigned to this user
  - `complete` boolean, nullable — True returns only complete tasks, false only incomplete ones; omitted returns both
  - `customerId` string, nullable — Only tasks whose record is raised for this customer
  - `taskGroupId` string, nullable — Only tasks filed under this group
  - `dueFromUtc` string, date-time, nullable — Inclusive lower bound on dueDateUtc
  - `dueToUtc` string, date-time, nullable — Inclusive upper bound on dueDateUtc
  - `completedFromUtc` string, date-time, nullable — Inclusive lower bound on completedUtc
  - `completedToUtc` string, date-time, nullable — Inclusive upper bound on completedUtc
  - `overdue` boolean, nullable — True narrows to incomplete tasks whose due date has passed. False and omitted both apply no clause — this narrows, it does not select the complement
  - `search` string, nullable — Case-insensitive search over the title, description, notes and the record's customer name, and an exact match on the record's number when the term reads as one

## Response `200`

The matching tasks

- DtoPagedResultDtoTaskDto — Paged result
  - `data` TaskDto[], required — The data
    - `id` string, nullable — The id of the task
    - `relatedRecord` TaskRelatedRecordDto — The record a task hangs off. Every task currently hangs off a change order.
      - `id` string, nullable — The id of the record, as returned by Change Order List
      - `number` integer, nullable — The record's sequential number. Read-only
      - `customer` CommonReferenceDto — Represents a reference to a document in a DB collection
        - `id` string, nullable — Unique Id associated to the referenced object
        - `name` string, nullable — Descriptive name associated to the object
    - `title` string, nullable — What the task is
    - `description` string, nullable — A longer description of the task
    - `notes` string, nullable — Free-text notes on the task
    - `sequence` integer — The step the task sits at within its record's task list. Tasks sharing a step are parallel work, so a step is not unique within a record
    - `taskGroup` CommonReferenceDto — Represents a reference to a document in a DB collection
      - `id` string, nullable — Unique Id associated to the referenced object
      - `name` string, nullable — Descriptive name associated to the object
    - `assignedTo` CommonReferenceDto — Represents a reference to a document in a DB collection
      - `id` string, nullable — Unique Id associated to the referenced object
      - `name` string, nullable — Descriptive name associated to the object
    - `dueDateUtc` string, date-time, nullable — When the task is due (UTC), or null when it carries no date
    - `complete` boolean — Whether the task is complete
    - `completedUtc` string, date-time, nullable — When the task was completed (UTC). Server-stamped when the task is first marked complete and cleared when it is re-opened. Read-only
    - `completedBy` CommonReferenceDto — Represents a reference to a document in a DB collection
      - `id` string, nullable — Unique Id associated to the referenced object
      - `name` string, nullable — Descriptive name associated to the object
    - `attachmentCount` integer — How many attachments the task carries
    - `lastNotification` TaskNotificationDto — The message that went out for a task step: who was told, over which channel, and when.
      - `userId` string, nullable — The id of the user who was told
      - `userName` string, nullable — The name of the user who was told
      - `channel` 'none' | 'email' | 'slack' | 'teams' | 'gChat' — How a task notification was delivered.
      - `sentUtc` string, date-time — When the message was handed to the sender (UTC). Delivery itself is not tracked
  - `page` integer, required — The 1-indexed page
  - `pageSize` integer, required — The page size
  - `totalCount` integer, required — The total count of records
  - `totalPages` integer, required — The total pages
  - `hasPreviousPage` boolean, required — True if there is a previous page
  - `hasNextPage` boolean, required — True if there is a next page

## Other responses

- `400` — Validation issues with input

## Changes

- **2026-09-26** `e584a13d530a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/tasks/list/post.md)

---

[API](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/revisions/e584a13d530a?raw)
