Canvas Medical website screenshot

Canvas Medical

Canvas Medical is a developer-first EHR platform built for virtual and value-based care, offering a comprehensive FHIR R4 REST API with 41 resources for clinical workflows, patient management, and care team coordination. The platform combines a standards-based FHIR API with a native Python SDK that enables plugins to execute synchronously within the EMR, supporting scheduling, charting, billing, and custom workflow automation across more than 650 clinical and operational events.

Canvas Medical publishes 28 APIs on the APIs.io network, including AllergyIntolerance API, Appointment API, CarePlan API, and 25 more. Tagged areas include EHR, FHIR, Healthcare, Electronic Health Records, and Virtual Care.

The Canvas Medical catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

Canvas Medical’s developer surface includes authentication, documentation, engineering blog, pricing, sandbox, getting-started guide, release notes, and 12 more developer resources.

50.9/100 developing ▼ -5.5 Agent 31/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessPaidSelf serve
30 APIs
EHRFHIRHealthcareElectronic Health RecordsVirtual CareClinical WorkflowsPatient ManagementCare Coordination

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 50.9/100 · developing
Contract Quality 16.7 / 25
Developer Ergonomics 8.7 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.8 / 13
Governance 7.0 / 12
Discoverability 7.4 / 10
Agent readiness — 31/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/canvas-medical: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 30

Individual APIs this provider publishes, each with its own machine-readable definition.

Canvas Medical FHIR API

A FHIR R4-compliant REST API providing secure access to electronic health record data including 41 FHIR resources (21 with write capabilities) covering clinical, administrative,...

Canvas Medical SDK

A Python SDK that enables developers to build plugins that execute natively within the Canvas EMR infrastructure. Supports an event-driven architecture with over 650 clinical an...

Canvas Medical AllergyIntolerance API

Allergy and intolerance records

Canvas Medical Appointment API

Appointment scheduling and management

Canvas Medical CarePlan API

Care plan management

Canvas Medical CareTeam API

Care team coordination

Canvas Medical Claim API

Insurance claims and billing

Canvas Medical Communication API

Communications with or about a patient

Canvas Medical Condition API

Patient conditions, problems, and diagnoses

Canvas Medical Consent API

Patient consent records

Canvas Medical Coverage API

Insurance coverage records

Canvas Medical DiagnosticReport API

Diagnostic test reports

Canvas Medical DocumentReference API

Clinical documents and attachments

Canvas Medical Encounter API

Clinical encounters and visits

Canvas Medical Goal API

Patient care goals

Canvas Medical Immunization API

Immunization records

Canvas Medical Location API

Physical practice locations

Canvas Medical MedicationRequest API

Medication prescriptions and orders

Canvas Medical Metadata API

FHIR server capabilities

Canvas Medical Observation API

Clinical observations, vitals, and lab results

Canvas Medical Organization API

Healthcare organization information

Canvas Medical Patient API

Patient demographic and administrative data

Canvas Medical Practitioner API

Healthcare provider information

Canvas Medical Procedure API

Clinical procedures performed

Canvas Medical Questionnaire API

Structured data collection forms

Canvas Medical QuestionnaireResponse API

Patient responses to questionnaires

Canvas Medical Schedule API

Practitioner availability schedules

Canvas Medical ServiceRequest API

Orders for laboratory, imaging, and referrals

Canvas Medical Slot API

Available appointment time slots

Canvas Medical Task API

Clinical and administrative tasks

Scroll for all 30

Arazzo Workflows 7

Multi-step API workflows described with the Arazzo specification.

Canvas Medical Appointment Scheduling

Locate a patient, find a practitioner's schedule, search for a free slot, then book and confirm an appointment.

ARAZZO

Canvas Medical Care Plan Management

Read the patient, record a care Goal, then retrieve the active CarePlan and the CareTeam coordinating it.

ARAZZO

Canvas Medical Lab Order to Results

Place a laboratory order with a ServiceRequest, then retrieve the resulting DiagnosticReport and the discrete Observation results.

ARAZZO

Canvas Medical Medication Prescribing

Read the patient, check existing allergies and active medications for safety, then write a new prescription and confirm it.

ARAZZO

Canvas Medical Patient Registration (Upsert)

Search for an existing patient by identifier and update it if found, otherwise create a new US Core Patient.

