Poll for new & changed job requests (sync feed)
listJobRequestChangesPoll for new and changed job requests (work orders) to keep your CRM or field-service tool in sync. Returns state changes since the given cursor, ordered oldest-first.
Instructions
Poll for new & changed job requests (sync feed)
Keep an external system (your CRM, ERP or field-service tool) in sync with bookings WITHOUT re-listing everything: returns the job requests (work orders) whose state changed (created, status transition, reschedule, soft-delete/archive) at or after the since cursor, ordered oldest-change-first (updated_at ASC).
How to use it: (1) On your first poll OMIT since — the server primes the cursor at "now", returns no items and a next_since. (2) Store next_since and pass it as since on the next poll. (3) Apply each returned item to your store by UPSERTING on id (the server re-scans a ~5s safety window, so the same job may appear again — never blindly append). (4) If has_more is true the page filled to limit and more changes are already waiting — poll again immediately; otherwise wait your normal interval (e.g. 5–15s).
This is NOT pagination — it is a time-keyed change feed. Use the paginated GET /job-requests for the initial bulk load, then this endpoint to stay live. Filters (status_keys, customer_id, …) narrow the feed to the slice you care about.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max changes per poll (default 15, max 1000). If the page fills, has_more=true. | |
| since | No | RFC3339 cursor from the prior response's next_since. OMIT on the first poll to prime the cursor at server-now. | |
| priority | No | Priority filter (p0|p1|p2|p3) | |
| customer_id | No | Only changes to this customer's jobs (UUID) | |
| status_keys | No | Comma-separated status slugs — only surface changes to jobs in these statuses | |
| scheduled_to | No | Filter to (YYYY-MM-DD = end of that day in the business timezone, or RFC3339), exclusive | |
| technician_id | No | Only changes to jobs assigned to this technician (UUID) | |
| scheduled_from | No | Filter from (YYYY-MM-DD = start of that day in the business timezone, or RFC3339); range is [from, to) |