Skip to main content
Use GageList through Corsair: one client, typed API calls. Create a private client in GageList and copy its client ID and client secret. Both are needed: the pair is exchanged for a bearer token before any call. Things to know before you call:
  • The pair mints a token, and the token expires. The plugin posts the pair to /api/token with grant_type=password, caches the token for the hour GageList allows, and mints a new one after a 401. A 401 from a protected route means the token was refused, not that the pair is wrong; a rejected pair comes back from the token endpoint as invalid_client.
  • Field names are PascalCase and case-sensitive. The API binds SerialNumber, CalibrationDueDate and so on, and one of them is misspelled in the API itself: DateAquired, not DateAcquired. Use the API’s spelling.
  • The lists are POST, not GET. gages.list, calibrations.list and manufacturers.list take their paging in the request body as start and record_number, and answer total plus count. The plugin returns next_start, which is null on the last page.
  • An update replaces the record. gages.update and calibrations.update take the whole object with its Id, so a field left out is not “unchanged” in the way a PATCH would leave it. Read the record with gages.get or calibrations.get, change the fields you mean to change, and send the whole record back.
  • Deletes are POSTs. GageList deletes with POST to a Delete/{id} path rather than an HTTP DELETE, and a gage is marked deleted rather than erased.
  • The custom-value route takes a bare array. customFields.updateValues posts [{ FieldId, RefID, RefType, FieldValue }], not the usual object wrapper. RefType is 1 for a gage and 2 for a calibration, and a wrong one writes to the other table, so it is constrained to those two values.
  • A certificate is a PDF, not JSON. calibrations.certificate returns the file’s bytes base64-encoded in certificate, with encoding, contentType and byteLength; decode it before saving the file.
  • No webhooks. GageList does not push; a caller polls.
What you get:
  • 18 typed API operations

Setup

1

Install

2

Add the plugin

corsair.ts
With multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.
3

Choose authentication

4

Connect a tenant

Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.

Example API calls

List the first page of gages
Record a calibration against a gage
See the full list on the API page.

What’s next

API reference

Every gagelist.api.* operation with input and output types.

Connect / OAuth

createLink, Hub delivery, and tenant connect flows.

Use with agents

Expose this plugin’s operations as MCP tools.