ARAZZO

Canvas Medical Questionnaire Assessment Capture

Find a questionnaire by title, submit a completed QuestionnaireResponse, then read it back to confirm capture.

ARAZZO

Canvas Medical SMART on FHIR US Core Retrieval

Discover server capabilities, locate a patient, then pull the US Core clinical summary - problems, vitals/labs, medications, and allergies.

ARAZZO

Scroll for all 7

GraphQL 1

GraphQL schemas published by this provider.

Canvas Medical GraphQL Schema

This conceptual GraphQL schema represents the Canvas Medical EHR platform's data model, derived from its FHIR R4 REST API and Python SDK capabilities. Canvas Medical is a develo...

GRAPHQL

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Canvas Medical Rate Limits

0 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Canvas Medical Context

39 classes · 59 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Canvas Medical API Rules

5 rules · 3 warnings 2 info

SPECTRAL

JSON Schema 1

Standalone JSON Schema definitions for this provider's data models.

Canvas Medical FHIR Patient

14 properties

JSON SCHEMA

Examples 3

Example request and response payloads for these APIs.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Canvas Medical Authentication

http/oauth2 · 3 schemes

SECURITY

Canvas Medical Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Canvas Medical Scopes

11 scopes · clientCredentials/authorizationCode

11 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Canvas Medical Agentic Access

85 operations · 30 acting

85 operations · 30 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 1

Pagination, idempotency, versioning, errors, and events

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 4

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: canvas-medical
name: Canvas Medical
description: Canvas Medical is a developer-first EHR platform built for virtual and value-based care, offering a comprehensive
  FHIR R4 REST API with 41 resources for clinical workflows, patient management, and care team coordination. The platform
  combines a standards-based FHIR API with a native Python SDK that enables plugins to execute synchronously within the EMR,
  supporting scheduling, charting, billing, and custom workflow automation across more than 650 clinical and operational events.
accessModel:
  pricing: paid
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Paid · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/canvas-medical.png
url: https://raw.githubusercontent.com/api-evangelist/canvas-medical/refs/heads/main/apis.yml
created: '2026-06-13'
modified: '2026-06-13'
specificationVersion: '0.19'
tags:
- EHR
- FHIR
- Healthcare
- Electronic Health Records
- Virtual Care
- Clinical Workflows
- Patient Management
- Care Coordination
apis:
- aid: canvas-medical:canvas-medical-fhir-api
  name: Canvas Medical FHIR API
  description: A FHIR R4-compliant REST API providing secure access to electronic health record data including 41 FHIR resources
    (21 with write capabilities) covering clinical, administrative, financial, and care coordination domains. Supports OAuth
    2.0 Client Credentials and Authorization Code flows with SMART on FHIR scopes for machine-to-machine and user-delegated
    access.
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - FHIR
  - EHR
  - Clinical
  - REST API
  - Healthcare
  properties:
  - type: Documentation
    url: https://docs.canvasmedical.com/api/
  - type: Authentication
    url: https://docs.canvasmedical.com/api/customer-authentication/
  - type: ReleaseNotes
    url: https://docs.canvasmedical.com/product-updates/release-notes/
  - url: graphql/canvas-medical-graphql.md
    type: GraphQL
- aid: canvas-medical:canvas-medical-sdk
  name: Canvas Medical SDK
  description: A Python SDK that enables developers to build plugins that execute natively within the Canvas EMR infrastructure.
    Supports an event-driven architecture with over 650 clinical and operational events, Django ORM database access, effects
    for modifying data and automating workflows, and pre-built integrations with AWS S3, LLMs, SendGrid, Twilio, and Extend
    AI.
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  humanURL: https://docs.canvasmedical.com/sdk/
  baseURL: https://pypi.org/project/canvas/
  tags:
  - SDK
  - Python
  - Plugins
  - Workflow Automation
  - EMR
  properties:
  - type: Documentation
    url: https://docs.canvasmedical.com/sdk/
  - type: GettingStarted
    url: https://docs.canvasmedical.com/learn/overview/
  - type: Examples
    url: https://docs.canvasmedical.com/sdk/examples/
