Webhooks
Subscribe to job and invoice events from Settings → Webhooks.
Event types
job.createdjob.status_changeddvi.completedquote.approvedinvoice.paid
Payload shape
{
"event": "job.status_changed",
"data": {
"job_id": "JOB_ID",
"from": "dvi",
"to": "quote"
},
"timestamp": "2026-06-12T10:00:00Z"
}
Verifying signatures
Each request includes an X-GarageOS-Signature header — an HMAC-SHA256
of the raw request body, signed with your webhook secret.
echo -n "$BODY" | openssl dgst -sha256 -hmac "$WEBHOOK_SECRET"
Compare the result to the header value to verify the request came from TheGarageOS.