Register in the athenahealth developer portal and obtain OAuth2 credentials; athenahealth uses an authorization code flow with practice-specific context.
All API calls include a practice ID in the URL path: https://api.platform.athenahealth.com/v1/{practiceId}/patients for patient operations.
Search for patients with GET /v1/{practiceId}/patients?firstname=&lastname=&dob= and inspect the returned array for matching patient records with their athenaPatientId.
To book an appointment, first retrieve open slots via GET /v1/{practiceId}/appointments/open with parameters appointmentTypeId, departmentId, and a date range.
Book a slot by PUT to /v1/{practiceId}/appointments/{appointmentId} with the patientId and any required reason or note fields to confirm the appointment.
Retrieve appointment details or check status via GET /v1/{practiceId}/appointments/{appointmentId}; use the /changed endpoints for efficient incremental sync.
Known gotchas
athenahealth's API is versioned at the practice level and individual practices may have different configurations, department structures, and appointment types—never assume IDs or types are consistent across practices.
The open appointments endpoint returns unbooked appointment slots, not availability windows; you must book one of the returned slot IDs, not a time of your choosing.
athenahealth enforces strict data governance; patient data access requires a signed data services agreement and the API may return limited demographic fields depending on the practice's configuration and your agreement level.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp