drchrono Billing API

Create and manage billing resources

Operations 38

GET /api/day_sheet_charges #
GET /api/eligibility_checks #
GET /api/patient_authorizations #
GET /api/custom_insurance_plan_names/{id} #
POST /api/line_items_list #
GET /api/line_items_list #
GET /api/day_sheet_patient_payments #
GET /api/eligibility_checks/{id} #
POST /api/comm_logs #
GET /api/comm_logs #
GET /api/day_sheet_credits #
POST /api/transactions_list #
GET /api/transactions_list #
GET /api/patient_payments/{id} #
POST /api/patient_payments #
GET /api/patient_payments #
POST /api/clinical_note_field_values_list #
GET /api/billing_profiles #
GET /api/billing_profiles/{id} #
GET /api/line_item_deletions #
GET /api/transactions #
GET /api/custom_insurance_plan_names #
GET /api/day_sheet_totals #
GET /api/transactions/{id} #
GET /api/procedures #
GET /api/eligibility_checks_list #
GET /api/procedures/{id} #
PUT /api/line_items/{id} #
PATCH /api/line_items/{id} #
GET /api/line_items/{id} #
DELETE /api/line_items/{id} #
GET /api/patient_payment_log #
GET /api/patient_payment_log/{id} #
PUT /api/comm_logs/{id} #
PATCH /api/comm_logs/{id} #
GET /api/comm_logs/{id} #
POST /api/line_items #
GET /api/line_items #

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-billing-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 Specification

drchrono-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drchrono Billing 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 Billing 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:
- description: Create and manage billing resources
  name: Billing
