Added

OnSched 3.13.0 - external unavailability ingest and safer appointment lists

API

  • GET /v3/unavailability?syncExternal=true: Ingest connected Google or Outlook busy events for resolved resources before returning calendar rows. Default false/omit keeps today's list behavior, including stored external blocks that already match scope filters. Unlike GET /v3/availability, this flag does not hide stored external busy when false.
  • Deprecated alias: GET /v3/unavailability/calendar accepts the same parameter.

Appointment list safeguards

  • Bounded offset pagination: GET /v3/appointments rejects requests where (page - 1) * limit exceeds 10,000. Use date and entity filters to partition larger appointment histories.
  • Company rate budget: By default, appointment lists allow a burst of 10 requests, then refill at one request per second. Rate-limit rejections return 429 with Retry-After.
  • Fair concurrent request protection: Each API instance caps active appointment-list work globally and per Company. A small bounded queue absorbs brief overlap without increasing active database work; full or expired queues return 429 with Retry-After.
  • Safe page walks: Request pages sequentially, stop on empty data or when page * limit >= count, and retry the same page after a 429 delay.