---
title: "Lists report-ready material and item requirement rows for scheduled job operations from the
material-requirements reporting view, with resolved required quantities, so callers do not need
to fan out per job to routings, items-to-make, operations, and per-operation requirement lookups."
method: POST
path: "/api/reporting/material-requirements/list"
tags: ["Reporting"]
---

# Lists report-ready material and item requirement rows for scheduled job operations from the
material-requirements reporting view, with resolved required quantities, so callers do not need
to fan out per job to routings, items-to-make, operations, and per-operation requirement lookups.

`POST /api/reporting/material-requirements/list`

## Query parameters

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

## Request body

- DtoReportingMaterialRequirementsReportFilter — Constrained filter for the material-requirements reporting list endpoint. Every field maps to a fixed, server-controlled column; values are always bound as Dapper parameters and never concatenated into SQL.
  - `jobStatus` string, nullable — Optional exact-match filter on the job lifecycle status (e.g. "Scheduled", "In Progress"). Null means no job-status filter.
  - `operationName` string, nullable — Optional exact-match filter on the operation name (e.g. "Turret Laser"). Null means no operation-name filter.
  - `operationStatus` string, nullable — Optional exact-match filter on the operation lifecycle status (e.g. "Ready", "Running"). Null means no operation-status filter.
  - `requirementType` string, nullable — Optional exact-match filter on the requirement type: "Item" or "Material". Null returns both.
  - `productionDueDateFrom` string, date-time, nullable — Inclusive lower bound applied to the job's Production Due Date. Null means no lower bound.
  - `productionDueDateTo` string, date-time, nullable — Inclusive upper bound applied to the job's Production Due Date (the whole `to` day is included). Null means no upper bound.

## Response `200`

A page of material-requirements report rows with the total matching count.

- DtoPagedResultDtoDtoReportingMaterialRequirementsReportRow — Paged result
  - `data` DtoReportingMaterialRequirementsReportRow[], required — The data
    - `rowKey` string, nullable — Stable, unique row key (requirement-kind prefix + primary key). Used only for total-order paging.
    - `jobName` string, nullable — Job name (typically the user-facing job identifier).
    - `jobStatus` string, nullable — Job lifecycle status (Approved, Scheduled, In Progress, Complete, etc.).
    - `salesOrderNumber` string, nullable — Source sales order number, when the job is SO-driven.
    - `itemToMake` string, nullable — Item number being produced by the job's item to make.
    - `itemToMakeRevision` string, nullable — Item-to-make revision when revision tracking is enabled.
    - `jobPlannedQty` number, double, nullable — Planned quantity to make for the item to make.
    - `uoM` string, nullable — Unit of measure for the item being produced.
    - `operationName` string, nullable — Operation name within the routing that consumes this requirement.
    - `operationNumber` integer, nullable — Operation sequence number within the routing.
    - `operationStatus` string, nullable — Operation lifecycle status (Ready, Pending, Running, Paused, Complete).
    - `operationScheduledStart` string, date-time, nullable — Scheduled start time for this operation.
    - `productionDueDate` string, date-time, nullable — Job's production due date.
    - `requirementType` string, nullable — Requirement kind: "Item" or "Material".
    - `requirementName` string, nullable — Required item number (for items) or material shape name (for materials).
    - `requirementRevision` string, nullable — Required item revision when revision tracking is enabled (empty for materials).
    - `requiredQuantity` number, double, nullable — Resolved required quantity: item quantity in FulcrumProduct.PublicApi.Dto.Reporting.MaterialRequirementsReportRow.RequiredUnitOfMeasure, or material weight in kilograms. NULL for a material whose nest weight is unresolved — treat NULL as unknown, not zero.
    - `requiredUnitOfMeasure` string, nullable — Unit of the required quantity: the item's unit of measure, or "kg" for materials.
    - `collectedQuantity` number, double, nullable — Quantity already collected/picked (same unit as FulcrumProduct.PublicApi.Dto.Reporting.MaterialRequirementsReportRow.RequiredUnitOfMeasure).
    - `outstandingQuantity` number, double, nullable — Outstanding quantity still needed (required minus collected). Floored at zero for items; NULL for a material whose required weight is unknown (unresolved nest weight).
    - `requiredStockPieces` number, double, nullable — Stock pieces (nests) needed to produce this row's FulcrumProduct.PublicApi.Dto.Reporting.MaterialRequirementsReportRow.JobPlannedQty. Always NULL on an item requirement — stock pieces are a material-only concept. NULL on a material whose nest yield is unknown, which also covers jobs not re-resolved since the yield was first recorded, so NULL means "not known", never "none needed". Fractional, because the unconsumed part of a piece returns to stock as a remnant — round up when sizing a purchase or a pick. Scoped to the row's operation, so do not sum across a job's operations.
  - `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

- `403` — The viewer lacks the View Job permission.

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/versions/1b5649cff14a/schema)
