List instruments (paginated) #
GET
/api/public/v1/instruments
Query parameters
limitinteger- Default:
50 - Minimum:
1 - Maximum:
100
- Default:
offsetinteger- Default:
0 - Minimum:
0
- Default:
statusstring | nullFilter by asset status (case-insensitive), for example in_service, out_of_service, OUT_FOR_CALIBRATION or REFERENCE_ONLY. A REFERENCE_ONLY instrument is kept on the register but never calibrated: it reports next_due_at null, is left out of the due worklist, and never matches a compliance_status filter.
- At most
64characters
- At most
site_idstring | nullFilter to a single site (UUID).
location_idstring | nullFilter to a single location (UUID).
updated_sincestring | nullIncremental sync: only instruments modified at/after this ISO-8601 timestamp.
sortstring | nullSort order: one of created_at, -created_at, updated_at, -updated_at.
asset_tagstring | nullExact asset-tag lookup (resolve your key to our record).
- At most
255characters
- At most
serial_numberstring | nullExact serial-number lookup.
- At most
255characters
- At most
compliance_statusstring | nullFilter by compliance token: NOT_CALIBRATED, COMPLIANT, WARNING, NON_COMPLIANT, or OUT_FOR_CALIBRATION. An unknown token returns 422. REFERENCE_ONLY instruments never match (they have no compliance state). The server works this filter out for each instrument, so when the other filters still leave a very large set, the request returns 422. Narrow first with status, location_id, site_id or updated_since.
- At most
32characters
- At most
next_due_beforestring | nullOnly instruments whose next calibration is due before this ISO date. Like compliance_status, this filter is worked out for each instrument, so a very large set returns 422. Narrow first with status, location_id, site_id or updated_since.
includestring | nullOpt-in tombstones for delta sync. include=retired also returns retired (decommissioned) instruments, flagged deleted=true with a retired_at timestamp. A mirror then learns that an instrument was retired instead of seeing it drop silently from the active list. When omitted, only active instruments are returned.
Responses
-
200Successful Responseapplication/jsonPage_InstrumentSummary_Example response
{ "data": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "asset_tag": "string", "name": "string", "manufacturer": "string", "model": "string", "serial_number": "string", "status": "string", "is_quarantined": false, "site_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "location_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "compliance_status": "string", "last_calibration_at": "string", "next_due_at": "string", "retired_at": "string", "deleted": false, "due_extension": { "until": "string", "reason": "string", "extended_at": "string", "extended_by_user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } } ], "pagination": { "limit": 0, "offset": 0, "total": 0, "has_more": true } } -
422Validation Errorapplication/jsonHTTPValidationError
Example request
curl "https://axiospec.com/api/public/v1/instruments" \
-H "Authorization: Bearer $AXIOSPEC_API_KEY"