paths:
  /api/day_sheet_charges:
    get:
      description: Retrieve daysheet charges report for a given date range
      parameters:
      - schema:
          type: string
          description: Start date of report (M/D/YYYY)
          title: start_date
        required: true
        name: start_date
        in: query
      - schema:
          type: string
          description: End date of report (M/D/YYYY)
          title: end_date
        required: true
        name: end_date
        in: query
      - schema:
          type: string
          description: Filters report by scheduled time or date of entry if not provided. Can be one of ('scheduled_time', ' ')
          title: charges_date_type
        required: false
        name: charges_date_type
        in: query
      - schema:
          type: string
          description: Filters report by given value. Can be one of ('reimbursement_analysis', ' ')
          title: report_type
        required: false
        name: report_type
        in: query
      - schema:
          type: string
          description: Filters report by professional or institutional claims. Can be one of ('institutional', 'professional', ' ')
          title: claim_type
        required: false
        name: claim_type
        in: query
      - schema:
          type: integer
          description: Filters report by a given patient ID
          title: patient_id
        required: false
        name: patient_id
        in: query
      - schema:
          type: string
          description: Filters report by a given office
          title: office
        required: false
        name: office_id
        in: query
      - schema:
          type: integer
          description: Filters report by a given examroom ID
          title: examroom_id
        required: false
        name: examroom_id
        in: query
      - schema:
          type: boolean
          description: Runs report for all providers in the practice group
          title: pg_mode
        required: false
        name: pg_mode
        in: query
      tags:
      - Billing
      x-permissions:
      - billing
      - access-patient-payments
      security:
      - drchrono_oauth2:
        - billing
      operationId: daysheet_charges_list
    servers:
    - url: https://app.drchrono.com
  /api/eligibility_checks:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  previous:
                    type: string
                    description: Previous paginated page
                    title: previous
                  data:
                    items:
                      $ref: '#/components/schemas/Coverage'
                    type: array
                    description: result data
                    title: data
                  next:
                    type: string
                    description: Next Paginated page
                    title: next
          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
      parameters:
      - schema:
          type: string
          description: The pagination cursor value.
          title: Cursor
        required: false
        name: cursor
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          description: ''
          title: appointment
        required: false
        description: ''
        name: appointment
        in: query
      - schema:
          type: string
          description: ''
          title: appointment_date
        required: false
        description: ''
        name: appointment_date
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      - schema:
          type: string
          description: ''
          title: query_date_range
        required: false
        description: ''
        name: query_date_range
        in: query
      - schema:
          type: string
          description: ''
          title: appointment_date_range
        required: false
        description: ''
        name: appointment_date_range
        in: query
      - schema:
          type: string
          description: ''
          title: query_date
        required: false
        description: ''
        name: query_date
        in: query
      - schema:
          type: integer
          description: ''
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      tags:
      - Billing
      x-permissions:
      - scheduling
      - manage-patients
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - calendar:read
        - calendar:write
        - patients:read
        - patients:write
      operationId: eligibility_checks_list
      description: Retrieve or search past eligibility checks for patient
    servers:
    - url: https://app.drchrono.com
  /api/patient_authorizations:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  previous:
                    type: string
                    description: Previous paginated page
                    title: previous
                  data:
                    items:
                      $ref: '#/components/schemas/PatientAuthorization'
                    type: array
                    description: result data
                    title: data
                  next:
                    type: string
                    description: Next Paginated page
                    title: next
          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
      parameters:
      - schema:
          type: string
          description: The pagination cursor value.
          title: Cursor
        required: false
        name: cursor
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          description: ''
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: start_date
        in: query
      - schema:
          type: string
          description: ''
          title: date_range
        required: false
        description: ''
        name: date_range
        in: query
      - schema:
          type: string
          description: ''
          title: date
        required: false
        description: ''
        name: end_date
        in: query
      tags:
      - Billing
      x-permissions: null
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security: null
      operationId: patient_authorizations_list
      description: Retrieve or search patient authorizations
    servers:
    - url: https://app.drchrono.com
  /api/custom_insurance_plan_names/{id}:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomInsurancePlanName'
          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
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: user
        required: false
        description: ''
        name: user
        in: query
      - schema:
          type: string
          description: ''
          title: name
        required: false
        description: ''
        name: name
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Billing
      x-permissions:
      - settings
      x-practice-access: Data access among practice is available
      security:
      - drchrono_oauth2:
        - settings:read
        - settings:write
      operationId: custom_insurance_plan_names_read
      description: Retrieve an existing custom insurance plan name
    servers:
    - url: https://app.drchrono.com
  /api/line_items_list:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: string
                    description: 'Status of the request.  Possible values are "In progress", "Complete", "Failed", "Canceled".

                      '
                    title: status
                  uuid:
                    type: string
                    description: UUID of the batch of billing line items.
                    title: uuid
                  description:
                    type: string
                    description: Contains link to load the batch by UUID
          description: Created
        '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
      parameters:
      - schema:
          type: string
          title: order_by
        required: false
        description: 'Order results by a specific field. Valid options include [id, updated_at]. Default: id.'
        name: order_by
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: string
          description: Date of billing line item creation
          title: posted_date
        required: false
        description: ''
        name: posted_date
        in: query
      - schema:
          type: integer
          description: Patient associated with the billing line item
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      - schema:
          type: integer
          description: Office associated with the billing line item
          title: office
        required: false
        description: ''
        name: office
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: appointment
        required: false
        description: ''
        name: appointment
        in: query
      - schema:
          type: string
          description: Date on which the service was rendered
          title: service_date
        required: false
        description: ''
        name: service_date
        in: query
      - schema:
          type: string
          description: Bounded date range in which the service was rendered
          title: service_date_range
        required: false
        description: ''
        name: service_date_range
        in: query
      tags:
      - Billing
      x-permissions:
      - billing
      - show-billing-tab
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - billing:read
      operationId: line_items_list_create
      description: Create a billing line items list request
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  status:
                    type: string
                    description: 'Status of the request.  Possible values are "In progress", "Complete", "Failed", "Canceled".

                      '
                    title: status
                  results:
                    items:
                      $ref: '#/components/schemas/BillingLineItem'
                    type: array
                    description: result data. only presented when the status is "completed"
                    title: data
                  uuid:
                    type: string
                    description: UUID of the batch of billing line items.
                    title: uuid
          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:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncResourceError'
          description: Internal Server Error
      parameters:
      - schema:
          type: string
          description: ''
          title: uuid
        required: false
        description: 'The UUID token for the batch of patients.  This is returned in the response of the create endpoint.

          '
        name: uuid
        in: query
      tags:
      - Billing
      x-permissions:
      - billing
      - show-billing-tab
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - billing:read
      operationId: line_items_list_list
      description: Retrieve the list of billing line items
    servers:
    - url: https://app.drchrono.com
  /api/day_sheet_patient_payments:
    get:
      description: Retrieve daysheet cash report for a given date range
      parameters:
      - schema:
          type: string
          description: Start date of report (M/D/YYYY)
          title: start_date
        required: true
        name: start_date
        in: query
      - schema:
          type: string
          description: End date of report (M/D/YYYY)
          title: end_date
        required: true
        name: end_date
        in: query
      - schema:
          type: string
          description: Filters report by scheduled time or date of entry if not provided. Can be one of ('scheduled_time', ' ')
          title: charges_date_type
        required: false
        name: charges_date_type
        in: query
      - schema:
          type: string
          description: Filters report by given value. Can be one of ('reimbursement_analysis', ' ')
          title: report_type
        required: false
        name: report_type
        in: query
      - schema:
          type: string
          description: Filters report by professional or institutional claims. Can be one of ('institutional', 'professional', ' ')
          title: claim_type
        required: false
        name: claim_type
        in: query
      - schema:
          type: integer
          description: Filters report by a given patient ID
          title: patient_id
        required: false
        name: patient_id
        in: query
      - schema:
          type: string
          description: Filters report by a given office
          title: office
        required: false
        name: office
        in: query
      - schema:
          type: integer
          description: Filters report by a given examroom ID
          title: examroom_id
        required: false
        name: examroom_id
        in: query
      - schema:
          type: bool
          description: Enables backward compatibility for legacy version
          title: legacy
        required: false
        name: legacy
        in: query
      tags:
      - Billing
      x-permissions:
      - billing
      - access-patient-payments
      security:
      - drchrono_oauth2:
        - billing
      operationId: day_sheet_patient_payments_list
    servers:
    - url: https://app.drchrono.com
  /api/eligibility_checks/{id}:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Coverage'
          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
      parameters:
      - schema:
          type: string
          description: ''
          title: ''
        required: true
        name: id
        in: path
      - schema:
          type: integer
          description: ''
          title: appointment
        required: false
        description: ''
        name: appointment
        in: query
      - schema:
          type: string
          description: ''
          title: appointment_date
        required: false
        description: ''
        name: appointment_date
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      - schema:
          type: string
          description: ''
          title: query_date_range
        required: false
        description: ''
        name: query_date_range
        in: query
      - schema:
          type: string
          description: ''
          title: appointment_date_range
        required: false
        description: ''
        name: appointment_date_range
        in: query
      - schema:
          type: string
          description: ''
          title: query_date
        required: false
        description: ''
        name: query_date
        in: query
      - schema:
          type: integer
          description: ''
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      tags:
      - Billing
      x-permissions:
      - scheduling
      - manage-patients
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - calendar:read
        - calendar:write
        - patients:read
        - patients:write
      operationId: eligibility_checks_read
      description: Retrieve an existing past eligibility check
    servers:
    - url: https://app.drchrono.com
  /api/comm_logs:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhoneCallLog'
          description: Created
        '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
      parameters:
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Billing
      x-permissions:
      - scheduling
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - calendar:read
        - calendar:write
      operationId: comm_logs_create
      description: Create communication (phone call) logs
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  previous:
                    type: string
                    description: Previous paginated page
                    title: previous
                  data:
                    items:
                      $ref: '#/components/schemas/PhoneCallLog'
                    type: array
                    description: result data
                    title: data
                  next:
                    type: string
                    description: Next Paginated page
                    title: next
          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
      parameters:
      - schema:
          type: string
          description: The pagination cursor value.
          title: Cursor
        required: false
        name: cursor
        in: query
      - schema:
          type: integer
          description: Number of results to return per page.
          title: Page size
        required: false
        name: page_size
        in: query
      - schema:
          type: string
          description: ''
          title: since
        required: false
        description: ''
        name: since
        in: query
      - schema:
          type: integer
          description: ''
          title: patient
        required: false
        description: ''
        name: patient
        in: query
      - schema:
          type: integer
          description: ''
          title: doctor
        required: false
        description: ''
        name: doctor
        in: query
      tags:
      - Billing
      x-permissions:
      - scheduling
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - calendar:read
        - calendar:write
      operationId: comm_logs_list
      description: Retrieve or search communicatioin (phone call) logs
    servers:
    - url: https://app.drchrono.com
  /api/day_sheet_credits:
    get:
      description: Retrieve daysheet credits/adjustments report for a given date range
      parameters:
      - schema:
          type: string
          description: Start date of report (M/D/YYYY)
          title: start_date
        required: true
        name: start_date
        in: query
      - schema:
          type: string
          description: End date of report (M/D/YYYY)
          title: end_date
        required: true
        name: end_date
        in: query
      - schema:
          type: string
          description: Filters report by posted date or deposit date. Defaults to date of entry if not provided. Can be one of ('credit', 'debit', ' ')
          title: credits_date_type
        required: false
        name: credits_date_type
        in: query
      - schema:
          type: string
          description: Filters report by given value. Can be one of ('reimbursement_analysis', ' ')
          title: report_type
        required: false
        name: report_type
        in: query
      - schema:
          type: string
          description: Filters report by professional or institutional claims. Can be one of ('institutional', 'professional', ' ')
          title: claim_type
        required: false
        name: claim_type
        in: query
      - schema:
          type: integer
          description: Filters report by a given patient ID
          title: patient_id
        required: false
        name: patient_id
        in: query
      - schema:
          type: string
          description: Filters report by a given office
          title: office
        required: false
        name: office_id
        in: query
      - schema:
          type: integer
          description: Filters report by a given examroom ID
          title: examroom_id
        required: false
        name: examroom_id
        in: query
      - schema:
          type: boolean
          description: Runs report for all providers in the practice group
          title: pg_mode
        required: false
        name: pg_mode
        in: query
      tags:
      - Billing
      x-permissions:
      - billing
      - access-patient-payments
      security:
      - drchrono_oauth2:
        - billing
      operationId: daysheet_credits_list
    servers:
    - url: https://app.drchrono.com
  /api/transactions_list:
    post:
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: string
                    description: Status of the request. Upon creation this will be "In progress"
                    title: status
                  uuid:
                    type: string
                    description: UUID of the batch of patients.
                    title: uuid
                  description:
                    type: string
                    description: Contains link to load the batch by UUID
          description: Created
        '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
      parameters:
      - schema:
          type: string
          title: order_by
        required: false
        description: 'Order results by a specific field. Valid options include [id, updated_at]. Default: id.'
        name: order_by
        in: query
      - schema:
          type: integer
          title: Page size
        description: Number of results to return per page. Value between 1 and 1000.
        required: false
        name: page_size
        in: query
      - schema:
          type: integer
          title: page
        description: Number of page to return. Value between 1 and max number of pages in result set.
        required: false
        name: page
        in: query
      - schema:
          type: integer
          title: line_item
        description: Line item ID
        required: false
        name: line_item
        in: query
      - schema:
          type: string
          title: posted_date
        description: Posted date
        required: false
        name: posted_date
        in: query
      - schema:
          type: integer
          title: appointment
        description: appointment
        required: false
        name: appointment
        in: query
      - schema:
          type: string
          title: since
        description: since
        required: false
        name: since
        in: query
      - schema:
          type: integer
          title: doctor
        description: doctor
        required: false
        name: doctor
        in: query
      - schema:
          type: boolean
          title: verbose
        description: When True includes full details
        required: false
        name: verbose
        in: query
      tags:
      - Billing
      x-permissions:
      - billing
      - show-billing-tab
      x-practice-access: '"share_patients" need to be set for data access among practice'
      security:
      - drchrono_oauth2:
        - billing:read
        - billing:write
      operationId: transactions_list_create
      description: 'Create transactions list request.  Use the UUID returned in the response to retrieve the batch of records. Results returned in order of id or updated_at.

        '
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                title: ''
                type: object
                description: Paginated Result
                properties:
                  status:
                    type: string
                    description: 'Status of the request.  Possible values are "In progress" or "Complete".

                      '
                    title: status
                  pagination:
                    properties:
                      count:
                        type: int
                        description: the count of all records in the result set.
                        title: count
                      pages:
                        type: int
                        description: the total pages of all pages in the result set.
                        title: pages
                      page:
                        type: int
                        description: the current page (starting with 1) in the total pages.
            

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