- aid: canvas-medical:canvas-medical-allergyintolerance-api
  name: Canvas Medical AllergyIntolerance API
  description: Allergy and intolerance records
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - AllergyIntolerance
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-allergyintolerance-api-openapi.yml
- aid: canvas-medical:canvas-medical-appointment-api
  name: Canvas Medical Appointment API
  description: Appointment scheduling and management
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Appointment
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-appointment-api-openapi.yml
- aid: canvas-medical:canvas-medical-careplan-api
  name: Canvas Medical CarePlan API
  description: Care plan management
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - CarePlan
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-careplan-api-openapi.yml
- aid: canvas-medical:canvas-medical-careteam-api
  name: Canvas Medical CareTeam API
  description: Care team coordination
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - CareTeam
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-careteam-api-openapi.yml
- aid: canvas-medical:canvas-medical-claim-api
  name: Canvas Medical Claim API
  description: Insurance claims and billing
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Claim
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-claim-api-openapi.yml
- aid: canvas-medical:canvas-medical-communication-api
  name: Canvas Medical Communication API
  description: Communications with or about a patient
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Communication
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-communication-api-openapi.yml
- aid: canvas-medical:canvas-medical-condition-api
  name: Canvas Medical Condition API
  description: Patient conditions, problems, and diagnoses
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Condition
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-condition-api-openapi.yml
- aid: canvas-medical:canvas-medical-consent-api
  name: Canvas Medical Consent API
  description: Patient consent records
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Consent
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-consent-api-openapi.yml
- aid: canvas-medical:canvas-medical-coverage-api
  name: Canvas Medical Coverage API
  description: Insurance coverage records
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Coverage
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-coverage-api-openapi.yml
- aid: canvas-medical:canvas-medical-diagnosticreport-api
  name: Canvas Medical DiagnosticReport API
  description: Diagnostic test reports
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - DiagnosticReport
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-diagnosticreport-api-openapi.yml
- aid: canvas-medical:canvas-medical-documentreference-api
  name: Canvas Medical DocumentReference API
  description: Clinical documents and attachments
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - DocumentReference
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-documentreference-api-openapi.yml
- aid: canvas-medical:canvas-medical-encounter-api
  name: Canvas Medical Encounter API
  description: Clinical encounters and visits
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Encounter
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-encounter-api-openapi.yml
- aid: canvas-medical:canvas-medical-goal-api
  name: Canvas Medical Goal API
  description: Patient care goals
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Goal
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-goal-api-openapi.yml
- aid: canvas-medical:canvas-medical-immunization-api
  name: Canvas Medical Immunization API
  description: Immunization records
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Immunization
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-immunization-api-openapi.yml
- aid: canvas-medical:canvas-medical-location-api
  name: Canvas Medical Location API
  description: Physical practice locations
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Location
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-location-api-openapi.yml
- aid: canvas-medical:canvas-medical-medicationrequest-api
  name: Canvas Medical MedicationRequest API
  description: Medication prescriptions and orders
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - MedicationRequest
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-medicationrequest-api-openapi.yml
- aid: canvas-medical:canvas-medical-metadata-api
  name: Canvas Medical Metadata API
  description: FHIR server capabilities
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Metadata
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-metadata-api-openapi.yml
- aid: canvas-medical:canvas-medical-observation-api
  name: Canvas Medical Observation API
  description: Clinical observations, vitals, and lab results
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Observation
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-observation-api-openapi.yml
- aid: canvas-medical:canvas-medical-organization-api
  name: Canvas Medical Organization API
  description: Healthcare organization information
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Organization
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-organization-api-openapi.yml
- aid: canvas-medical:canvas-medical-patient-api
  name: Canvas Medical Patient API
  description: Patient demographic and administrative data
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Patient
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-patient-api-openapi.yml
- aid: canvas-medical:canvas-medical-practitioner-api
  name: Canvas Medical Practitioner API
  description: Healthcare provider information
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Practitioner
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-practitioner-api-openapi.yml
- aid: canvas-medical:canvas-medical-procedure-api
  name: Canvas Medical Procedure API
  description: Clinical procedures performed
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Procedure
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-procedure-api-openapi.yml
- aid: canvas-medical:canvas-medical-questionnaire-api
  name: Canvas Medical Questionnaire API
  description: Structured data collection forms
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Questionnaire
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-questionnaire-api-openapi.yml
- aid: canvas-medical:canvas-medical-questionnaireresponse-api
  name: Canvas Medical QuestionnaireResponse API
  description: Patient responses to questionnaires
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - QuestionnaireResponse
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-questionnaireresponse-api-openapi.yml
- aid: canvas-medical:canvas-medical-schedule-api
  name: Canvas Medical Schedule API
  description: Practitioner availability schedules
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Schedule
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-schedule-api-openapi.yml
- aid: canvas-medical:canvas-medical-servicerequest-api
  name: Canvas Medical ServiceRequest API
  description: Orders for laboratory, imaging, and referrals
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - ServiceRequest
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-servicerequest-api-openapi.yml
- aid: canvas-medical:canvas-medical-slot-api
  name: Canvas Medical Slot API
  description: Available appointment time slots
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Slot
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-slot-api-openapi.yml
- aid: canvas-medical:canvas-medical-task-api
  name: Canvas Medical Task API
  description: Clinical and administrative tasks
  humanURL: https://docs.canvasmedical.com/api/
  baseURL: https://{canvas-instance}/api/
  tags:
  - Task
  properties:
  - type: OpenAPI
    url: openapi/canvas-medical-task-api-openapi.yml
