---
title: "List nestable groups — each a material shape paired with the operation it is cut on, carrying the job operations still waiting to be nested and the work-order operations already created."
method: POST
path: "/api/nesting/nestable-jobs/list"
tags: ["Nesting"]
---

# List nestable groups — each a material shape paired with the operation it is cut on, carrying the job operations still waiting to be nested and the work-order operations already created.

`POST /api/nesting/nestable-jobs/list`

## Query parameters

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

## Request body

- NestingRequestNestableJobsListParameters — Filter for the nestable-jobs query. Every field is optional; omitting all of them returns every group. Filters combine with AND.
  - `needNesting` boolean, nullable — When true, keeps only groups that still have job operations waiting to be nested.
  - `existingNests` boolean, nullable — When true, keeps only groups that already have a work-order operation.
  - `materialForms` NestingEnumNestableMaterialFormEnum[], nullable — Keeps only groups whose material shape has one of these stock forms.
  - `operationIds` string[], nullable — Keeps only groups on one of these routing operations.
  - `materialShapeIds` string[], nullable — Keeps only groups on one of these material shapes.
  - `earliestStartOnOrBefore` string, date-time, nullable — Keeps only groups whose earliest scheduled-start job operation falls on or before this calendar date. Only the calendar date is used, exactly as written; any time or UTC offset is ignored. A group with no dated job operation is dropped as well, which means existing-nest-only groups never survive this filter.
  - `search` string, nullable — Single search token, matched case-insensitively as a substring against the job name and number, the customer name, the sales order number and name, the item name, the work order name, the material shape name, and the operation name. Not split on whitespace.

## Response `200`

The page of matching groups.

- DtoPagedResultDtoNestingNestableJobGroupDto — Paged result
  - `data` NestingNestableJobGroupDto[], required — The data
    - `material` CommonReferenceDto, required — 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
    - `operation` CommonGuidOrMongoReferenceDto, required — A reference to an object whose id is either a GUID or a Mongo id, such as a routing operation.
      - `id` string, nullable — Unique Id associated to the referenced object
      - `name` string, nullable — Descriptive name associated to the object
    - `earliestScheduledStartUtc` string, date-time, nullable — Earliest scheduled start across the group's job operations. Null when no job operation in the group carries a scheduled start — including a group made up only of existing nests.
    - `jobOperations` NestingNestableJobOperationDto[], required — Job operations in the group that are still waiting to be nested.
      - `jobOperationId` string, required — Id of the job operation. This is the id a work order is created from.
      - `job` CommonReferenceDto, required — 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
      - `item` 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
      - `itemToMakeId` string, nullable — Id of the job's item-to-make line the operation belongs to.
      - `quantityToMake` number, double, required — Quantity the operation is to make.
      - `customerName` string, nullable — Name of the job's customer.
      - `salesOrder` 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
      - `productionDueDateUtc` string, date-time, nullable — The job's production due date.
      - `scheduledStartUtc` string, date-time, nullable — Scheduled start of this operation.
      - `scheduledEndUtc` string, date-time, nullable — Scheduled end of this operation.
      - `isRework` boolean, required — True when the operation is a rework of an earlier one. Its materials are inherited from the source operation.
      - `hasMultipleMaterials` boolean, required — True when the operation has more than one material required, so the group it lands in is ambiguous.
    - `workOrderOperations` NestingNestableWorkOrderOperationDto[], required — Work-order operations already created for the group's material shape and operation.
      - `workOrderOperationId` string, required — Id of the work-order operation.
      - `workOrder` CommonReferenceDto, required — 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
      - `status` 'needsReview' | 'approved' | 'scheduled' | 'inProgress' | 'complete' | 'cancelled' — Work order status
      - `operationStatus` string, nullable — Status of the work-order operation itself: `Pending`, `Ready`, `Running`, `Paused`, `Complete` or `Cancelled`.
      - `priority` 'low' | 'moderate' | 'high' — Job priority
      - `sheetCount` integer, required — Number of sheets the operation's nest requires, counting repetitions.
      - `partCount` integer, required — Number of parts the operation's nest places.
      - `machineTimeSeconds` number, double, required — The sum of each sheet's recorded runtime in the operation's nest, in seconds, counting one repetition per sheet.
      - `isNested` boolean, required — True when the operation carries a nest with parts or plates present. Read the nest itself from the work-order operation nesting-setup endpoint.
  - `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` — An unsupported sort field was requested, or Take was 0.

## Changes

- **2026-09-17** `dea755e5a8ab` — 2 breaking
  - the `data/items/operation/id` response property's maxLength was increased from `24` to `36` for the response status `200` (media type: application/json)
  - the `data/items/operation/id` response property's maxLength was increased from `24` to `36` for the response status `200` (media type: application/problem+json)
- **2026-09-09** `995a8753a8a2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/nesting/nestable-jobs/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)
