Tool

Update a tool. A full replacement: omitted fields are cleared. The tool's calibration history is untouched — existing calibration records keep their pinned template versions and results.

Changed on
put/api/tools/{id}

Request

  • Base URL
    https://api.fulcrumpro.com
  • URL
    https://api.fulcrumpro.com/api/tools/{id}
  • Auth
    none declared

Path parameters

idstring required

Request body

namestring required

The name of the tool

serialNumberstring nullable

The serial number 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' required

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.

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.

calibrationFrequency'recurringDays' | 'recurringMonths' | 'endOfMonth' | 'endOfQuarter' | 'endOfYear' | 'none' required

How often the tool requires calibration. Mirrors FulcrumProduct.Domain.Tools.Data.CalibrationFrequency by underlying value.

calibrationIntervalinteger nullable

The interval count paired with a recurring calibration frequency (days or months); must be null for a reference gage

lastCalibrationDateUtcstring date-time nullable

When the tool was last calibrated (UTC); required unless the tool is a reference gage

outForRecalibrationDateUtcstring date-time nullable

When the tool left the shop for recalibration (UTC). Required when the inactive reason is outForCalibration, and must be null for every other reason (tandem validation)

notesstring nullable

Free-text notes

defaultUnitOfMeasureNamestring nullable

The unit of measure the tool measures in; must be a standard unit of measure

measurementRangeMinnumber double nullable

The lower bound of the tool's measurement range

measurementRangeMinPrecisioninteger nullable

The decimal precision of the measurement range lower bound

measurementRangeMaxnumber double nullable

The upper bound of the tool's measurement range

measurementRangeMaxPrecisioninteger nullable

The decimal precision of the measurement range upper bound

accuracynumber double nullable

The tool's rated accuracy

accuracyPrecisioninteger nullable

The decimal precision of the rated accuracy

sizestring nullable

The one size a fixed-size gage checks, as stamped on it ("1/4-20", ".2500"). Only thread and go/no-go gage types keep it; on any other tool type it is cleared, and on those types the measurement range is cleared instead.

designationstring nullable

A fixed-size gage's thread form, class, and GO/NO-GO member ("UNC-2B GO/NOGO"). Kept and cleared under the same rule as Size.

customerIdstring nullable

The customer that owns the tool; null for shop-owned tools. A customer-owned tool only takes customer-source calibration records

locationIdstring nullable

The location of the tool

Response

The updated tool

idstring nullable

The id of the tool

numberinteger nullable

The tool's sequential number, unique within the tenant (displayed as T-{number})

namestring nullable

The name of the tool

serialNumberstring nullable

The serial number 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.

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.

calibrationFrequency'recurringDays' | 'recurringMonths' | 'endOfMonth' | 'endOfQuarter' | 'endOfYear' | 'none'

How often the tool requires calibration. Mirrors FulcrumProduct.Domain.Tools.Data.CalibrationFrequency by underlying value.

calibrationIntervalinteger nullable

The interval count paired with a recurring calibration frequency (days or months)

lastCalibrationDateUtcstring date-time nullable

When the tool was last calibrated (UTC)

nextCalibrationDateUtcstring date-time nullable

When the tool's next calibration is due (UTC, computed); null for reference gages, never-calibrated tools, and tools inactive as Retired or Lost (permanently out of service — nothing is ever due against them; clearing the reason restores the date)

lastCalibrationResult'fail' | 'pass' | 'notApplicable'

The outcome of a calibration. Mirrors FulcrumProduct.Domain.ToolCalibrations.Data.CalibrationResult by underlying value.

notesstring nullable

Free-text notes

defaultUnitOfMeasureNamestring nullable

The unit of measure the tool measures in

measurementRangeMinnumber double nullable

The lower bound of the tool's measurement range

measurementRangeMinPrecisioninteger nullable

The decimal precision of the measurement range lower bound

measurementRangeMaxnumber double nullable

The upper bound of the tool's measurement range

measurementRangeMaxPrecisioninteger nullable

The decimal precision of the measurement range upper bound

accuracynumber double nullable

The tool's rated accuracy

accuracyPrecisioninteger nullable

The decimal precision of the rated accuracy

sizestring nullable

The one size a fixed-size gage checks, as stamped on it ("1/4-20", ".2500"). Only carried by thread and go/no-go gage types; cleared for every other tool type.

designationstring nullable

A fixed-size gage's thread form, class, and GO/NO-GO member ("UNC-2B GO/NOGO", "Class ZZ GO"). Only carried by thread and go/no-go gage types; cleared for every other tool type.

modifiedUtcstring date-time nullable

When the tool was last modified (UTC); supports incremental sync

outForRecalibrationDateUtcstring date-time nullable

When the tool left the shop for recalibration (UTC). Null means the tool is on site; a value means it has been out since that date, and requires the outForCalibration inactive reason

Changes

    • breaking

      the request property's minLength was increased from 0 to 1 (media type: application/json-patch+json)

    • breaking

      the request property's minLength was increased from 0 to 1 (media type: application/json)

    • breaking

      the request property's minLength was increased from 0 to 1 (media type: text/json)

    • breaking

      the request property's minLength was increased from 0 to 1 (media type: application/*+json)

    • info

      added the new optional request property (media type: application/json-patch+json)

    • info

      added the new optional request property (media type: application/json)

    • info

      added the new optional request property (media type: text/json)

    • info

      added the new optional request property (media type: application/*+json)

    • info

      added the new optional request property (media type: application/json-patch+json)

    • info

      added the new optional request property (media type: application/json)

    • info

      added the new optional request property (media type: text/json)

    • info

      added the new optional request property (media type: application/*+json)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: application/problem+json)

    • info

      added the optional property to the response with the status (media type: application/json)

    • info

      added the optional property to the response with the status (media type: application/problem+json)