SIGNALS Documentation
API Reference

Equipment Tests

Equipment test definitions with typed tasks, schedules, and the task_list compatibility projection.

EquipmentTests API

An equipment test is a reusable definition — a named, ordered list of typed tasks with a time and/or usage schedule, optionally assigned to catalogue-items. Tasks can be pass/fail, measurement (with min/max bounds), check, choice (against a list-entries list), or free text. EquipmentTests drive due computation, certification expiry, and the dispatch enforcement gate.

For API compatibility every response carries a flat task_list projection rebuilt from the normalised task rows, with each task coded by field_type. Full typed task rows are available via ?include=items.

Endpoints

Method URL Description
GET /api/v1/equipment-tests List equipment_test definitions
POST /api/v1/equipment-tests Create an equipment_test
GET /api/v1/equipment-tests/{equipment_test} Show an equipment_test
PUT/PATCH /api/v1/equipment-tests/{equipment_test} Update an equipment_test
DELETE /api/v1/equipment-tests/{equipment_test} Delete an equipment_test (hard delete, 204)

Authentication

Requires equipment_tests:read (GET) or equipment_tests:write (POST/PUT/PATCH/DELETE) with equipment_tests.view, equipment_tests.create, equipment_tests.update, and equipment_tests.delete permissions as applicable.

List equipment-tests

GET /api/v1/equipment-tests

Ransack filters cover name, type, certification, and schedule fields. Includes: ?include=items,catalogue items. live filters apply with ?filter_id=.

Create / update

Task rows are supplied as a typed items[] array (name, task type, bounds, list reference, order). Schedules require at least one of a time schedule (schedule_type + schedule_interval) or a usage schedule (usage_metric_id + usage_threshold); both may be set, in which case due computation uses whichever falls first.

CatalogueItem assignment can be driven from either side — catalogue_item_ids on the equipment_test payload, or the writable assigned_equipment_test_ids array on the catalogue item API.

task_list field types

Task type field_type
text 0 (String)
measurement 1 (Number)
pass_fail, check 2 (Boolean)
choice 3 (List design)

Response shape

EquipmentTestData carries task_list, a human schedule_summary, and lazy items/catalogue items. Collection key: equipment_tests; singular: equipment_test.

Webhooks

equipment_test.created, equipment_test.updated, equipment_test.deleted, plus equipment_test.completed / equipment_test.failed on execution — see Webhooks.