---
title: "Finds tools based on search parameters, including calibration due-date windows and the
derived calibration status."
method: POST
path: "/api/tools/list"
tags: ["Tool"]
---

# Finds tools based on search parameters, including calibration due-date windows and the
derived calibration status.

`POST /api/tools/list`

## Query parameters

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

## Request body

- ToolsListParameters — Filters for the tools list. All filters are optional and combine with AND semantics (list-valued filters match any of their values).
  - `search` string, nullable — Whitespace-insensitive search over tool name, serial number, and tool type
  - `toolTypes` ToolType[], nullable — Only tools of these types
  - `toolStatuses` ToolStatus[], nullable — Only tools with these statuses
  - `calibrationStatuses` ToolCalibrationEnumCalibrationResult[], nullable — Only tools whose derived calibration status matches one of these values. Reference gages never match these; select them with FulcrumProduct.PublicApi.Dto.Tool.Request.ToolsListParameters.Reference (OR-combined with this filter).
  - `reference` boolean — Include reference gages (tools with calibration frequency None). OR-combined with FulcrumProduct.PublicApi.Dto.Tool.Request.ToolsListParameters.CalibrationStatuses.
  - `isOverdue` boolean — Only tools whose next calibration is past due
  - `dueWithin7Days` boolean — Only tools due for calibration within the next 7 days (includes overdue tools)
  - `dueWithin30Days` boolean — Only tools due for calibration within the next 30 days (includes overdue tools)
  - `requiresAction` boolean — Only tools needing action: inactive with reason RequiresRepair
  - `calibrated` boolean — Only tools in good standing: active, not overdue, and passed their latest calibration
  - `modifiedAfterUtc` string, date-time, nullable — Only tools whose record was written strictly after this UTC instant. Poll with the last-seen modifiedUtc to pick up creates and edits; time-derived transitions (a tool becoming due or overdue) and deletions do not advance modifiedUtc — use the due-window filters for schedule tracking

## Response `200`

The matching tools

- DtoPagedResultDtoToolSummaryDto — Paged result
  - `data` ToolSummaryDto[], required — The data
    - `id` string, nullable — The id of the tool
    - `number` integer, nullable — The tool's sequential number, unique within the tenant (displayed as T-{number})
    - `name` string, nullable — The name of the tool
    - `toolType` 'bevelProtractor' | 'bendAngleGage' | 'boreGage' | 'caliper' | 'cmm' | 'coatingThicknessGage' | 'depthMicrometer' | 'gageBlocks' | 'hardnessTester' | 'heightGage' | 'micrometer' | 'opticalComparator' | 'pinGage' | 'plugGage' | 'radiusGage' | 'sineBar' | 'surfacePlate' | 'surfaceRoughnessTester' | 'thicknessGage' | 'threadPlugGage' | 'threadRingGage' | 'vmm' | 'attributeGage' | 'calibrationArtifact' | 'indicator' | 'calibrationStandard' | 'chamferGage' | 'lightMeter' | 'presetter' | 'digitalConductivityMeter' | 'ringGage' | 'profilometer' | 'splineGage' | 'tapeMeasure' | 'thermometer' | 'stopwatch' | 'torqueWrench' | 'instantMeasurementSystem' | 'protractor' | 'pressureGage' | 'tubeGage' | 'tubeMicrometer' | 'thermocouple' | 'ohmMeter' | 'multimeter' | 'weight' | 'fixture' | 'machine' | 'hygrothermometer' | 'concentricityGage' | 'cmmDatumSphere' | 'threadMicrometer' | 'insideMicrometer' | 'pinMicrometer' | 'setPlug' | 'nptRingGage' | 'nptPlugGage' | 'grooveMicrometer' | 'weldingEquipment' | 'surfaceTesterMaster' — The type of tool in the calibration system. Member values mirror FulcrumProduct.Domain.ToolCalibrations.Data.ToolType one-to-one (guarded by ToolCalibrationEnumParityTests) so tools map by underlying value.
    - `serialNumber` string, nullable — The serial number of the tool
    - `toolStatus` 'active' | 'inactive' — Whether the tool is in service. Mirrors FulcrumProduct.Domain.Tools.Data.ToolStatus by underlying value.
    - `toolInactiveReason` 'lost' | 'damaged' | 'requiresRepair' | 'retired' | 'outForCalibration' — Why an inactive tool is out of service. Mirrors FulcrumProduct.Domain.Tools.Data.ToolInactiveReason by underlying value.
    - `calibrationStatus` 'fail' | 'pass' | 'notApplicable' — The outcome of a calibration. Mirrors FulcrumProduct.Domain.ToolCalibrations.Data.CalibrationResult by underlying value.
    - `lastCalibrationDateUtc` string, date-time, nullable — When the tool was last calibrated (UTC)
    - `lastCalibratedBy` 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
    - `nextCalibrationDateUtc` string, date-time, nullable — When the tool's next calibration is due (UTC, computed); null for reference gages and never-calibrated tools
    - `daysUntilDue` integer, nullable — Whole days until the next calibration is due; negative when overdue
    - `calibrationFrequency` 'recurringDays' | 'recurringMonths' | 'endOfMonth' | 'endOfQuarter' | 'endOfYear' | 'none' — How often the tool requires calibration. Mirrors FulcrumProduct.Domain.Tools.Data.CalibrationFrequency by underlying value.
    - `calibrationInterval` integer, nullable — The interval count paired with a recurring calibration frequency (days or months)
    - `hasOpenNcr` boolean — True when the tool has an open NCR
    - `notes` string, nullable — Free-text notes
    - `modifiedUtc` string, date-time, nullable — When the tool was last modified (UTC); supports incremental sync
  - `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

---

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