> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# GageList API reference

> API reference for the GageList plugin in Corsair: every `gagelist.api.*` operation with its input and output types, taken from the plugin's Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](https://docs.corsair.dev/concepts/api.md), [authentication](https://docs.corsair.dev/concepts/auth.md), and [error handling](https://docs.corsair.dev/concepts/error-handling).

## Account

### status

`account.status`

The site’s plan limits and usage: gage and user counts, gages due and past due, and what the client may change

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.account.status({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   MaxUsers?: number | null,
>   MaxGages?: number | null,
>   MaxRecords?: number | null,
>   AssignedUsers?: number | null,
>   TotalGages?: number | null,
>   ActiveGages?: number | null,
>   InactiveGages?: number | null,
>   GagesDueThisMonth?: number | null,
>   GagesDue30Days?: number | null,
>   GagesPastDue?: number | null,
>   AllowAttachments?: boolean | null,
>   AllowCustomFields?: boolean | null,
>   CanAdd?: boolean | null,
>   CanEdit?: boolean | null,
>   CurrentSiteId?: number | null
> }
> ```

***

## Calibrations

### certificate

`calibrations.certificate`

Render a calibration certificate PDF for a record, returned base64-encoded with its content type

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.calibrations.certificate({ id: 500 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | The GageList record ID. |

Returns the PDF base64-encoded in `certificate`, with `encoding`, `contentType` and `byteLength`.

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `certificate` | `string` | Yes | The certificate: base64 bytes when `encoding` is `base64`, otherwise the text GageList sent. |
| `encoding` | `base64 \| text` | Yes | — |
| `contentType` | `string` | Yes | The Content-Type GageList sent, usually `application/pdf`. |
| `byteLength` | `number` | No | Size of the decoded file. |

***

### create

`calibrations.create`

Record a calibration against a gage, with the readings, standard used and next due date

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.calibrations.create({ EquipmentRefId: 12, EquipmentAsFound: '0.01', EquipmentAsLeft: '0.00', CalibrationDueDate: '2027-04-24T00:00:00Z' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `Id` | `number` | No | — |
| `RecordNumber` | `string \| null` | No | — |
| `EquipmentRefId` | `number \| null` | No | The gage this calibration records. |
| `EquipmentAsFound` | `string \| null` | No | — |
| `EquipmentAsLeft` | `string \| null` | No | — |
| `LastCalibrationDate` | `string \| null` | No | — |
| `CalibrationDueDate` | `string \| null` | No | — |
| `MasterStandard` | `string \| null` | No | — |
| `Type` | `string \| null` | No | — |
| `Manufacturer` | `string \| null` | No | — |
| `Website` | `string \| null` | No | — |
| `Model` | `string \| null` | No | — |
| `SerialNumber` | `string \| null` | No | — |
| `TypesMeasurement` | `string \| null` | No | — |
| `UnitOfMeasure` | `string \| null` | No | — |
| `RangeOrSize` | `string \| null` | No | — |
| `Tolerance` | `string \| null` | No | — |
| `Location` | `string \| null` | No | — |
| `ResponsibleUser` | `string \| null` | No | — |
| `Interval` | `string \| null` | No | — |
| `Years` | `number \| null` | No | — |
| `Months` | `number \| null` | No | — |
| `Days` | `number \| null` | No | — |
| `Uncertainty` | `string \| null` | No | — |
| `CalibrationTest` | `string \| null` | No | — |
| `OtherInformation` | `string \| null` | No | — |
| `ControlNumber` | `string \| null` | No | — |
| `AssetNo` | `string \| null` | No | — |
| `CalibrationInstructions` | `string \| null` | No | — |
| `CalibrationEnvironment` | `string \| null` | No | — |
| `CalibrationTestMode` | `string \| null` | No | — |
| `ConditionReceived` | `string \| null` | No | — |
| `AdjustmentsRequired` | `string \| null` | No | — |
| `RepairsRequired` | `string \| null` | No | — |
| `ExernalCalibrationRecord` | `string \| null` | No | — |
| `TestEquipmentFalls` | `string \| null` | No | — |
| `TestEquipmentFallsAsFound` | `string \| null` | No | — |
| `AppropriateNotified` | `string \| null` | No | — |
| `ToleranceCondition` | `string \| null` | No | — |
| `ProductRecalled` | `string \| null` | No | — |
| `ToleranceComment` | `string \| null` | No | — |
| `AdditionalComments` | `string \| null` | No | — |
| `DateCalibrated` | `string \| null` | No | ISO 8601. |
| `NextCalibrationDue` | `string \| null` | No | ISO 8601. |
| `CalibrationDate` | `string \| null` | No | ISO 8601. |
| `TestEquipmentAvailability` | `string \| null` | No | — |
| `TestTime` | `string \| null` | No | — |
| `TestCost` | `string \| null` | No | — |
| `CalibrationTechinician` | `string \| null` | No | — |
| `DescribedRepairs` | `string \| null` | No | — |
| `ActionRequired` | `string \| null` | No | — |
| `FitIntendedPurpose` | `string \| null` | No | — |
| `CalibrationTests` | `object[] \| null` | No | — |

> [accordion] CalibrationTests full type
>
> ```ts theme={null}
> {
>   Id: number,
>   CalibrationRefId?: number | null,
>   TestNumber?: string | null,
>   Parameter?: string | null,
>   ExpectedResult?: string | null,
>   RefStandardID?: string | null,
>   AsFound?: string | null,
>   AsLeft?: string | null,
>   ChkAsLeft?: string | null,
>   PassFail?: string | null
> }[] | null
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

### delete

`calibrations.delete`

Delete a calibration record

**Risk:** `destructive` · **Irreversible**

```ts theme={null}
await corsair.gagelist.api.calibrations.delete({ id: 500 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | The GageList record ID. |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number \| boolean \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

### get

`calibrations.get`

One calibration record with its as-found and as-left readings

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.calibrations.get({ id: 500 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | The GageList record ID. |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   Id: number,
>   RecordNumber?: string | null,
>   EquipmentRefId?: number | null,
>   SerialNumber?: string | null,
>   ControlNumber?: string | null,
>   AssetNo?: string | null,
>   EquipmentAsFound?: string | null,
>   EquipmentAsLeft?: string | null,
>   LastCalibrationDate?: string | null,
>   CalibrationDueDate?: string | null,
>   MasterStandard?: string | null,
>   Type?: string | null,
>   Manufacturer?: string | null,
>   Website?: string | null,
>   Model?: string | null,
>   TypesMeasurement?: string | null,
>   UnitOfMeasure?: string | null,
>   RangeOrSize?: string | null,
>   Tolerance?: string | null,
>   Location?: string | null,
>   ResponsibleUser?: string | null,
>   Interval?: string | null,
>   Years?: number | null,
>   Months?: number | null,
>   Days?: number | null,
>   Uncertainty?: string | null,
>   CalibrationTest?: string | null,
>   OtherInformation?: string | null,
>   CreatedBy?: string | null,
>   UpdatedBy?: string | null,
>   IsDeleted?: boolean | null,
>   UpdatedDate?: string | null
> }
> ```

***

### list

`calibrations.list`

Calibration records, paged; each names the gage it was run on through `EquipmentRefId`

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.calibrations.list({ start: 0, record_number: 25 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `start` | `number` | No | — |
| `record_number` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number \| null` | No | — |
| `count` | `number \| null` | No | — |
| `data` | `object[]` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |
| `next_start` | `number \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   Id: number,
>   RecordNumber?: string | null,
>   EquipmentRefId?: number | null,
>   SerialNumber?: string | null,
>   ControlNumber?: string | null,
>   AssetNo?: string | null,
>   EquipmentAsFound?: string | null,
>   EquipmentAsLeft?: string | null,
>   LastCalibrationDate?: string | null,
>   CalibrationDueDate?: string | null,
>   MasterStandard?: string | null,
>   Type?: string | null,
>   Manufacturer?: string | null,
>   Website?: string | null,
>   Model?: string | null,
>   TypesMeasurement?: string | null,
>   UnitOfMeasure?: string | null,
>   RangeOrSize?: string | null,
>   Tolerance?: string | null,
>   Location?: string | null,
>   ResponsibleUser?: string | null,
>   Interval?: string | null,
>   Years?: number | null,
>   Months?: number | null,
>   Days?: number | null,
>   Uncertainty?: string | null,
>   CalibrationTest?: string | null,
>   OtherInformation?: string | null,
>   CreatedBy?: string | null,
>   UpdatedBy?: string | null,
>   IsDeleted?: boolean | null,
>   UpdatedDate?: string | null
> }[]
> ```

***

### update

`calibrations.update`

Update a calibration record

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.calibrations.update({ ...(await corsair.gagelist.api.calibrations.get({ id: 500 })).data, Uncertainty: '0.003' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `Id` | `nonoptional` | Yes | — |
| `RecordNumber` | `string \| null` | No | — |
| `EquipmentRefId` | `number \| null` | No | The gage this calibration records. |
| `EquipmentAsFound` | `string \| null` | No | — |
| `EquipmentAsLeft` | `string \| null` | No | — |
| `LastCalibrationDate` | `string \| null` | No | — |
| `CalibrationDueDate` | `string \| null` | No | — |
| `MasterStandard` | `string \| null` | No | — |
| `Type` | `string \| null` | No | — |
| `Manufacturer` | `string \| null` | No | — |
| `Website` | `string \| null` | No | — |
| `Model` | `string \| null` | No | — |
| `SerialNumber` | `string \| null` | No | — |
| `TypesMeasurement` | `string \| null` | No | — |
| `UnitOfMeasure` | `string \| null` | No | — |
| `RangeOrSize` | `string \| null` | No | — |
| `Tolerance` | `string \| null` | No | — |
| `Location` | `string \| null` | No | — |
| `ResponsibleUser` | `string \| null` | No | — |
| `Interval` | `string \| null` | No | — |
| `Years` | `number \| null` | No | — |
| `Months` | `number \| null` | No | — |
| `Days` | `number \| null` | No | — |
| `Uncertainty` | `string \| null` | No | — |
| `CalibrationTest` | `string \| null` | No | — |
| `OtherInformation` | `string \| null` | No | — |
| `ControlNumber` | `string \| null` | No | — |
| `AssetNo` | `string \| null` | No | — |
| `CalibrationInstructions` | `string \| null` | No | — |
| `CalibrationEnvironment` | `string \| null` | No | — |
| `CalibrationTestMode` | `string \| null` | No | — |
| `ConditionReceived` | `string \| null` | No | — |
| `AdjustmentsRequired` | `string \| null` | No | — |
| `RepairsRequired` | `string \| null` | No | — |
| `ExernalCalibrationRecord` | `string \| null` | No | — |
| `TestEquipmentFalls` | `string \| null` | No | — |
| `TestEquipmentFallsAsFound` | `string \| null` | No | — |
| `AppropriateNotified` | `string \| null` | No | — |
| `ToleranceCondition` | `string \| null` | No | — |
| `ProductRecalled` | `string \| null` | No | — |
| `ToleranceComment` | `string \| null` | No | — |
| `AdditionalComments` | `string \| null` | No | — |
| `DateCalibrated` | `string \| null` | No | ISO 8601. |
| `NextCalibrationDue` | `string \| null` | No | ISO 8601. |
| `CalibrationDate` | `string \| null` | No | ISO 8601. |
| `TestEquipmentAvailability` | `string \| null` | No | — |
| `TestTime` | `string \| null` | No | — |
| `TestCost` | `string \| null` | No | — |
| `CalibrationTechinician` | `string \| null` | No | — |
| `DescribedRepairs` | `string \| null` | No | — |
| `ActionRequired` | `string \| null` | No | — |
| `FitIntendedPurpose` | `string \| null` | No | — |
| `CalibrationTests` | `object[] \| null` | No | — |

The body is the whole record with its `Id`, not a partial patch: read it with `calibrations.get` and send it back with your change.

> [accordion] CalibrationTests full type
>
> ```ts theme={null}
> {
>   Id: number,
>   CalibrationRefId?: number | null,
>   TestNumber?: string | null,
>   Parameter?: string | null,
>   ExpectedResult?: string | null,
>   RefStandardID?: string | null,
>   AsFound?: string | null,
>   AsLeft?: string | null,
>   ChkAsLeft?: string | null,
>   PassFail?: string | null
> }[] | null
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number \| boolean \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

## Custom Fields

### list

`customFields.list`

The account’s custom fields: each `Id` is the `FieldId` a value write takes, and `ForType` says whether it belongs on gages or calibrations

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.customFields.list({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number \| null` | No | — |
| `count` | `number \| null` | No | — |
| `data` | `object[]` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   Id?: number | null,
>   FieldName?: string | null,
>   FieldType?: string | null,
>   FieldOptions?: string | null,
>   Status?: string | null,
>   ForType?: string | null,
>   GageRequired?: number | null,
>   CalibrationRequired?: number | null,
>   DisplayOrder?: number | null,
>   UpdatedDate?: string | null
> }[]
> ```

***

### updateValues

`customFields.updateValues`

Create or update custom field values on a gage or a calibration. `RefType` is `1` for a gage and `2` for a calibration

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.customFields.updateValues({ values: [{ Id: 0, FieldId: 3, RefID: 12, RefType: 1, FieldValue: 'CC-1' }] });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `values` | `object[]` | Yes | Sent as a bare JSON array, which is what this route takes rather than the usual object. |

Posts a bare JSON array. `RefType` is `1` for a gage and `2` for a calibration.

> [accordion] values full type
>
> ```ts theme={null}
> {
>   Id: number,
>   FieldId: number,
>   RefID: number,
>   RefType: 1 | 2,
>   FieldValue: string
> }[]
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number[] \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

## Gages

### create

`gages.create`

Add a gage, with its serial and control numbers, calibration interval and responsible user

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.gages.create({ SerialNumber: 'SN-1001', Type: 'Caliper', Manufacturer: 'Mitutoyo', Years: 1, Location: 'Bench 3' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `Id` | `number` | No | `0` on a create. |
| `SerialNumber` | `string \| null` | No | — |
| `ControlNumber` | `string \| null` | No | — |
| `AssetNo` | `string \| null` | No | — |
| `PurchasePrice` | `number \| null` | No | — |
| `Status` | `string \| null` | No | — |
| `LastCalibrationDate` | `string \| null` | No | ISO 8601. |
| `CalibrationDueDate` | `string \| null` | No | ISO 8601. |
| `MasterStandard` | `string \| null` | No | — |
| `Type` | `string \| null` | No | — |
| `Manufacturer` | `string \| null` | No | — |
| `Website` | `string \| null` | No | — |
| `Model` | `string \| null` | No | — |
| `TypesMeasurement` | `string \| null` | No | — |
| `UnitOfMeasure` | `string \| null` | No | — |
| `RangeOrSize` | `string \| null` | No | — |
| `Tolerance` | `string \| null` | No | — |
| `DateAquired` | `string \| null` | No | ISO 8601. |
| `SourceOrVendor` | `string \| null` | No | — |
| `ConditionAquired` | `string \| null` | No | — |
| `Location` | `string \| null` | No | — |
| `ResponsibleUser` | `string \| null` | No | — |
| `NotificationList` | `string \| null` | No | — |
| `Interval` | `string \| null` | No | — |
| `Years` | `number \| null` | No | — |
| `Months` | `number \| null` | No | — |
| `Days` | `number \| null` | No | — |
| `CalibrationEnvironment` | `string \| null` | No | — |
| `CalibrationInstructions` | `string \| null` | No | — |
| `OtherInformation` | `string \| null` | No | — |
| `CalibrationTestMode` | `string \| null` | No | — |
| `Area` | `string \| null` | No | — |
| `NISTNumber` | `string \| null` | No | — |
| `TestTemplates` | `object[] \| null` | No | — |

Field names are PascalCase and bind case-sensitively. GageList spells the acquisition date `DateAquired`.

> [accordion] TestTemplates full type
>
> ```ts theme={null}
> {
>   Id: number,
>   EquipmentRefId?: number | null,
>   TestNumber?: string | null,
>   Parameter?: string | null,
>   ExpectedResult?: string | null,
>   RefStandardID?: string | null
> }[] | null
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

### delete

`gages.delete`

Delete a gage. GageList marks it deleted rather than erasing it, but it stops appearing in the active list

**Risk:** `destructive` · **Irreversible**

```ts theme={null}
await corsair.gagelist.api.gages.delete({ id: 12 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | The GageList record ID. |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number \| boolean \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

### get

`gages.get`

One gage with its calibration dates, interval and assigned user

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.gages.get({ id: 12 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | The GageList record ID. |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   Id: number,
>   SerialNumber?: string | null,
>   ControlNumber?: string | null,
>   AssetNo?: string | null,
>   PurchasePrice?: number | null,
>   Status?: string | null,
>   LastCalibrationDate?: string | null,
>   CalibrationDueDate?: string | null,
>   MasterStandard?: string | null,
>   Type?: string | null,
>   Manufacturer?: string | null,
>   Website?: string | null,
>   Model?: string | null,
>   TypesMeasurement?: string | null,
>   UnitOfMeasure?: string | null,
>   RangeOrSize?: string | null,
>   Tolerance?: string | null,
>   DateAquired?: string | null,
>   SourceOrVendor?: string | null,
>   ConditionAquired?: string | null,
>   Location?: string | null,
>   ResponsibleUser?: string | null,
>   NotificationList?: string | null,
>   Interval?: string | null,
>   Years?: number | null,
>   Months?: number | null,
>   Days?: number | null,
>   CalibrationEnvironment?: string | null,
>   CalibrationInstructions?: string | null,
>   OtherInformation?: string | null,
>   CalibrationTestMode?: string | null,
>   CreatedBy?: string | null,
>   UpdatedBy?: string | null,
>   IsDeleted?: boolean | null,
>   Area?: string | null,
>   NISTNumber?: string | null,
>   UpdatedDate?: string | null,
>   IntervalCategory?: string | null,
>   LastCalibrationDateStr?: string | null,
>   CalibrationCount?: number | null,
>   CreatedDate?: string | null,
>   ImageName?: string | null
> }
> ```

***

### list

`gages.list`

Gages on the site, paged by `start` and `record_number` in the request body; `next_start` gives the next page

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.gages.list({ start: 0, record_number: 25 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `start` | `number` | No | Records to skip. Defaults to 0. |
| `record_number` | `number` | No | Records to return in this page. |

Pages by `start` and `record_number` in the request body. `next_start` is null on the last page.

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number \| null` | No | Every gage on the site. |
| `count` | `number \| null` | No | Gages in this page. |
| `data` | `object[]` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |
| `next_start` | `number \| null` | Yes | The `start` for the next page; null on the last one. |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   Id: number,
>   SerialNumber?: string | null,
>   ControlNumber?: string | null,
>   AssetNo?: string | null,
>   PurchasePrice?: number | null,
>   Status?: string | null,
>   LastCalibrationDate?: string | null,
>   CalibrationDueDate?: string | null,
>   MasterStandard?: string | null,
>   Type?: string | null,
>   Manufacturer?: string | null,
>   Website?: string | null,
>   Model?: string | null,
>   TypesMeasurement?: string | null,
>   UnitOfMeasure?: string | null,
>   RangeOrSize?: string | null,
>   Tolerance?: string | null,
>   DateAquired?: string | null,
>   SourceOrVendor?: string | null,
>   ConditionAquired?: string | null,
>   Location?: string | null,
>   ResponsibleUser?: string | null,
>   NotificationList?: string | null,
>   Interval?: string | null,
>   Years?: number | null,
>   Months?: number | null,
>   Days?: number | null,
>   CalibrationEnvironment?: string | null,
>   CalibrationInstructions?: string | null,
>   OtherInformation?: string | null,
>   CalibrationTestMode?: string | null,
>   CreatedBy?: string | null,
>   UpdatedBy?: string | null,
>   IsDeleted?: boolean | null,
>   Area?: string | null,
>   NISTNumber?: string | null,
>   UpdatedDate?: string | null,
>   IntervalCategory?: string | null,
>   LastCalibrationDateStr?: string | null,
>   CalibrationCount?: number | null,
>   CreatedDate?: string | null,
>   ImageName?: string | null
> }[]
> ```

***

### update

`gages.update`

Update a gage. The body is the whole record with its `Id`, not a partial patch

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.gages.update({ ...(await corsair.gagelist.api.gages.get({ id: 12 })).data, Location: 'Bench 4' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `Id` | `nonoptional` | Yes | — |
| `SerialNumber` | `string \| null` | No | — |
| `ControlNumber` | `string \| null` | No | — |
| `AssetNo` | `string \| null` | No | — |
| `PurchasePrice` | `number \| null` | No | — |
| `Status` | `string \| null` | No | — |
| `LastCalibrationDate` | `string \| null` | No | ISO 8601. |
| `CalibrationDueDate` | `string \| null` | No | ISO 8601. |
| `MasterStandard` | `string \| null` | No | — |
| `Type` | `string \| null` | No | — |
| `Manufacturer` | `string \| null` | No | — |
| `Website` | `string \| null` | No | — |
| `Model` | `string \| null` | No | — |
| `TypesMeasurement` | `string \| null` | No | — |
| `UnitOfMeasure` | `string \| null` | No | — |
| `RangeOrSize` | `string \| null` | No | — |
| `Tolerance` | `string \| null` | No | — |
| `DateAquired` | `string \| null` | No | ISO 8601. |
| `SourceOrVendor` | `string \| null` | No | — |
| `ConditionAquired` | `string \| null` | No | — |
| `Location` | `string \| null` | No | — |
| `ResponsibleUser` | `string \| null` | No | — |
| `NotificationList` | `string \| null` | No | — |
| `Interval` | `string \| null` | No | — |
| `Years` | `number \| null` | No | — |
| `Months` | `number \| null` | No | — |
| `Days` | `number \| null` | No | — |
| `CalibrationEnvironment` | `string \| null` | No | — |
| `CalibrationInstructions` | `string \| null` | No | — |
| `OtherInformation` | `string \| null` | No | — |
| `CalibrationTestMode` | `string \| null` | No | — |
| `Area` | `string \| null` | No | — |
| `NISTNumber` | `string \| null` | No | — |
| `TestTemplates` | `object[] \| null` | No | — |

The body is the whole record with its `Id`, not a partial patch: read it with `gages.get` and send it back with your change.

> [accordion] TestTemplates full type
>
> ```ts theme={null}
> {
>   Id: number,
>   EquipmentRefId?: number | null,
>   TestNumber?: string | null,
>   Parameter?: string | null,
>   ExpectedResult?: string | null,
>   RefStandardID?: string | null
> }[] | null
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number \| boolean \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

## Manufacturers

### create

`manufacturers.create`

Add a manufacturer with its address and contact details

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.manufacturers.create({ Name: 'Starrett', Website: 'https://starrett.example' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `Id` | `number` | No | — |
| `Name` | `string` | Yes | — |
| `Address` | `string` | No | — |
| `Phone` | `string` | No | — |
| `Fax` | `string` | No | — |
| `Website` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

### delete

`manufacturers.delete`

Delete a manufacturer

**Risk:** `destructive` · **Irreversible**

```ts theme={null}
await corsair.gagelist.api.manufacturers.delete({ id: 7 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | The GageList record ID. |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number \| boolean \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***

### list

`manufacturers.list`

Instrument manufacturers, paged

**Risk:** `read`

```ts theme={null}
await corsair.gagelist.api.manufacturers.list({ start: 0, record_number: 25 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `start` | `number` | No | — |
| `record_number` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number \| null` | No | — |
| `count` | `number \| null` | No | — |
| `data` | `object[]` | Yes | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |
| `next_start` | `number \| null` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   Id: number,
>   Name?: string | null,
>   Address?: string | null,
>   Phone?: string | null,
>   Fax?: string | null,
>   Website?: string | null
> }[]
> ```

***

### update

`manufacturers.update`

Update a manufacturer

**Risk:** `write`

```ts theme={null}
await corsair.gagelist.api.manufacturers.update({ Id: 7, Name: 'Mitutoyo Corp' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `Id` | `nonoptional` | Yes | — |
| `Name` | `string` | Yes | — |
| `Address` | `string` | No | — |
| `Phone` | `string` | No | — |
| `Fax` | `string` | No | — |
| `Website` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `number \| boolean \| null` | No | — |
| `success` | `boolean \| null` | No | — |
| `message` | `string \| null` | No | — |

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.