xPlantAPI
API referenceEquipment

Get a piece of equipment

One piece of equipment, with its calibration and maintenance due dates.

GET/api/v1/equipment/{id}
Scope read:equipment

Path parameters

NameTypeRequiredDescription
idstring (uuid)YesThe record's id.

Example

curl https://app.xplantpro.com/api/v1/equipment/8b0d2f4a-6c8e-4a0b-8d2f-4a6c8e0b2d4f \
  -H "Authorization: Bearer $XPLANT_API_KEY"

Response

200 with { "ok": true, "data": … }. data holds the result.

FieldTypeRequiredDescription
idstring (uuid)Yes—
namestringYes—
categorystringYesThe kind of equipment: balance_scale, autoclave_pressure_cooker, laminar_flow_hood, still_air_box, incubator, light_rack, fridge_freezer, ph_ec_meter, microscope, label_printer, other.
statusstringYesactive, or archived once the lab has retired it.
manufacturerstring | nullYes—
modelstring | nullYes—
serial_numberstring | nullYes—
locationstring | nullYesWhere it is kept, as the lab wrote it.
purchase_datestring | nullYesISO 8601 date.
vendor_urlstring | nullYesA link to the product or supplier page.
notesstring | nullYes—
last_calibrated_atstring | nullYesWhen a calibration schedule was last completed, as an ISO 8601 timestamp.
next_calibration_due_atstring | nullYesThe date the next calibration is due (ISO 8601 date), or null when no calibration schedule is active.
last_maintenance_atstring | nullYesWhen a maintenance schedule was last completed, as an ISO 8601 timestamp.
next_maintenance_due_atstring | nullYesThe date the next preventive maintenance is due (ISO 8601 date), or null when no maintenance schedule is active.
created_atstring | nullYes—
updated_atstring | nullYes—
Response
{
  "ok": true,
  "data": {
    "id": "8c2f4e61-5a3b-4d7e-9b10-3e6a2c9d4f18",
    "name": "Autoclave 2",
    "category": "autoclave_pressure_cooker",
    "status": "active",
    "manufacturer": "Example Instruments",
    "model": "AC-40",
    "serial_number": "AC40-00172",
    "location": "Media room",
    "purchase_date": "2025-03-14",
    "vendor_url": null,
    "notes": null,
    "last_calibrated_at": "2026-06-02T08:30:00.000Z",
    "next_calibration_due_at": "2026-12-02",
    "last_maintenance_at": null,
    "next_maintenance_due_at": null,
    "created_at": "2025-03-20T10:04:11.000Z",
    "updated_at": "2026-06-02T08:31:40.000Z"
  }
}
Response headerMeaning
X-Request-IdIdentifies this request. Include it when you contact support.

Errors

StatusCodeWhen
401UNAUTHORIZEDThe key is missing, malformed or revoked, or its owner is no longer a member of the workspace.
402PAID_PLAN_REQUIREDThe workspace's plan does not include the API. The full API is included with xPlant+ Teams and Enterprise; on Hobby and Pro Lab, keys can connect devices only.
403FORBIDDENThe key lacks a scope this operation requires, or its owner's current role in the workspace cannot use it — a key never does more than its owner can in xPlant. error names the scope, and for a role, the role it needs.
403DEVICE_TOKEN_NOT_ACCEPTEDA device token was sent; this operation needs a workspace API key.
404NOT_FOUNDNo record with this id exists in the key's workspace.
429RATE_LIMIT_EXCEEDEDToo many requests for this key, device token or workspace. Wait Retry-After seconds.
500LAB_EQUIPMENT_QUERY_FAILEDThe equipment could not be read. Retry later.

Branch on code, never on the error text. See Errors.

On this page