---
title: "Get availability by id"
method: GET
path: "/availabilities/{availabilitiesId}"
tags: ["availabilities"]
---

# Get availability by id

`GET /availabilities/{availabilitiesId}`

## Path parameters

- `availabilityId` string, required

## Response `200`

Availability

- AvailabilitySchedulerResponse — An Availability represents an open time slot for a provider, facility, or appointment type that a patient can book through Luma's self-scheduling pages. It tracks the slot's date, duration, and status (such as available, offered, booked-pending, or booked) as it moves through the offer and booking workflow, and links to related records like the provider, facility, appointment type, and any resulting offer or appointment.
  - `_id` string — Luma's internal ID of an object.
  - `user` string — The ID of the root account user.
  - `deleted` 0 | 1 — Flag for logical deletion where 1 means deleted.
  - `createdBy` string — The ID of the user who created this object.
  - `updatedBy` string — The ID of the user who updated this object.
  - `createdAt` string, date-time — The date/time when this object was created.
  - `updatedAt` string, date-time — The date/time when this object was updated.
  - `filters` Filters — Object containing the filters with appointmentTypes, facilities, providers
    - `appointmentTypes` string[] — List of appointmentTypes' IDs
    - `facilities` string[] — List of facilities' IDs
    - `providers` string[] — List of providers' IDs
  - `provider` string — Either the ID or a populated object referring to the provider/doctor for whom this scheduler availability is. Depending on the queryParameter `populate`, the ID might become an object containing: `{ _id, name, lastname, firstname }`, all strings.
  - `facility` string — Either the ID or a populated object referring to the place/facility where a scheduler availability should take place. Depending on the queryParameter `populate`, the ID might become an object containing: `{ _id, name, address, city, state, postcode, phone }`, all strings.
  - `appointmentType` string — The ID of an `appointmentType` describing the kind of appointment that might be scheduled for this availability.
  - `date` string, date-time — The exact *start* date/time of the availability, in ISO format, including timezone information. Example: `2022-09-09T23:59:59-03:00`.
  - `duration` integer — The duration of the availability, in minutes. Added to the `date`, you reach the `endDate`.
  - `endDate` string, date-time — The exact *end* date/time of the availability, in ISO format, including timezone information. Example: `2022-09-09T23:59:59-03:00`. Calculated by adding the `duration` (in minutes) to the start `date`.
  - `externalId` ExternalId
    - `source` 'gcalendar' | 'successehs' | 'drchrono' | 'dentrix' | 'webpt' | 'theraoffice' | 'mi7' | 'practicefusion' | 'advancedmd' | 'acomrapidpm' | 'kareo' | 'nextech' | 'mwtherapy' | 'clinicient' | 'carecloud' | 'eclinicalmobile' | 'duxware' | 'labretriever' | 'optimispt' | 'referral' | 'recall' | 'allscriptspm' | 'lytec' | 'brightree' | 'fullslate' | 'nuemd' | 'centricityps' | 'officeally' | 'greenwayintergy' | 'compulink' | 'adspm' | 'dsnpm' | 'lumamock' | 'medicalmastermind' | 'meditouch' | 'healthnautica' | 'ezemrx' | 'hl7' | 'amazingcharts' | 'greenwayprimesuite' | 'raintree' | 'athenahealth' | 'revflow' | 'eclinicalworks10e' | 'hl7pickup' | 'mindbody' | 'eclinicalworkssql' | 'nextgen' | 'practiceperfect' | 'avimark' | 'clinix' | 'keymedical' | 'mdoffice' | 'webedoctor' | 'emapm' | 'medinformatix' | 'imsgo' | 'emds' | 'allscriptsunity' | 'medevolve' | 'caretracker' | 'clearpractice' | 'valant' | 'micromd' | 'systemedx' | 'medicalmaster' | 'athenamdp' | 'gmed' | 'roche' | 'onetouch' | 'somnoware' | 'managementplus' | 'lumacare' | 'nextechfhir' | 'curemd' | 'epic' | 'phoenixortho' | 'ezderm' | 'ggastromobile' | 'epicconfirmationpickup' | 'cerner' | 'allmeds' | 'oncoemrfilepickup' | 'imedicware' | 'modmedfhir' | 'clinux' | 'acuityscheduling' | 'medstreaming' | 'isalus' | 'meditechexpanse' | 'openemr' | 'genericfhir' | 'nextechpracticeplus' | 'sms' | 'voice' | 'email' | 'none' — externalId.source
    - `value` string — externalId.value
  - `status` object — The status of the availability.
  - `offer` string — The ID of an `offer` made to a patient to schedule an appointment at an available date/time. If the patient scheduled the appointment themselves, through a scheduler page on the web, then the `availability` is marked as `booked-pending`. An `offer` is created behind the scenes as the bridge between Luma and the clinic's EHR system. It serves as a pre-scheduling request. Once the EHR confirms that such date/time is available, then the `appointment` is confirmed/booked, the `availability` is marked as booked, and the `offer` ID is stored on the availability.
  - `locked` boolean — If `true`, then the availability cannot be booked by patients. It is still available for the clinic to book it. This is useful for the clinic to reserve a date/time for a patient who is not yet registered on Luma.

## Other responses

- `401` — Not authenticated
- `403` — Access token does not have the required scope

---

[API](https://skmtc.net/lumahealth/apis/rest-service.md) · [All operations](https://skmtc.net/lumahealth/apis/rest-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lumahealth/rest-service/revisions/d3c75c2a2f1d/schema)