common:
- type: AgenticAccess
  url: agentic-access/canvas-medical-agentic-access.yml
- type: DomainSecurity
  url: security/canvas-medical-domain-security.yml
- type: Authentication
  url: authentication/canvas-medical-authentication.yml
- type: OAuthScopes
  url: scopes/canvas-medical-scopes.yml
- type: Website
  url: https://www.canvasmedical.com/
- type: Documentation
  url: https://docs.canvasmedical.com/
- type: GitHubOrg
  url: https://github.com/canvas-medical
- type: LinkedIn
  url: https://www.linkedin.com/company/canvas-medical
- type: Blog
  url: https://www.canvasmedical.com/articles
- type: Pricing
  url: https://www.canvasmedical.com/pricing
- type: StatusPage
  url: https://status.canvasmedical.com/
- type: X
  url: https://x.com/canvasmedical
- type: Plans
  url: plans/canvas-medical-plans-pricing.yml
- type: RateLimits
  url: rate-limits/canvas-medical-rate-limits.yml
- type: FinOps
  url: finops/canvas-medical-finops.yml
- type: Sandbox
  url: https://www.canvasmedical.com/emrs/developer-sandbox
- type: GettingStarted
  url: https://docs.canvasmedical.com/learn/
- type: ReleaseNotes
  url: https://docs.canvasmedical.com/product-updates/release-notes/
- type: Support
  url: https://help.canvasmedical.com/
- type: ArazzoWorkflows
  workflows:
  - url: arazzo/canvas-medical-appointment-scheduling-workflow.yml
    name: Canvas Medical Appointment Scheduling
    summary: Locate a patient, find a practitioner's schedule, search for a free slot, then book and confirm an appointment.
  - url: arazzo/canvas-medical-care-plan-management-workflow.yml
    name: Canvas Medical Care Plan Management
    summary: Read the patient, record a care Goal, then retrieve the active CarePlan and the CareTeam coordinating it.
  - url: arazzo/canvas-medical-lab-order-results-workflow.yml
    name: Canvas Medical Lab Order to Results
    summary: Place a laboratory order with a ServiceRequest, then retrieve the resulting DiagnosticReport and the discrete
      Observation results.
  - url: arazzo/canvas-medical-medication-prescribing-workflow.yml
    name: Canvas Medical Medication Prescribing
    summary: Read the patient, check existing allergies and active medications for safety, then write a new prescription and
      confirm it.
  - url: arazzo/canvas-medical-patient-registration-workflow.yml
    name: Canvas Medical Patient Registration (Upsert)
    summary: Search for an existing patient by identifier and update it if found, otherwise create a new US Core Patient.
  - url: arazzo/canvas-medical-questionnaire-assessment-workflow.yml
    name: Canvas Medical Questionnaire Assessment Capture
    summary: Find a questionnaire by title, submit a completed QuestionnaireResponse, then read it back to confirm capture.
  - url: arazzo/canvas-medical-smart-us-core-patient-retrieval-workflow.yml
    name: Canvas Medical SMART on FHIR US Core Retrieval
    summary: Discover server capabilities, locate a patient, then pull the US Core clinical summary - problems, vitals/labs,
      medications, and allergies.
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com