Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/drchrono-availability-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Drchrono Availability API
version: v4 - Hunt Valley
x-logo:
url: https://www.drchrono.com/site_media/images/logos/drchrono-black-wpadding.png
altText: DrChrono Logo
description: 'Operations tagged Availability across 2 of this provider''s published API definitions: drchrono-rest-api-openapi-schema.json, drchrono-rest-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://app.drchrono.com
tags:
- name: Availability
paths:
/api/availability:
get:
responses:
'200':
content:
application/json:
schema:
oneOf:
- type: object
description: Availability for a date range
properties:
dates:
items:
type: object
properties:
date:
type: string
description: Date in YYYY-MM-DD format
open_slots:
items:
type: object
properties:
start:
type: string
description: Start time (e.g., "09:00")
end:
type: string
description: End time (e.g., "17:00")
availability:
items:
type: object
properties:
start:
type: string
description: Slot start time (e.g., "09:00")
end:
type: string
description: Slot end time (e.g., "09:30")
type: array
description: List of available slots within the range
type: array
type: array
office:
type: integer
description: Office ID
doctor:
type: integer
description: Doctor ID
exam_room:
type: integer
description: Exam room ID
date_range:
items:
type: string
type: array
description: Array of two date strings [start, end]
duration:
type: integer
description: Slot duration in minutes
- type: object
description: Availability for a single date
properties:
office:
type: integer
description: Office ID
doctor:
type: integer
description: Doctor ID
open_slots:
items:
type: object
properties:
start:
type: string
description: Start time (e.g., "09:00")
end:
type: string
description: End time (e.g., "17:00")
availability:
items:
type: object
properties:
start:
type: string
description: Slot start time (e.g., "09:00")
end:
type: string
description: Slot end time (e.g., "09:30")
type: array
description: List of available slots within the range
type: array
exam_room:
type: integer
description: Exam room ID
duration:
type: integer
description: Slot duration in minutes
date:
type: string
description: Date in YYYY-MM-DD format
description: OK
'405':
content: {}
description: Method Not Allowed
'404':
content: {}
description: Not Found
'403':
content: {}
description: Permission Denied
'401':
content: {}
description: Unauthorized
'400':
content: {}
description: Bad Request
'500':
content: {}
description: Internal Server Error
description: "Retrieve availability slots for the given date and office, doctor, or exam room.\n\nIf the `exam_room` parameter is not specified, the response will include availability for all exam rooms in the payload, grouped by exam room.\n\n**Example 1: Get availability for a single date**\n\nRequest:\n\n```http\nGET /api/availability?date=2026-01-29&office=338939&duration=30\n```\n\nResponse:\n\n```json\n{\n \"duration\": 30,\n \"date\": \"2026-01-29\",\n \"open_slots\": [\n {\n \"start\": \"09:00\",\n \"end\": \"17:00\",\n \"availability\": [\n { \"start\": \"09:00\", \"end\": \"09:30\" },\n { \"start\": \"09:30\", \"end\": \"10:00\" },\n { \"start\": \"10:00\", \"end\": \"10:30\" }\n ]\n }\n ],\n \"office\": 338939\n}\n```\n\n**Example 2: Get availability for a date range**\n\nRequest:\n\n```http\nGET /api/availability?date_range=2026-01-29/2026-01-30&office=338939&duration=30\n```\n\nResponse:\n\n```json\n{\n \"date_range\": [\"2026-01-29\", \"2026-01-30\"],\n \"duration\": 30,\n \"office\": 338939,\n \"dates\": [\n {\n \"date\": \"2026-01-29\",\n \"open_slots\": [\n {\n \"start\": \"09:00\",\n \"end\": \"17:00\",\n \"availability\": [\n { \"start\": \"09:00\", \"end\": \"09:30\" },\n { \"start\": \"09:30\", \"end\": \"10:00\" }\n ]\n }\n ]\n },\n {\n \"date\": \"2026-01-30\",\n \"open_slots\": []\n }\n ]\n}\n```\n\n**Example: Get availability for a specific exam room**\n\nRequest:\n\n```http\nGET /api/availability?date=2026-01-29&office=338939&duration=30&exam_room=2\n```\n\nResponse:\n\n```json\n{\n \"duration\": 30,\n \"date\": \"2026-01-29\",\n \"open_slots\": [\n {\n \"start\": \"09:00\",\n \"end\": \"17:00\",\n \"availability\": [\n { \"start\": \"09:00\", \"end\": \"09:30\" },\n { \"start\": \"09:30\", \"end\": \"10:00\" },\n { \"start\": \"10:00\", \"end\": \"10:30\" }\n ]\n }\n ],\n \"office\": 338939,\n \"exam_room\": 2\n}\n```\n"
parameters:
- schema:
type: integer
description: Office ID.
title: office
required: false
description: Office ID to filter availability.
name: office
in: query
- schema:
type: integer
description: Doctor ID.
title: doctor
required: false
description: Doctor ID to filter availability.
name: doctor
in: query
- schema:
type: string
description: Date string.
title: date
required: false
description: Date for which to retrieve availability (YYYY-MM-DD).
name: date
in: query
- schema:
type: string
description: Date range string.
title: date_range
required: false
description: Date range for which to retrieve availability (YYYY-MM-DD/YYYY-MM-DD).
name: date_range
in: query
- schema:
type: integer
description: Duration in minutes.
title: duration
required: false
description: Duration of the appointment in minutes.
name: duration
in: query
- schema:
type: integer
description: Exam room ID.
title: exam_room
required: false
description: Exam room ID to filter availability. If not specified, availability for all exam rooms will be included.
name: exam_room
in: query
operationId: availability
tags:
- Availability
servers:
- url: https://app.drchrono.com
components:
securitySchemes:
drchrono_oauth2:
type: oauth2
description: ''
flows:
authorizationCode:
scopes:
billing:patient-payment:read: View patient payment information
billing:read: View billing information.
patients:read: View detailed patient information.
user:write: Edit select account information, such as creating new exam rooms.
messages:write: Create and modify messages in your message center.
messages:read: View messages in your message center.
tasks:write: Create and modify tasks in your tasks center
tasks:read: View tasks in your tasks center
labs:write: Create and modify patient lab orders and results.
patients:write: Create patients and modify detailed patient information.
settings:write: Create resources that requires Settings permission, such as custom fields.
billing:patient-payment:write: Modify patient payment information
clinical:write: Create and modify clinical information, such as vitals, clinical notes, medications and diagnoses.
patients:summary:write: Create new patients and set their name, chart_id, age, and gender.
calendar:read: View your appointments.
user:read: View your basic information.
billing:write: Modify billing information.
settings:read: View resources that requires Settings permission, such as custom fields.
labs:read: View patient lab orders and results.
calendar:write: Schedule appointments and modify the data associated with them.
patients:summary:read: View summary information about your patients. This includes patients' name, chart_id, age, and gender.
clinical:read: View clinical information, such as vitals, clinical notes, medications and diagnoses.
tokenUrl: https://app.drchrono.com/o/token/
authorizationUrl: https://app.drchrono.com/o/authorize/
x-refined-from:
- drchrono-rest-api-openapi-schema.json
- drchrono-rest-api-openapi.yml