drchrono Practice Management API

Create and manage practice management resources

Operations 52

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

PUT /api/doctor_work_schedule/{id} Replace a doctor's entire work schedule · Doctor work schedule update #
Ask an LLM
“Can I overwrite a doctor's whole work schedule in one request?”
“What happens to existing hours when I replace a doctor work schedule completely?”
Tell an agent
Replace the entire doctor work schedule {id} with a new set of hours.
Overwrite every day of doctor schedule {id}.
PATCH /api/doctor_work_schedule/{id} Adjust part of a doctor's work schedule · Doctor work schedule partial update #
Ask an LLM
“Can I change just one day of a doctor's work schedule without resending the rest?”
“Is it possible to tweak a few hours on a doctor's schedule?”
Tell an agent
Change only some of the hours on doctor work schedule {id}.
Patch doctor schedule {id} to adjust a single day.
GET /api/doctor_work_schedule/{id} Retrieve a doctor work schedule · Doctor work schedule read #
Ask an LLM
“How do I look up a specific doctor work schedule by its ID?”
“Which hours are set on doctor work schedule record I already have an ID for?”
Tell an agent
Get doctor work schedule {id}.
Show the working hours stored in doctor schedule {id}.
POST /api/messages Add a message to the message center · Messages create #
Ask an LLM
“Can I post a new message into a doctor's message center through the API?”
“How do I create a message center entry for a patient?”
Tell an agent
Create a new message in the doctor's message center.
Add a message for a patient to the message center inbox.
GET /api/messages Search messages in the message center · Messages list #
Ask an LLM
“How do I list messages in a doctor's message center for one patient?”
“Can I find messages received since a certain date?”
Tell an agent
List message center messages for patient {patient}.
Find messages received since {received_since}.
POST /api/task_categories Create a task category · Task categories create #
Ask an LLM
“Can I add a new category for organizing tasks?”
“How do I set up a custom task category?”
Tell an agent
Create a new task category.
Add a task category for billing follow-ups.
GET /api/task_categories List task categories · Task categories list #
Ask an LLM
“What task categories are set up in my practice?”
“Can I see task categories changed since a certain date?”
Tell an agent
List all task categories.
Show task categories updated since {since}.
POST /api/offices/{id}/add_exam_room Add an exam room to an office · Offices add exam room #
Ask an LLM
“Can I add a new exam room to an existing office?”
“How do I create another exam room at one of our locations?”
Tell an agent
Add an exam room to office {id}.
Create a new exam room at office {id}.
GET /api/inventory_vaccines/{id} Retrieve a vaccine inventory item · Inventory vaccines read #
Ask an LLM
“How do I look up one vaccine inventory record?”
“What lot and quantity details are on a specific vaccine inventory entry?”
Tell an agent
Get vaccine inventory {id}.
Show lot details for vaccine inventory {id}.
GET /api/offices List practice offices · Offices list #
Ask an LLM
“Which offices does my practice have?”
“Can I list the offices a specific doctor works at?”
Tell an agent
List all offices in the practice.
Show offices for doctor {doctor}.
PUT /api/task_statuses/{id} Replace a task status · Task statuses update #
Ask an LLM
“Can I fully replace an existing task status definition?”
“Does a full task status update overwrite all its fields?”
Tell an agent
Replace task status {id} with new values.
Overwrite every field on task status {id}.
PATCH /api/task_statuses/{id} Rename or tweak a task status · Task statuses partial update #
Ask an LLM
“Can I rename a task status without changing anything else?”
“Is a partial edit of a task status possible?”
Tell an agent
Rename task status {id}.
Patch one field on task status {id}.
GET /api/task_statuses/{id} Retrieve a task status · Task statuses read #
Ask an LLM
“How do I fetch a single task status by ID?”
“What does one task status record contain?”
Tell an agent
Get task status {id}.
Show the details of task status {id}.
GET /api/office_work_schedule Get my primary office's work schedule · Office work schedule list #
Ask an LLM
“What are the opening hours of my primary office in drchrono?”
“Can I see the office-level work schedule for the practice I'm logged into?”
Tell an agent
Show when my main office location is open.
List the operating hours of my main office.
POST /api/task_templates Create a task template · Task templates create #
Ask an LLM
“Can I save a reusable template for tasks we create often?”
“How do I set up a new task template?”
Tell an agent
Create a new task template.
Add a reusable task template for refill requests.
GET /api/task_templates List task templates · Task templates list #
Ask an LLM
“What task templates exist for a given category?”
“Can I find task templates assigned to a particular user group?”
Tell an agent
List task templates in category {category}.
Show task templates assigned to user {assignee_user}.
PUT /api/office_work_schedule/{id} Replace an office's entire work schedule · Office work schedule update #
Ask an LLM
“Can I replace an office's full weekly schedule in a single call?”
“Does replacing an office work schedule overwrite every day?”
Tell an agent
Replace the whole office work schedule {id}.
Overwrite all opening hours on office schedule {id}.
PATCH /api/office_work_schedule/{id} Adjust part of an office's work schedule · Office work schedule partial update #
Ask an LLM
“Can I change the office hours for just one day?”
“Is there a way to update only some fields of an office work schedule?”
Tell an agent
Change only some of the opening hours on office schedule {id}.
Patch office work schedule {id} to shorten one day.
GET /api/office_work_schedule/{id} Retrieve an office work schedule · Office work schedule read #
Ask an LLM
“How can I fetch one office work schedule by its ID?”
“What hours does office schedule record look like for a given schedule ID?”
Tell an agent
Get office work schedule {id}.
Show the opening hours stored in office schedule {id}.
GET /api/inventory_categories/{id} Retrieve an inventory category · Inventory categories read #
Ask an LLM
“How do I look up one inventory category by ID?”
“What does a single inventory category record contain?”
Tell an agent
Get inventory category {id}.
Show details of inventory category {id}.
PUT /api/tasks/{id} Replace a task · Tasks update #
Ask an LLM
“Can I replace every field on an existing task?”
“Is a full task overwrite supported?”
Tell an agent
Replace task {id} with updated details.
Overwrite all fields on task {id}.
PATCH /api/tasks/{id} Update a task's status or assignee · Tasks partial update #
Ask an LLM
“Can I mark a task complete without resending the whole task?”
“Is it possible to reassign a task to someone else?”
Tell an agent
Mark task {id} as complete.
Reassign task {id} to a different user.
GET /api/tasks/{id} Retrieve a task · Tasks read #
Ask an LLM
“How do I look up one task by its ID?”
“What's the status and due date of a specific task?”
Tell an agent
Get task {id}.
Show the status and due date of task {id}.
GET /api/doctor_work_schedule Get my primary office's doctor work schedule · Doctor work schedule list #
Ask an LLM
“What does the doctor work schedule look like at my primary office?”
“Can I see which hours the logged-in doctor is scheduled to work?”
Tell an agent
Show the doctor work schedule for my primary office.
Pull my own weekly working hours from the doctor schedule.
GET /api/inventory_categories List inventory categories · Inventory categories list #
Ask an LLM
“What inventory categories are defined in my practice?”
“Can I see inventory categories for one doctor?”
Tell an agent
List all inventory categories.
Show inventory categories for doctor {doctor}.
POST /api/task_statuses Create a task status · Task statuses create #
Ask an LLM
“Can I define a custom status for tasks, like 'waiting on patient'?”
“How do I add a new task status?”
Tell an agent
Create a new task status.
Add a 'waiting on patient' task status.
GET /api/task_statuses List task statuses · Task statuses list #
Ask an LLM
“Which task statuses are available in the practice?”
“Can I list task statuses modified since a date?”
Tell an agent
List all task statuses.
Show task statuses changed since {since}.
PUT /api/task_templates/{id} Replace a task template · Task templates update #
Ask an LLM
“Can I replace a task template entirely?”
“Is a full overwrite of a task template supported?”
Tell an agent
Replace task template {id} with new values.
Overwrite every field on task template {id}.
PATCH /api/task_templates/{id} Edit fields on a task template · Task templates partial update #
Ask an LLM
“Can I change only the default assignee on a task template?”
“Is a partial update of a task template possible?”
Tell an agent
Change the default assignee on task template {id}.
Patch a few fields on task template {id}.
GET /api/task_templates/{id} Retrieve a task template · Task templates read #
Ask an LLM
“How do I view one task template by ID?”
“What defaults does a specific task template carry?”
Tell an agent
Get task template {id}.
Show the defaults on task template {id}.
PATCH /api/message_threads/{id} Archive, star or assign a message thread · Message threads partial update (beta) #
Ask an LLM
“Can I archive or star a conversation thread?”
“How do I assign a message thread to specific staff or user groups?”
Tell an agent
Mark message thread {id} as archived {archived}.
Star message thread {id}: set starred to {starred}.
GET /api/message_threads/{id} Retrieve one message thread · Message threads read (beta) #
Ask an LLM
“How can I open a single conversation thread by its ID?”
“What does one message thread return in the beta threads endpoint?”
Tell an agent
Get message thread {id}.
Open conversation thread {id} from the message center.
POST /api/task_notes Add a note to a task · Task notes create #
Ask an LLM
“Can I attach a comment to a task through the API?”
“How do I add a note to a task?”
Tell an agent
Add a note to a task.
Create a task note recording that the patient was called back.
GET /api/task_notes List notes on tasks · Task notes list #
Ask an LLM
“Which notes have been added to a particular task?”
“Can I list task notes written since a certain date?”
Tell an agent
List notes on task {task}.
Show task notes added since {since}.
POST /api/tasks Create a task · Tasks create #
Ask an LLM
“Can I create a to-do task for my staff through the API?”
“How do I add a new task to the practice task list?”
Tell an agent
Create a new task for the front desk.
Add a task to follow up on a lab result.
GET /api/tasks Search tasks · Tasks list #
Ask an LLM
“What tasks are due on a specific date?”
“Can I list open tasks assigned to one user?”
Tell an agent
List tasks due on {due_at_date}.
Show tasks assigned to user {assignee_user} with status {status}.
POST /api/inventory_vaccines Add vaccine inventory · Inventory vaccines create #
Ask an LLM
“Can I record a new vaccine shipment in inventory?”
“How do I add a vaccine to the practice inventory?”
Tell an agent
Add a new vaccine lot to inventory.
Record a new vaccine inventory entry.
GET /api/inventory_vaccines Search vaccine inventory · Inventory vaccines list #
Ask an LLM
“Which vaccines do we have in stock?”
“Can I find vaccine inventory by CVX code?”
Tell an agent
List vaccine inventory with CVX code {cvx_code}.
Show vaccine inventory with status {status}.
PUT /api/task_categories/{id} Replace a task category · Task categories update #
Ask an LLM
“Can I fully replace an existing task category's settings?”
“Is a full overwrite of a task category supported?”
Tell an agent
Replace task category {id} with new values.
Overwrite every field on task category {id}.
PATCH /api/task_categories/{id} Rename or tweak a task category · Task categories partial update #
Ask an LLM
“Can I just rename a task category without resending everything?”
“Is it possible to change one field on a task category?”
Tell an agent
Rename task category {id}.
Patch a single field on task category {id}.
GET /api/task_categories/{id} Retrieve a task category · Task categories read #
Ask an LLM
“How do I look up one task category by ID?”
“What fields does a single task category have?”
Tell an agent
Get task category {id}.
Show the details of task category {id}.
PUT /api/task_notes/{id} Replace a task note · Task notes update #
Ask an LLM
“Can I rewrite a task note completely?”
“Is a full replacement of a task note supported?”
Tell an agent
Replace task note {id} with new text.
Overwrite every field on task note {id}.
PATCH /api/task_notes/{id} Edit part of a task note · Task notes partial update #
Ask an LLM
“Can I fix a typo in a task note without resending it all?”
“Is a partial edit of a task note possible?”
Tell an agent
Correct the text of task note {id}.
Patch one field on task note {id}.
GET /api/task_notes/{id} Retrieve a task note · Task notes read #
Ask an LLM
“How do I read a single task note by its ID?”
“What does one task note contain?”
Tell an agent
Get task note {id}.
Show the text of task note {id}.
PUT /api/messages/{id} Replace a message center message · Messages update #
Ask an LLM
“Can I replace all the fields on an existing message center message?”
“Is a full update of a message in the message center supported?”
Tell an agent
Replace message center message {id} with updated content.
Overwrite every field on message {id}.
PATCH /api/messages/{id} Edit fields on a message center message · Messages partial update #
Ask an LLM
“Can I change just the responsible user on an existing message?”
“Is it possible to update only a few fields of a message center message?”
Tell an agent
Change only some fields on message {id}.
Patch message center message {id} to reassign it.
GET /api/messages/{id} Retrieve a message center message · Messages read #
Ask an LLM
“How can I open a single message from the message center by ID?”
“What details come back for one message center message?”
Tell an agent
Get message {id} from the message center.
Show the contents of message center message {id}.
DELETE /api/messages/{id} Delete a message center message · Messages delete #
Ask an LLM
“Can I permanently remove a message from the doctor's message center?”
“What happens when a message center message is deleted?”
Tell an agent destructive · confirm first
Delete message center message {id}.
Remove message {id} from the message center.
PUT /api/offices/{id} Replace an office's details · Offices update #
Ask an LLM
“Can I replace all of an office's details at once?”
“Is a full overwrite of an office record supported?”
Tell an agent
Replace office {id} with new details.
Overwrite every field on office {id}.
PATCH /api/offices/{id} Edit an office's details · Offices partial update #
Ask an LLM
“Can I change just an office's phone number?”
“Is a partial update of an office record possible?”
Tell an agent
Update the phone number of office {id}.
Patch a few fields on office {id}.
GET /api/offices/{id} Retrieve an office · Offices read #
Ask an LLM
“How do I get the address and details of one office?”
“What exam rooms does a given office have?”
Tell an agent
Get office {id}.
Show the address and exam rooms of office {id}.
GET /api/message_threads List conversation threads in the message center · Message threads list (beta) #
Ask an LLM
“How do I show an inbox-style list of message threads grouped by patient and subject?”
“Can I list only starred or unread message threads?”
Tell an agent
List message threads for patient {patient}.
Show message threads with unread messages.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

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:drchrono-practice-management-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

drchrono-practice-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drchrono Practice Management 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 Practice Management 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:


# --- truncated at 32 KB (159 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drchrono/refs/heads/main/openapi/drchrono-practice-management-api-openapi.yml