GraphQL API

Public, workflow, and integration operations.

GraphQL is served at /api/graphql. schema.graphql is the reference. Workflow mutations take an operationKey and usually an expectedVersion.

Public

OperationPurpose
hospitalBrandingPractice profile
bookableAppointmentTypes, bookableProvidersBooking catalog
availableAppointmentSlots(appointmentTypeId, providerId, facilityId, date)Open slots
requestAppointment(...)Anonymous, rate limited
intakeFormByAccessCode, submitIntakeFormOne-time intake

Workflow mutations

AreaMutations
VisitstransitionAppointment, arriveAppointment, transitionCareQueue, openEncounter, transitionEncounter, reviewEpisodePolicy, recoverEpisodeClosure
PatientsregisterPatient, recordConsentDecision, issueIntakeForm, transitionIntakeReview
InpatientreserveBed, releaseBedReservation, admitPatient, transitionAdmission, transitionBedReadiness
ClinicalplaceMedicalOrder, collectSpecimen, recordLabResult, correctLabResult, recordPrescription, scheduleProcedure, establishCarePlan, draftClinicalDocument, amendClinicalDocument, recordVitalSign and their transition… pairs
BillingrecordPatientCoverage, prepareInsuranceClaim, recordPatientPayment, requestPatientRefund and transition… pairs
CommunicationssendSecurePatientMessage, transitionPatientMessage, registerCommunicationTemplate, reviseCommunicationTemplate, setCommunicationPreference
SuppliesregisterInventoryItem, moveInventory, previewInventoryImport, applyInventoryImport, rollbackInventoryImport
PlatforminstallIntegration, issueMachineCredential, dispatchIntegrationOutbox, dispatchClinicalOutbox, linkExternalIdentity, establishRetentionPolicy, placeRecordHold, recordRetentionDisposition, requestExportJob, processExportJob
AccountsbootstrapHospital, sendUserPasswordResetLink, redeemUserPasswordResetToken, updateActiveUser, applyHospitalOnboarding

Helper queries

appointmentScheduleConflicts, workflowPatientCandidates, workflowEncounterCandidates, labResultReadback, episodePolicyWorkspace, episodeClosureWorkspace, episodeChildWorkspace.

Example

mutation Confirm($id: ID!, $v: Int!) {
  transitionAppointment(
    operationKey: "confirm-1"
    appointmentId: $id
    toStatus: "confirmed"
    expectedVersion: $v
  ) { __typename }
}

Other routes

/api/health, /api/exports/{jobId}, /api/integrations/{installationKey}/webhook, /api/internal/outbox/dispatch, /api/payment-webhooks/[providerId], and /api/mcp-transport/[transport] (returns 404 here).

On this page