SIGNALS Documentation
API Reference

Equipment Test Results

Perform-only equipment test execution with compatibility aliases and derived outcomes.

EquipmentTest Results API

An equipment_test result records one execution of an equipment_test against an asset. A single PerformEquipmentTest action captures every task answer as a snapshot that survives later edits to the definition, derives the overall outcome, and accepts attachments. The write path is perform-only — there is no in-place update; a follow-up execution creates a new result row.

Responses are compatibility aliases: results expose task_list_results, a passed boolean, an inspection_at timestamp, created_by, and description (an alias of notes). These aliases are also accepted as Ransack filter keys.

Endpoints

Method URL Description
GET /api/v1/equipment_test_results List equipment_test results
POST /api/v1/equipment_test_results Perform an equipment_test (record a result)
GET /api/v1/equipment_test_results/{equipment_test_result} Show a result
DELETE /api/v1/equipment_test_results/{equipment_test_result} Delete a result (hard delete, 204)

There is no PUT/PATCH — equipment_test results are immutable once recorded.

Authentication

Requires equipment_test-results:read (GET) or equipment_test-results:write (POST/DELETE) with equipment_test-results.view, equipment_test-results.create, and equipment_test-results.delete permissions. Access is warehouse-scoped through EquipmentTestResultPolicy. Note that execution uses its own abilities, distinct from the equipment_tests:* abilities that govern definitions.

Perform an equipment_test

POST /api/v1/equipment_test_results

Supply the equipment_test, the asset, and a per-task answer payload. Outcome derivation:

Scenario Result outcome
All required tasks answered and pass pass (optional failures ignored)
Any required task fails fail
A required task is unanswered incomplete
A measurement is outside its min/max bounds Task fails; result fails if the task is required

A failing result on a definition flagged for auto-repair raises a repair through the shared raise path; a certifying equipment_test's earliest passing expiry feeds the asset's certification-expiry rollup. Boolean-false answers are recorded and evaluated correctly (not treated as unanswered).

List results

GET /api/v1/equipment_test_results

Filter aliases include q[passed_eq], q[inspection_at_gteq], q[description_cont], and q[created_by_eq]. Includes: ?include=items,equipment_test,asset (snake_case aliases accepted).

Response shape

EquipmentTestResultData carries task_list_results (item snapshots with value and field type), the compatibility aliases above, and lazy items. Collection key: equipment_test_results; singular: equipment_test_result.

EquipmentTest certificates

Generate a compliance certificate for a passed certifying result via POST /api/v1/documents/generate with documentable_type=equipment_test_result (and an inspection_certificate template). Requires documents:write / documents.create. See Documents API.

Webhooks

equipment_test_result.*, plus equipment_test.completed / equipment_test.failed — see Webhooks.