Webhook events
Each event an endpoint can subscribe to, with an example of the body it receives. How deliveries are signed, retried and switched off is on the webhooks page.
An endpoint subscribes to a list of these types, or to all of them. GET /v1/webhook-event-types returns the same list. Every body has the same envelope; data.object is a short summary of the record and data.url is where to read the rest.
| Event | Sent when |
|---|---|
calendar_event.created | A calendar event was created. |
calendar_event.deleted | A calendar event was deleted. |
calendar_event.updated | A calendar event was moved or changed. |
contact.created | A new contact was added to a job. |
estimate.created | An estimate was created. |
estimate.declined | A customer declined an estimate. |
estimate.sent | An estimate was emailed to a customer. |
estimate.signed | A customer signed or accepted an estimate. |
estimate.status_changed | An estimate moved to another status. |
file.uploaded | A file was uploaded to a job. |
invoice.created | An invoice was created, by hand or from a payment schedule. |
invoice.sent | An invoice was emailed to a customer. |
invoice.status_changed | An invoice moved to another status. |
job.converted | An opportunity was won and became a job. |
job.created | A lead, opportunity or job was created, in the app, through the API or from a website form. |
job.lost | A lead or opportunity was marked lost. |
job.status_changed | A job moved to another main status or phase. |
message.created | Someone posted a note on a job's message thread. |
payment.received | A payment was received. |
ping | Sent when you press Send test, to check an endpoint. |
purchase_order.created | A purchase order was created. |
purchase_order.status_changed | A purchase order moved to another status. |
task.completed | A task was marked complete. |
task.created | A task was created. |
timeline.date_confirmed | A job date was confirmed. |
work_order.completed | A work order reached a complete status. |
work_order.created | A work order was created. |
work_order.status_changed | A work order moved to another status. |
calendar_event.created
A calendar event was created.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"all_day": true,
"end": "2026-11-18",
"id": "8f9a0b1c-2d3e-4f4a-9b5c-6d7e8f9a0b1c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"start": "2026-11-16",
"title": "Install crew on site",
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/calendar/events/8f9a0b1c-2d3e-4f4a-9b5c-6d7e8f9a0b1c"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "calendar_event.created"
} calendar_event.deleted
A calendar event was deleted.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"all_day": true,
"end": "2026-11-18",
"id": "8f9a0b1c-2d3e-4f4a-9b5c-6d7e8f9a0b1c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"start": "2026-11-16",
"title": "Install crew on site",
"updated_at": "2026-10-06T15:12:00Z"
}
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "calendar_event.deleted"
} calendar_event.updated
A calendar event was moved or changed.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"all_day": true,
"end": "2026-11-18",
"id": "8f9a0b1c-2d3e-4f4a-9b5c-6d7e8f9a0b1c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"start": "2026-11-16",
"title": "Install crew on site",
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/calendar/events/8f9a0b1c-2d3e-4f4a-9b5c-6d7e8f9a0b1c"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "calendar_event.updated"
} contact.created
A new contact was added to a job.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"email": "dana.whitfield@example.com",
"first_name": "Dana",
"id": "b2d4e6f8-1a3c-5e7b-9d0f-2a4c6e8b0d1f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"last_name": "Whitfield"
},
"url": "https://api.woodsystems.com/v1/contacts/b2d4e6f8-1a3c-5e7b-9d0f-2a4c6e8b0d1f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "contact.created"
} estimate.created
An estimate was created.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen cabinets",
"reference": "E60",
"status": {
"id": "1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
"name": "Sent"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/estimates/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "estimate.created"
} estimate.declined
A customer declined an estimate.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen cabinets",
"reference": "E60",
"status": {
"id": "1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
"name": "Sent"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/estimates/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "estimate.declined"
} estimate.sent
An estimate was emailed to a customer.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen cabinets",
"reference": "E60",
"status": {
"id": "1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
"name": "Sent"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/estimates/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "estimate.sent"
} estimate.signed
A customer signed or accepted an estimate.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen cabinets",
"reference": "E60",
"status": {
"id": "1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
"name": "Sent"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/estimates/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "estimate.signed"
} estimate.status_changed
An estimate moved to another status.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen cabinets",
"reference": "E60",
"status": {
"id": "1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
"name": "Sent"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"previous_attributes": {
"status": {
"id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Backlog"
}
},
"url": "https://api.woodsystems.com/v1/estimates/0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "estimate.status_changed"
} file.uploaded
A file was uploaded to a job.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"content_type": "application/pdf",
"id": "3e4f5a6b-7c8d-4e9f-8a0b-1c2d3e4f5a6b",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "site-measure.pdf",
"size_bytes": 482113
},
"url": "https://api.woodsystems.com/v1/files/3e4f5a6b-7c8d-4e9f-8a0b-1c2d3e4f5a6b"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "file.uploaded"
} invoice.created
An invoice was created, by hand or from a payment schedule.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Deposit",
"reference": "I41",
"status": {
"id": "3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d",
"name": "Open"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/invoices/2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "invoice.created"
} invoice.sent
An invoice was emailed to a customer.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Deposit",
"reference": "I41",
"status": {
"id": "3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d",
"name": "Open"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/invoices/2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "invoice.sent"
} invoice.status_changed
An invoice moved to another status.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Deposit",
"reference": "I41",
"status": {
"id": "3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d",
"name": "Open"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"previous_attributes": {
"status": {
"id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Backlog"
}
},
"url": "https://api.woodsystems.com/v1/invoices/2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "invoice.status_changed"
} job.converted
An opportunity was won and became a job.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Whitfield kitchen remodel",
"reference": "J1042",
"stage": "job",
"status": {
"id": "7a1e2f30-9c4d-4b5e-8f60-1a2b3c4d5e6f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/jobs/3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "job.converted"
} job.created
A lead, opportunity or job was created, in the app, through the API or from a website form.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Whitfield kitchen remodel",
"reference": "J1042",
"stage": "job",
"status": {
"id": "7a1e2f30-9c4d-4b5e-8f60-1a2b3c4d5e6f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/jobs/3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "job.created"
} job.lost
A lead or opportunity was marked lost.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Whitfield kitchen remodel",
"reference": "J1042",
"stage": "job",
"status": {
"id": "7a1e2f30-9c4d-4b5e-8f60-1a2b3c4d5e6f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/jobs/3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "job.lost"
} job.status_changed
A job moved to another main status or phase.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Whitfield kitchen remodel",
"reference": "J1042",
"stage": "job",
"status": {
"id": "7a1e2f30-9c4d-4b5e-8f60-1a2b3c4d5e6f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"previous_attributes": {
"status": {
"id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Backlog"
}
},
"url": "https://api.woodsystems.com/v1/jobs/3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "job.status_changed"
} message.created
Someone posted a note on a job's message thread.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"author_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9",
"content": "Hardware arrived, starting Monday.",
"id": "4f5a6b7c-8d9e-4f0a-9b1c-2d3e4f5a6b7c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d"
}
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "message.created"
} payment.received
A payment was received.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "4b5c6d7e-8f9a-4b0c-9d1e-2f3a4b5c6d7e",
"invoice_id": "2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"received_at": "2026-10-06T15:12:00Z",
"status": {
"id": "5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f",
"name": "Received"
}
},
"url": "https://api.woodsystems.com/v1/payments/4b5c6d7e-8f9a-4b0c-9d1e-2f3a4b5c6d7e"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "payment.received"
} ping
Sent when you press Send test, to check an endpoint.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"endpoint_id": "6d1f0a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b"
}
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "ping"
} purchase_order.created
A purchase order was created.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "1c2d3e4f-5a6b-4c7d-8e8f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Plywood",
"reference": "PO118",
"status": "submitted",
"updated_at": "2026-10-06T15:12:00Z",
"vendor_id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a"
},
"url": "https://api.woodsystems.com/v1/purchase-orders/1c2d3e4f-5a6b-4c7d-8e8f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "purchase_order.created"
} purchase_order.status_changed
A purchase order moved to another status.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "1c2d3e4f-5a6b-4c7d-8e8f-9a0b1c2d3e4f",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Plywood",
"reference": "PO118",
"status": "submitted",
"updated_at": "2026-10-06T15:12:00Z",
"vendor_id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a"
},
"previous_attributes": {
"status": {
"id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Backlog"
}
},
"url": "https://api.woodsystems.com/v1/purchase-orders/1c2d3e4f-5a6b-4c7d-8e8f-9a0b1c2d3e4f"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "purchase_order.status_changed"
} task.completed
A task was marked complete.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"assignee_ids": [
"e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
],
"due_date": "2026-10-10",
"id": "6d7e8f9a-0b1c-4d2e-9f3a-4b5c6d7e8f9a",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"status": {
"id": "7e8f9a0b-1c2d-4e3f-8a4b-5c6d7e8f9a0b",
"name": "Complete"
},
"title": "Order hardware",
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/tasks/6d7e8f9a-0b1c-4d2e-9f3a-4b5c6d7e8f9a"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "task.completed"
} task.created
A task was created.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"assignee_ids": [
"e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
],
"due_date": "2026-10-10",
"id": "6d7e8f9a-0b1c-4d2e-9f3a-4b5c6d7e8f9a",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"status": {
"id": "7e8f9a0b-1c2d-4e3f-8a4b-5c6d7e8f9a0b",
"name": "Complete"
},
"title": "Order hardware",
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/tasks/6d7e8f9a-0b1c-4d2e-9f3a-4b5c6d7e8f9a"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "task.created"
} timeline.date_confirmed
A job date was confirmed.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"date": "2026-11-16",
"definition_id": "5a6b7c8d-9e0f-4a1b-8c2d-3e4f5a6b7c8d",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"key": "install_start",
"label": "Install start"
}
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "timeline.date_confirmed"
} work_order.completed
A work order reached a complete status.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen boxes",
"status": {
"id": "0b1c2d3e-4f5a-4b6c-9d7e-8f9a0b1c2d3e",
"name": "Cutting"
},
"type": {
"id": "3c9d1e2f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/work-orders/9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "work_order.completed"
} work_order.created
A work order was created.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen boxes",
"status": {
"id": "0b1c2d3e-4f5a-4b6c-9d7e-8f9a0b1c2d3e",
"name": "Cutting"
},
"type": {
"id": "3c9d1e2f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"url": "https://api.woodsystems.com/v1/work-orders/9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "work_order.created"
} work_order.status_changed
A work order moved to another status.
{
"api_version": "v1",
"created_at": "2026-10-06T15:12:00Z",
"data": {
"object": {
"id": "9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d",
"job_id": "3f9a1c77-5e3b-4a02-9d8e-2c7b6a1f0e4d",
"name": "Kitchen boxes",
"status": {
"id": "0b1c2d3e-4f5a-4b6c-9d7e-8f9a0b1c2d3e",
"name": "Cutting"
},
"type": {
"id": "3c9d1e2f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Production"
},
"updated_at": "2026-10-06T15:12:00Z"
},
"previous_attributes": {
"status": {
"id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Backlog"
}
},
"url": "https://api.woodsystems.com/v1/work-orders/9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d"
},
"id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"livemode": true,
"object": "event",
"source": {
"kind": "ui",
"user_id": "e1d2c3b4-a596-4877-8695-a4b3c2d1e0f9"
},
"tenant_id": "5c8d2e1f-3a4b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "work_order.status_changed"
}