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
| Method | Path | Description |
|---|---|---|
POST | /api/v1/work-orders/{work_order_id}/signoffs | Digitally sign a completed work order |
GET | /api/v1/work-orders/{work_order_id}/signoffs | List sign-offs for a work order |
GET | /api/v1/work-orders/{work_order_id}/signoffs/{signoff_id}/verify | Verify a sign-off is unaltered |
GET | /api/v1/work-orders/{work_order_id}/certificate | Download 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:
| Status | Meaning |
|---|---|
403 | The supplied password was incorrect |
404 | Work order (or sign-off) not found |
422 | Work 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