solarOSsolarOS Docs

List Service Appointments

Lists Service Appointments tied to public API-accessible project-contained Work Orders. Supports Work Order, status, Team Member, and interval-overlap filters. Required scope: service_appointments:read.

GET
/service-appointments

Lists Service Appointments tied to public API-accessible project-contained Work Orders. Supports Work Order, status, Team Member, and interval-overlap filters. Required scope: service_appointments:read.

Authorization

Authorization<token>

Organization API key. Format: Bearer sk_live_...

In: header

Query Parameters

limit?integer

Maximum records to return. Defaults to 50 and is capped at 100.

Range1 <= value <= 100
Default50
cursor?string

Opaque record cursor from the previous response meta.nextCursor value.

sortDir?string

Sort direction. Defaults to desc.

Default"desc"

Value in

  • "asc"
  • "desc"
workOrderId?string

Filter by containing Work Order id.

status?string

Filter by exact operational status.

Value in

  • "SCHEDULED"
  • "DISPATCHED"
  • "EN_ROUTE"
  • "IN_PROGRESS"
  • "COMPLETED"
  • "CANCELLED"
  • "CANNOT_COMPLETE"
teamMemberId?string

Filter to appointments assigned to this Team Member.

dateStart?string

ISO date-time lower bound. Returns appointments whose scheduled interval ends after this instant.

Formatdate-time
dateEnd?string

ISO date-time upper bound. Returns appointments whose scheduled interval starts before this instant.

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/service-appointments"
{  "data": [    {}  ],  "meta": {    "nextCursor": "string",    "hasMore": true,    "requestId": "string",    "version": "v1",    "timestamp": "2019-08-24T14:15:22Z",    "rateLimit": {      "limit": 0,      "remaining": 0,      "reset": 0    }  }}