v1

latestOpenAPI 3.1.0Proprietary2026-07-134247109.0 KB
Webhooks

shopVOX event delivered to your endpoint

shopVOX POSTs this payload to each active webhook endpoint you configure in the app (Account Settings -> Webhook Endpoints). Verify authenticity with webhook_token against the Webhook key shown in Account Settings.

Plan: Webhooks require the Paid API add-on - delivery is skipped for accounts without it.

Supported events (note the delete action is destroyed, not deleted, and sales orders are emitted as work_order:*):

  • company:created, company:updated, company:destroyed
  • invoice:created, invoice:updated, invoice:destroyed
  • job:created, job:updated, job:destroyed
  • job_step:changed
  • quote:created, quote:updated, quote:destroyed
  • work_order:created, work_order:updated, work_order:destroyed

Your response controls retries

  • 200 (or any other success) - acknowledged, done.
  • 408, 500, 502, 503, 504 - shopVOX retries (up to 5 times).
  • 410 - shopVOX removes (deactivates) the endpoint.
  • 400, 401, 403, 404, 422 - treated as temporary; the endpoint is not deactivated and the payload is not retried.
  • Any other 4xx/5xx code - shopVOX deactivates the endpoint; re-enable it after fixing.
postWebhookevent

Payload

event_objectstring required

Object name, e.g. job, company, invoice.

event_actionstring required

Action, e.g. created, updated, destroyed.

timestampinteger required

Unix timestamp (seconds) when the payload was sent.

webhook_tokenstring required

Token to verify the payload came from shopVOX.

Example payload

{
  "event_object": "job",
  "event_action": "created",
  "timestamp": 1619685799
}

Response

Acknowledged.