Skip to main content

Compliance & Sign-offs

Capture digital sign-offs on completed work orders and download signed maintenance completion certificates. All endpoints are authenticated with a Bearer JWT (see Authentication).

Endpoints

MethodPathDescription
POST/api/v1/work-orders/{work_order_id}/signoffsDigitally sign a completed work order
GET/api/v1/work-orders/{work_order_id}/signoffsList sign-offs for a work order
GET/api/v1/work-orders/{work_order_id}/signoffs/{signoff_id}/verifyVerify a sign-off is unaltered
GET/api/v1/work-orders/{work_order_id}/certificateDownload a PDF completion certificate

See Work Orders for managing the work orders themselves.

Sign off a work order

POST /api/v1/work-orders/{work_order_id}/signoffs

Signing requires re-entering your current password to confirm your identity. The work order must already be in a completed state.

{
"password": "your-current-password"
}

Response:

{
"id": "...",
"work_order_id": "...",
"signed_by": "USER_UUID",
"signer_name": "Jane Doe",
"signer_role": "operator",
"signature_hash": "…",
"signed_at": "2026-08-05T15:00:00Z",
"created_at": "2026-08-05T15:00:00Z"
}

Common error responses:

StatusMeaning
403The supplied password was incorrect
404Work order (or sign-off) not found
422Work order is not completed, or the maximum number of sign-offs has been reached

List sign-offs

GET /api/v1/work-orders/{work_order_id}/signoffs

{
"items": [
{ "id": "...", "signer_name": "Jane Doe", "signer_role": "operator", "signed_at": "2026-08-05T15:00:00Z" }
],
"total": 1
}

Verify a sign-off

GET /api/v1/work-orders/{work_order_id}/signoffs/{signoff_id}/verify

Confirms that a sign-off record has not been altered since it was created.

{
"signoff_id": "...",
"is_valid": true,
"detail": "Signature is valid."
}

Download a certificate

GET /api/v1/work-orders/{work_order_id}/certificate

Returns a PDF maintenance completion certificate for a signed work order (Content-Type: application/pdf).

curl -L https://api.haltless.io/api/v1/work-orders/WORK_ORDER_ID/certificate \
-H "Authorization: Bearer YOUR_TOKEN" \
-o certificate.pdf