Resource Scheduler API¶
Every legacy endpoint in this category and its replacement in the new Oneserve API (where one exists).
| Legacy | Status | Replacement | Notes |
|---|---|---|---|
addAppointment |
Replaced | POST /classic/appointments |
POST /classic/appointments is a compatibility wrapper around the legacy endpoint. It preserves full legacy semantics (pooled resourceId="" bookings, zoneCriteria, allowSecondary) and the same body/response shape, but is served under the new authentication (JWT). POST /v1/appointments exists but requires resourceId and does not support pooled booking. Migrate to the classic wrapper now; the v1 endpoint will be the long-term home once it gains pooled support. |
addAppointmentV1 |
Replaced | POST /v1/appointments |
Legacy V1 was fixed-appointment-only (resourceId mandatory). Payload structure has changed; consult the new request schema. |
appointments |
Replaced | GET /v1/appointments |
Legacy GET /rest/rs/resource/{resourceRef}/appointments/{startDate}/{endDate} listed appointments for a single resource in a date range. The new endpoint filters by clientRef (required) only - no per-resource or date-range query parameters. Equivalent filtering not available. |
appointmentsV10 |
Replaced | GET /v1/appointments |
Same shape as legacy appointments - lists appointments for a resource in a date range. The new endpoint accepts clientRef only and does not support resource/date-range filtering. Response payload structure also differs significantly. |
availableAppointmentSlots |
Replaced | GET /classic/appointments/slots/{jobRef}/{startDate} |
GET /classic/appointments/slots/{jobRef}/{startDate} is a compatibility wrapper around the legacy GET /rest/availability/getAppSlots/.... Slot-availability discovery for pooled scheduling is preserved with the same response shape, served under the new authentication. Accepts optional teamId, numberOfDays, allowSecondary, zoneCriteria query params. |
cancelAppointment |
Replaced | PATCH /v1/appointments/{id} |
Two-call migration: (see the endpoint page for the full call sequence) The acting user (legacy notedId path param) is now implicit from the JWT — record any noted-by context as the note body text on step 2. |
completeAppointment |
Replaced | PATCH /v1/appointments/{id} |
Two-call migration: (see the endpoint page for the full call sequence) actualEndDate replaces the legacy URL-positional {cDate}. The noted-by user (legacy notedId) is now implicit from the JWT — capture any human context in the note body on step 2. |
addAppointmentImage |
No replacement | — | No direct new-API equivalent. |
appointmentCounts |
No replacement | — | No direct new-API equivalent. |
bulkAppointmentBooker |
No replacement | — | No direct new-API equivalent. |
bulkAppointmentBookerV1 |
No replacement | — | No direct new-API equivalent. |