Skip to content

Returns a list of schedule openings based on filter criteria. But Provider Hours MUST be specified before calling this API.

Request

Returns available openings for a location and date range (provider hours, schedule items, templates).

Required in filter: location.id, startDate, endDate (YYYY-MM-DD), span ≤ 14 days. Do not combine scheduleTemplate.id with booking.type or reason.id. Invalid mixes or missing keys return 400.

MCP agents: If you need a location id, call get_locations and choose from data (id, name). The response data array is one row per provider + operatory + day, each with slots (start / end in the location time zone; optional template metadata may appear). Omitting provider / operatory filters can return many rows—narrow with provider.id / operatory.id in filter, or pass responseFields to return fewer fields per row. Use ignoreProviderHours when you want location hours for every selected provider instead of provider-hour records (see that parameter).

Security
bearerAuth or oAuthSandbox
Query
responseFieldsstring

A URL-encoded, comma-delimited list of field names to include in the response data. Additionally, the following values are also supported:

ALL - Returns all field names.

filterstringrequired

Filter clauses for schedule openings. General grammar and operators: the Public API filter documentation.

Required: location.id, startDate, and endDate (YYYY-MM-DD) with span ≤ 14 days. Do not combine scheduleTemplate.id with booking.type or reason.id.

Keys and operators (this endpoint)

  • location.id (==)
  • startDate (==)
  • endDate (==)
  • operatory.id (==, ->)
  • provider.id (==, ->)
  • minOpeningLength (==)
  • booking.type (==, ->)
  • reason.id (==, ->)
  • scheduleTemplate.id (==, ->)
  • ignoreProviderHours (==)

Ordering: Results are grouped by provider, operatory, and day; use responseFields to trim payload when exploring wide queries.

Examples: location.id==123,startDate==2026-04-07,endDate==2026-04-08, provider.id->[1,2], operatory.id==456.

Headers
Organization-IDstringrequired

Organization context for the request. Must match the organization authorized by the access token.

Example:1006
curl -i -X GET \
  'https://papidocs.hs1api.com/_mock/publicapi/api-appointment-management/v1/scheduleopenings?responseFields=string&filter=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Organization-ID: 1006'

Responses

The request was successful

Bodyapplication/json
dataArray of objects(ScheduleOpeningsV1)
Example:
[ {} ]
warningsArray of objects(Error)
Example:
[ { "code": "VALIDATION_ERROR", "title": "Validation Failed", "description": "The provided data does not meet the required validation rules.", "source": "request.body" } ]
errorsArray of objects(Error)
Example:
[ { "code": "ERR101", "title": "Example Title" } ]
Response
{ "data": [ {} ], "warnings": [ { … } ] }