---
title: "athenahealth athenaOne MCP server for AI agents - actionlake"
description: "Give Claude 815 athenahealth athenaOne actions through one MCP server: patients, chart, fhir. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/athenahealth-athenaone
updated: 2026-10-23
---

Connectors · Work & projects

# athenahealth athenaOne MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to athenahealth athenaOne and the rest of your systems. It gives your agent 815 athenahealth athenaOne actions (501 reads, 244 writes and 70 that wait for a confirmation) and holds the athenahealth athenaOne credential itself, so the agent never does. It paces athenahealth athenaOne's limits and records every call.

[Connect athenahealth athenaOne free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "athenahealth.departments.list",
  intent: "check which athenahealth athenaOne account is connected"
}
# Get list of all departments · read · 1 upstream call
```

- 815 actions in one signed file
- 501 read look, never change
- 244 write create and update
- 70 wait for a yes destructive, confirmed first

Set up

## Connect athenahealth athenaOne in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect athenahealth athenaOne.
   OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `client_id` athenahealth app client ID (Developer Portal > My Apps > your app > Client ID)
   - `client_secret` athenahealth app client secret
   - `practice_id` Your athenahealth athenaOne practice id
   - `tenant_host` Where your athenahealth athenaOne lives: your tenant host
   ```
   account { op: "connections.requirements", service: "athenahealth" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "athenahealth.departments.list" }
   # get list of all departments · read · 1 upstream call
   check { action: "athenahealth.patients.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

athenahealth athenaOne at a glance

**Sign-in**

OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.

**You provide**

`client_id` `client_secret`

**Setup fields**

`practice_id` `tenant_host`

**Limits we pace to**

15 calls a second, per connection

**API covered**

AthenaOne REST API v1 (/v1/{practiceid}) plus FHIR DSTU2 and FHIR R4 (/fhir/r4), OpenAPI 3.0 collections`api.platform.athenahealth.com`

**Built from**

athenahealth athenaOne's documentation, read 23 October 2026[docs.athenahealth.com](https://docs.athenahealth.com/api/rest/sandbox-swagger?_format=json) [docs.athenahealth.com](https://docs.athenahealth.com/api/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

501 of 501 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line athenahealth athenaOne up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in athenahealth athenaOne.

815 actions in 62 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **501** read look, never change
- **244** write create and update
- **70** destructive wait for a confirmation

1. ### Patients
   202
   113 read · 69 write · 20 destructive
   Get list of patients for a practice · Create new patient record · Get patient's insurance packages · Get specific patient record
2. ### Chart
   178
   87 read · 75 write · 16 destructive
   Get patient's medication list · Get patient's problem list · Get list of past screening questionnaires for a patient · Get list of patient's lab analytes
3. ### Fhir
   66
   65 read · 1 write · 0 destructive
   Find appointments within a practice · Gets a list of care plans for a given patient · Find clinical impresssions for a given patient · Gets a list of devices for a given patient
4. ### Appointments
   58
   24 read · 25 write · 9 destructive
   Get list of booked appointment slots · Get list of open appointment slots · Get appointment details · Create appointment reminder
5. ### Documents
   38
   19 read · 18 write · 1 destructive
   Add admin document without linking to a patient · Get list of admin documents not linked to a patient · Create new phone message for given department · Get list of phone messages for given department
6. ### Stays
   38
   35 read · 2 write · 1 destructive
   Get list of active hospital stays · Get list of hospital stays · Get list of assessments for a specific stay · Get patient's care team members
7. ### Reference
   21
   21 read · 0 write · 0 destructive
   Get list of appointment confirmation statuses · Search for available medications · Get reference list of provider-specialties · Get list of provider-types
8. ### Claims
   19
   10 read · 7 write · 2 destructive
   Create new financial claim · Get list of claim details · Upload new attachment · Get list of all claim attachments

**54 more areas · 195 actions**

- Providers **16**
- Misc **11**
- Orders **11**
- Configuration **9**
- Referringproviders **9**
- Encounter **8**
- Chargecodes **7**
- Inpatient **7**
- Visits **7**
- Employers **6**
- Insurancepackages **6**
- Ccmenrollmentstatus **5**
- Imagingresults **5**
- Labresults **5**
- Orcase **5**
- Prescriptions **5**
- Providernumbers **5**
- Referringprovidernumbers **5**
- Surgerycases **5**
- Appointmenttypes **4**
- Departments **4**
- Inventory **4**
- Usermessages **4**
- Ccda **3**
- Feeschedules **3**
- Patientappointmentreasons **3**
- Clinicalproviders **2**
- Communicatorbrands **2**
- Healthhistoryforms **2**
- Patientsatisfaction **2**
- Populationmanagement **2**
- Appointmentcancelreasons **1**
- Beds **1**
- Customfields **1**
- Documentassignment **1**
- Documenttypes **1**
- Ethnicities **1**
- Faxconfirmations **1**
- Generalledger **1**
- Greetingsandinstructionalmessages **1**
- Hpi **1**
- Languages **1**
- Mobilecarriers **1**
- Patientsecuremessage **1**
- Personalpronouns **1**
- Ping **1**
- Practiceinfo **1**
- Races **1**
- Referralsources **1**
- Slidingfeeplans **1**
- Staff **1**
- States **1**
- Textmacros **1**
- Userinfo **1**

Top actions

## The athenahealth athenaOne API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `athenahealth.patients.list` Get list of patients for a practice | Get list of patients for a practice. | read | this connector |
| `athenahealth.providers.list` Get list of all providers | Get list of all providers. | read | this connector |
| `athenahealth.departments.list` Get list of all departments | Get list of all departments. | read | this connector |
| `athenahealth.appointments_booked.list` Get list of booked appointment slots | Get list of booked appointment slots. | read | this connector |
| `athenahealth.patients.create` Create new patient record | Create new patient record. | write | this connector |
| `athenahealth.practiceinfo.list` Get list of practice(s), athena-products enabled for the user | Get list of practice(s), athena-products enabled for the user. | read | this connector |
| `athenahealth.appointmenttypes.list` Get list of appointment types | Get list of appointment types. | read | this connector |
| `athenahealth.chart_problems.list` Get patient's problem list | Get patient's problem list. | read | this connector |
| `athenahealth.appointments_open.list` Get list of open appointment slots | Get list of open appointment slots. | read | this connector |
| `athenahealth.patients.update` Update specific patient record | Update specific patient record. | write | this connector |
| `athenahealth.claims.create` Create new financial claim | Create new financial claim. | write | this connector |
| `athenahealth.appointments_cancel.cancel` Cancel appointment | Cancel appointment. | destructive | this connector |

Try it

## Prompts to paste into Claude.

Each one names the athenahealth athenaOne actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Find the athenahealth athenaOne contacts with no email address, so we can clean them up.
   calls `athenahealth.patients.list`
2. Write write
   Create new patient record in athenahealth athenaOne. Show me exactly what you will send before you save it.
   calls `athenahealth.patients.create`
3. Across systems read
   Which contacts are in both athenahealth athenaOne and HaloPSA, and how many are in only one of them?
   calls `athenahealth.patients.list` `halopsa.users.list`

Across your systems

## athenahealth athenaOne, joined to the rest of your business.

One `ask` fetches from athenahealth athenaOne and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which contacts are in both athenahealth athenaOne and HaloPSA, and how many are in only one of them?
  `athenahealth.patients.list` + `halopsa.users.list`, on `crm.contact` · [HaloPSA](https://actionlake.com/connectors/halopsa)
- Which contacts are in both athenahealth athenaOne and NetSuite, and how many are in only one of them?
  `athenahealth.patients.list` + `netsuite.views.contacts`, on `crm.contact` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `crm.contact` **192** `identity.organizational_unit` **10** `service.service_appointment` **9**

ask

```
ask {
  intent: "which contacts are in both athenahealth athenaOne and HaloPSA, and how many are in only one of them",
  steps: [
    { action: "athenahealth.patients.list", as: "people", input: {}, limit: 100, max_pages: 5 },
    { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "people",
        right: "people2",
        on: "crm.contact",
        group_by: "people.email",
        select: ["people.email", "count(people2.id) as in_halopsa"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for athenahealth athenaOne

## Destructive actions wait for a yes.

70 athenahealth athenaOne actions are destructive. The first 10:

- Cancel appointment `athenahealth.appointments_cancel.cancel`
- Delete an employee record `athenahealth.employers.delete`
- Delete information of given provider `athenahealth.providers.delete`
- Delete open appointment slot `athenahealth.appointments.delete`
- Delete specific user-message (internal email) `athenahealth.usermessages.delete`
- Remove a problem from patient's problem list `athenahealth.chart_problems.delete`
- Remove vaccine from patient's chart `athenahealth.chart_vaccines.delete`
- Delete patient's photo `athenahealth.patients_photo.delete`
- Delete items from inventory list `athenahealth.inventory_items.delete`
- Hide medication on patient's medication list (mark as hidden) `athenahealth.chart_medications.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do athenahealth.appointments_cancel.cancel confirm_policy: **human**

Cancel appointment?

**intent:** the user asked me to cancel appointment

run suspended · waiting for a named person · key _athenahealth-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "athenahealth-agent",
  allowed_actions: ["athenahealth.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "athenahealth.appointments_cancel.cancel", approver: "lead@example.com" },
    { match: "athenahealth.employers.delete", approver: "lead@example.com" },
    { match: "athenahealth.providers.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to athenahealth athenaOne only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What athenahealth athenaOne costs on actionlake.

Every athenahealth athenaOne action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call athenahealth athenaOne refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 815 athenahealth athenaOne actions
- 815 actions page each page of a long list is one call
- 501 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every athenahealth athenaOne action.

815 actions by area: the id your agent calls, what it does, and its effect.

**Patients 202**

- `athenahealth.patients.create` Create new patient record write
- `athenahealth.patients.get` Get specific patient record read
- `athenahealth.patients.list` Get list of patients for a practice read
- `athenahealth.patients_insurances.list` Get patient's insurance packages read
- `athenahealth.patients.update` Update specific patient record write
- `athenahealth.patients_appointments.get` Get patient's specific appointment read
- and 196 more in this area

**Chart 178**

- `athenahealth.chart_administeredquestionnairescreeners.list` Get list of past screening questionnaires for a patient read
- `athenahealth.chart_analytes.list` Get list of patient's lab analytes read
- `athenahealth.chart_medications.list` Get patient's medication list read
- `athenahealth.chart_problems.list` Get patient's problem list read
- `athenahealth.chart_cancercases.get` Get open cancer cases for the patient and department read
- `athenahealth.chart_configuration_facilities.list` Get list of facilities read
- and 172 more in this area

**Fhir 66**

- `athenahealth.fhir_dstu2_appointment.list` Find appointments within a practice read
- `athenahealth.fhir_dstu2_careplan.list` Gets a list of care plans for a given patient read
- `athenahealth.fhir_dstu2_clinicalimpression.list` Find clinical impresssions for a given patient read
- `athenahealth.fhir_dstu2_device.list` Gets a list of devices for a given patient read
- `athenahealth.fhir_dstu2_appointment.get` Get a single appointment read
- `athenahealth.fhir_dstu2_careplan_assessplan.get` Get a specific care plan by ID read
- and 60 more in this area

**Appointments 58**

- `athenahealth.appointments.get` Get appointment details read
- `athenahealth.appointments_appointmentreminders.create` Create appointment reminder write
- `athenahealth.appointments_booked.list` Get list of booked appointment slots read
- `athenahealth.appointments_open.list` Get list of open appointment slots read
- `athenahealth.appointments.delete` Delete open appointment slot destructive
- `athenahealth.appointments.update` Book appointment write
- and 52 more in this area

**Documents 38**

- `athenahealth.documents_admin.create` Add admin document without linking to a patient write
- `athenahealth.documents_admin.list` Get list of admin documents not linked to a patient read
- `athenahealth.documents_phonemessage.create` Create new phone message for given department write
- `athenahealth.documents_phonemessage.list` Get list of phone messages for given department read
- `athenahealth.documents_admin.get` Get specific admin document without specifying patient ID read
- `athenahealth.documents_admin.update` Update admin document without specifying patient ID write
- and 32 more in this area

**Stays 38**

- `athenahealth.stays_active.list` Get list of active hospital stays read
- `athenahealth.stays_all.list` Get list of hospital stays read
- `athenahealth.stays_assessments.list` Get list of assessments for a specific stay read
- `athenahealth.stays_careteammembers.list` Get patient's care team members read
- `athenahealth.stays.get` Get specific hospital stay details read
- `athenahealth.stays_active_orders_consult.list` Get list of consult orders for all patients currently in hospital read
- and 32 more in this area

**Reference 21**

- `athenahealth.reference_appointmentconfirmationstatus.list` Get list of appointment confirmation statuses read
- `athenahealth.reference_medications.list` Search for available medications read
- `athenahealth.reference_providerspecialties.list` Get reference list of provider-specialties read
- `athenahealth.reference_providertypes.list` Get list of provider-types read
- `athenahealth.reference_clinicalproviderordertype_imaging.list` Get list of imaging studies for CPOT read
- `athenahealth.reference_clinicalproviderordertype_lab.list` Get list of labs for CPOT read
- and 15 more in this area

**Claims 19**

- `athenahealth.claims.create` Create new financial claim write
- `athenahealth.claims.list` Get list of claim details read
- `athenahealth.claims_attachments.create` Upload new attachment write
- `athenahealth.claims_attachments.list` Get list of all claim attachments read
- `athenahealth.claims.get` Get individual claim details read
- `athenahealth.claims.update` Update individual claim details write
- and 13 more in this area

**Providers 16**

- `athenahealth.providers.create` Add new provider write
- `athenahealth.providers.get` Get information of given provider read
- `athenahealth.providers.list` Get list of all providers read
- `athenahealth.providers_addbillingrows.create` Create new provider billing record(row) write
- `athenahealth.providers.delete` Delete information of given provider destructive
- `athenahealth.providers.update` Update information of given provider write
- and 10 more in this area

**Misc 11**

- `athenahealth.misc_commoninsurancepackages.list` Get reference list of common insurance packages read
- `athenahealth.misc_patientlocations.list` Get reference list of patient locations read
- `athenahealth.misc_properjsonencoding.create` Set strict JSON encoding format for API-return data-types write
- `athenahealth.misc_topinsurancepackages.list` Get list of top insurance packages read
- `athenahealth.misc_oneyearcontractterms.get` Get terms for 1-year contract read
- `athenahealth.misc_portalsettings.get` Get patient portal setting details read
- and 5 more in this area

**Orders 11**

- `athenahealth.orders_changed.list` Get list of changes in orders based on subscription read
- `athenahealth.orders_changed_subscription.create` Subscribe to all/specific change events for orders write
- `athenahealth.orders_outstanding.list` Get outstanding orders read
- `athenahealth.orders_signedoff.list` Get signed off orders read
- `athenahealth.orders_changed_subscription.delete` Unsubscribe to all/specific change events for orders destructive
- `athenahealth.orders_changed_subscription.list` Get list of order change subscription(s) read
- and 5 more in this area

**Configuration 9**

- `athenahealth.configuration_chartsharinggroups.list` Get practice's list of chart-sharing groups read
- `athenahealth.configuration_encounterreasons.list` Get the list of configured encounter reasons read
- `athenahealth.configuration_ordersets.list` Get list of ordersets for given user read
- `athenahealth.configuration_ordertype.list` Get list of orderable concept (ordertype or CPOT) read
- `athenahealth.configuration_appointments_chargeentrynotrequiredreasons.list` Get list of charge entry not required reasons read
- `athenahealth.configuration_inbox_staff.list` Get list of users whom tasks can be assigned for given department read
- and 3 more in this area

**Referringproviders 9**

- `athenahealth.referringproviders.create` Add new referring provider write
- `athenahealth.referringproviders.get` Get information of given referring provider read
- `athenahealth.referringproviders.list` Get list of referring providers read
- `athenahealth.referringproviders_changed.list` Get list of changes in referring-providers read
- `athenahealth.referringproviders.update` Update information of given referring provider write
- `athenahealth.referringproviders_changed_subscription.create` Subscribe to all/specific change events for referring-providers write
- and 3 more in this area

**Encounter 8**

- `athenahealth.encounter_configuration_modifiers.list` Get list of non-fee affecting modifiers read
- `athenahealth.encounter_procedurecodes.list` Get list of procedure codes available for given encounter read
- `athenahealth.encounter_services.create` Create a new service attacted to the billing slip of an encounter write
- `athenahealth.encounter_services.list` Get list of all services for given encounter read
- `athenahealth.encounter_services.delete` Delete specific service for given encounter destructive
- `athenahealth.encounter_services.get` Get encounter's service information read
- and 2 more in this area

**Chargecodes 7**

- `athenahealth.chargecodes.create` Create hospital charge code write
- `athenahealth.chargecodes.list` Get list of hospital charge codes read
- `athenahealth.chargecodes_changed.list` Get list of changes in hospital charge codes based on subscribed events read
- `athenahealth.chargecodes_changed_subscription.create` Subscribe to all/specific change events for hospital charge codes write
- `athenahealth.chargecodes_changed_subscription.delete` Unsubscribe to all/specific change events for hospital charge codes destructive
- `athenahealth.chargecodes_changed_subscription.list` Get list of subscribed events for changes in hospital charge codes read
- and 1 more in this area

**Inpatient 7**

- `athenahealth.inpatient_configuration_documentlabels.list` Get reference list of document labels for inpatient documents read
- `athenahealth.inpatient_document_admin.create` Add inpatient's admin document write
- `athenahealth.inpatient_document_admin.list` Get a list of specific inpatient's admin documents read
- `athenahealth.inpatient_document_clinical.create` Add clinical document to inpatient's chart write
- `athenahealth.inpatient_document_admin.get` Get specific admin document of an inpatient read
- `athenahealth.inpatient_document_clinical.get` Get specific clinical document by ID read
- and 1 more in this area

**Visits 7**

- `athenahealth.visits.list` Get list of hospital visits (with filters) read
- `athenahealth.visits_changed.list` Get list of changes in hospital visits based on subscribed events read
- `athenahealth.visits_changed_subscription.create` Subscribe to all/specific change events for hospital visits write
- `athenahealth.visits_visitcharge.create` Add visit charge to a hospital visit write
- `athenahealth.visits_changed_subscription.delete` Unsubscribe to all/specific change events for hospital visits destructive
- `athenahealth.visits_changed_subscription.list` Get list of subscribed events for changes in hospital visits read
- and 1 more in this area

**Employers 6**

- `athenahealth.employers.create` Create new employee record write
- `athenahealth.employers.get` Get specific employee record read
- `athenahealth.employers.list` Get practice's list of employees read
- `athenahealth.employers.update` Update specific employee record write
- `athenahealth.employers.delete` Delete an employee record destructive
- `athenahealth.employers_undelete.update` Undelete specific employee record write

**Insurancepackages 6**

- `athenahealth.insurancepackages.list` Get list of standard insurance packages read
- `athenahealth.insurancepackages_casepolicies.list` Get case-policies for insurance packages read
- `athenahealth.insurancepackages_configuration_locallyadministered.create` Create new local insurance package write
- `athenahealth.insurancepackages_configuration_locallyadministered.update` Update local insurance package write
- `athenahealth.insurancepackages_configuration_locallyadministered_deactivate.update` Disable a local insurance package write
- `athenahealth.insurancepackages_configuration_locallyadministered_reactivate.update` Re-enable a local insurance package write

**Ccmenrollmentstatus 5**

- `athenahealth.ccmenrollmentstatus_changed.list` Get list of changes in CCM enrollment status read
- `athenahealth.ccmenrollmentstatus_changed_subscription.create` Subscribe to all/specific change events for CCM enrollment status write
- `athenahealth.ccmenrollmentstatus_changed_subscription.list` Get list of subscribed events for changes in CCM enrollment status read
- `athenahealth.ccmenrollmentstatus_changed_subscription_events.list` Get list of change events for CCM enrollment status read
- `athenahealth.ccmenrollmentstatus_changed_subscription.delete` Unsubscribe to all/specific events for changes in CCM enrollment status destructive

**Imagingresults 5**

- `athenahealth.imagingresults_changed.list` Get list of changes in imaging results based on subscription read
- `athenahealth.imagingresults_changed_subscription.create` Subscribe to all/specific change events for imaging results write
- `athenahealth.imagingresults_changed_subscription.list` Get list of imaging result change subscription(s) read
- `athenahealth.imagingresults_changed_subscription_events.list` Get list of imaging result change events to which you can subscribe read
- `athenahealth.imagingresults_changed_subscription.delete` Unsubscribe to all/specific change events for imaging events destructive

**Labresults 5**

- `athenahealth.labresults_changed.list` Get list of changes in lab results based on subscription read
- `athenahealth.labresults_changed_subscription.create` Subscribe to all/specific change events for lab results write
- `athenahealth.labresults_changed_subscription.list` Get list of lab result change subscription(s) read
- `athenahealth.labresults_changed_subscription_events.list` Get list of lab result change events to which you can subscribe read
- `athenahealth.labresults_changed_subscription.delete` Unsubscribe to all/specific change events for lab events destructive

**Orcase 5**

- `athenahealth.orcase_changed.list` Get list of changes in OR-cases based on subscribed events read
- `athenahealth.orcase_changed_subscription.create` Subscribe to all/specific change events for hospital OR-cases write
- `athenahealth.orcase_changed_subscription.list` Get list of subscribed events for changes in hospital OR-cases read
- `athenahealth.orcase_changed_subscription_events.list` Get list of hospital OR-cases change events to which you can subscribe read
- `athenahealth.orcase_changed_subscription.delete` Unsubscribe to all/specific change events for hospital OR-cases destructive

**Prescriptions 5**

- `athenahealth.prescriptions_changed.list` Get list of changes in prescriptions read
- `athenahealth.prescriptions_changed_subscription.create` Subscribe to all/specific change events for prescriptions write
- `athenahealth.prescriptions_changed_subscription.list` Get list of subscribed events for changes in prescriptions read
- `athenahealth.prescriptions_changed_subscription_events.list` Get list of change events for prescriptions read
- `athenahealth.prescriptions_changed_subscription.delete` Unsubscribe to all/specific events for changes in prescriptions destructive

**Providernumbers 5**

- `athenahealth.providernumbers_changed.list` Get list of changes in provider numbers read
- `athenahealth.providernumbers_changed_subscription.create` Subscribe to all/specific change events for provider numbers write
- `athenahealth.providernumbers_changed_subscription.list` Get list of subscribed events for changes in provider numbers read
- `athenahealth.providernumbers_changed_subscription_events.list` Get list of change events for provider numbers read
- `athenahealth.providernumbers_changed_subscription.delete` Unsubscribe to all/specific events for changes in provider numbers destructive

**Referringprovidernumbers 5**

- `athenahealth.referringprovidernumbers_changed.list` Get list of changes in referring-provider numbers read
- `athenahealth.referringprovidernumbers_changed_subscription.create` Subscribe to all/specific change events for referring-provider numbers write
- `athenahealth.referringprovidernumbers_changed_subscription.list` Get list of subscribed events for changes in referring-provider numbers read
- `athenahealth.referringprovidernumbers_changed_subscription_events.list` Get list of change events for referring-provider numbers read
- `athenahealth.referringprovidernumbers_changed_subscription.delete` Unsubscribe to all/specific events for changes in referring-provider numbers destructive

**Surgerycases 5**

- `athenahealth.surgerycases_changed.list` Get list of changes in surgical cases based on subscribed events read
- `athenahealth.surgerycases_changed_subscription.create` Subscribe to all/specific change events for hospital surgical cases write
- `athenahealth.surgerycases_changed_subscription.list` Get list of subscribed events for changes in hospital surgical cases read
- `athenahealth.surgerycases_changed_subscription_events.list` Get list of hospital surgical cases change events to which you can subscribe read
- `athenahealth.surgerycases_changed_subscription.delete` Unsubscribe to all/specific change events for hospital surgical cases destructive

**Appointmenttypes 4**

- `athenahealth.appointmenttypes.create` Add appointment type write
- `athenahealth.appointmenttypes.get` Get list of appointment types (GET /appointmenttypes/{appointmenttypeid}) read
- `athenahealth.appointmenttypes.list` Get list of appointment types read
- `athenahealth.appointmenttypes.update` Update an appointment type entry write

**Departments 4**

- `athenahealth.departments.get` Get specific department information read
- `athenahealth.departments.list` Get list of all departments read
- `athenahealth.departments_checkinrequired.list` Get list of required fields for patient check-in read
- `athenahealth.departments_ecommunicationdisclosure.get` Get legal e-communication disclosure information read

**Inventory 4**

- `athenahealth.inventory_items.create` Add items to inventory list write
- `athenahealth.inventory_items.delete` Delete items from inventory list destructive
- `athenahealth.inventory_items.list` Get list of inventory items read
- `athenahealth.inventory_items.update` Update items in inventory list write

**Usermessages 4**

- `athenahealth.usermessages.create` Send a new user-message (internal email) write
- `athenahealth.usermessages.delete` Delete specific user-message (internal email) destructive
- `athenahealth.usermessages.get` Get list of user-messages (internal emails) read
- `athenahealth.usermessages.update` Update specific user-message (internal email) write

**Ccda 3**

- `athenahealth.ccda_ccdaexport.get` Retrieve CCDA document read
- `athenahealth.ccda_patientcareplan.get` Get patient's care plan read
- `athenahealth.ccda_vitals.list` Get patient's vitals read

**Feeschedules 3**

- `athenahealth.feeschedules_checkprocedure.get` Get fee-schedule for a procedure read
- `athenahealth.feeschedules_configuration_procedure.create` Create fee-schedule for a procedure write
- `athenahealth.feeschedules_configuration_procedure.delete` Delete fee-schedule for a procedure destructive

**Patientappointmentreasons 3**

- `athenahealth.patientappointmentreasons.list` Get list of appointment reasons read
- `athenahealth.patientappointmentreasons_existingpatient.list` Get list of appointment reasons for existing patients read
- `athenahealth.patientappointmentreasons_newpatient.list` Get list of appointment reasons for new patients read

**Clinicalproviders 2**

- `athenahealth.clinicalproviders.get` Get information on given clinical provider read
- `athenahealth.clinicalproviders_search.search` Get list of clinical providers - matching given criteria read

**Communicatorbrands 2**

- `athenahealth.communicatorbrands.get` Get specific communicator brand information read
- `athenahealth.communicatorbrands.list` Get practice's list of communicator brands read

**Healthhistoryforms 2**

- `athenahealth.healthhistoryforms.get` Get contents of one generic health history form read
- `athenahealth.healthhistoryforms.list` Get list of live health history forms at practice read

**Patientsatisfaction 2**

- `athenahealth.patientsatisfaction.get` Get patient-satisfaction score - for past appointments read
- `athenahealth.patientsatisfaction_results.create` Upload patient-satisfaction score data write

**Populationmanagement 2**

- `athenahealth.populationmanagement_riskcontract.get` Get basic/default risk contract information read
- `athenahealth.populationmanagement_riskcontract.update` Update basic/default risk contract information write

**Appointmentcancelreasons 1**

- `athenahealth.appointmentcancelreasons.list` Get list of appointment cancellation reasons read

**Beds 1**

- `athenahealth.beds.list` Get a list of avaible beds in the hospital read

**Customfields 1**

- `athenahealth.customfields.list` Get practice's list of custom-fields read

**Documentassignment 1**

- `athenahealth.documentassignment.get` Get possible assignment usernames for document read

**Documenttypes 1**

- `athenahealth.documenttypes.list` Get list of document types read

**Ethnicities 1**

- `athenahealth.ethnicities.list` Get reference list of ethnicities read

**Faxconfirmations 1**

- `athenahealth.faxconfirmations.create` Update fax receive confirmation details write

**Generalledger 1**

- `athenahealth.generalledger_inventory_consumption.create` Record consumption of inventory in the general ledger write

**Greetingsandinstructionalmessages 1**

- `athenahealth.greetingsandinstructionalmessages.list` Returns a list of Greetings and Instructional Mesaages read

**Hpi 1**

- `athenahealth.hpi_transactionid.create` Feedback from Elavon for HPI transaction write

**Languages 1**

- `athenahealth.languages.list` Get reference list of languages read

**Mobilecarriers 1**

- `athenahealth.mobilecarriers.list` Get reference list of mobile-carriers read

**Patientsecuremessage 1**

- `athenahealth.patientsecuremessage_providers_departmentsmapping.get` Get department mapping information for patient-messaging read

**Personalpronouns 1**

- `athenahealth.personalpronouns.get` Get the mapping of personal pronouns id to display name read

**Ping 1**

- `athenahealth.ping.get` Return an acknowledgement that request was received and that this API key has access to the given practice read

**Practiceinfo 1**

- `athenahealth.practiceinfo.list` Get list of practice(s), athena-products enabled for the user read

**Races 1**

- `athenahealth.races.list` Get reference list of races read

**Referralsources 1**

- `athenahealth.referralsources.list` Get list of referral sources read

**Slidingfeeplans 1**

- `athenahealth.slidingfeeplans.list` Get list of all sliding fee-plans read

**Staff 1**

- `athenahealth.staff_inbox.list` Get list of tasks assigned to given staff read

**States 1**

- `athenahealth.states.list` Get reference list of all states (enabled in athenaNet) read

**Textmacros 1**

- `athenahealth.textmacros.list` Get list of text-macros read

**Userinfo 1**

- `athenahealth.userinfo.get` For 3-legged OAuth users only, implements the Open ID Connect /userinfo protocol read

This index shows a sample of each area. All 815 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The athenahealth athenaOne MCP server, answered.

**Is there an athenahealth athenaOne MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 815 athenahealth athenaOne actions across patients, chart, fhir and appointments, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by athenahealth athenaOne.

**What do I need to connect athenahealth athenaOne?**

Athenahealth app client ID (Developer Portal > My Apps > your app > Client ID) and athenahealth app client secret. Plus your practice id and your tenant host. The free call account { op: "connections.requirements", service: "athenahealth" } lists exactly what to paste.

**Can an AI agent delete or change things in athenahealth athenaOne?**

Only if its key allows it, and only with an explicit confirmation. 70 athenahealth athenaOne actions are destructive, including cancel appointment, delete an employee record and delete information of given provider. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my athenahealth athenaOne API limit?**

actionlake paces every call to the limits in the athenahealth athenaOne service file: 15 calls a second per connection. Repeated reads are answered from cache (501 athenahealth athenaOne actions can be), which never reaches athenahealth athenaOne.

**What does an athenahealth athenaOne action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (815 athenahealth athenaOne actions page). Cache hits, searches, dry runs and calls athenahealth athenaOne refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which athenahealth athenaOne API does it cover?**

The athenaOne REST API v1 (/v1/{practiceid}) plus FHIR DSTU2 and FHIR R4 (/fhir/r4), OpenAPI 3.0 collections at api.platform.athenahealth.com by default, or the base URL set when you connect. It is built from athenahealth athenaOne's documentation as read on 23 October 2026. 815 actions in 62 areas, each one in the signed service file (version 1.0.0).

**Can I combine athenahealth athenaOne with my other systems?**

Yes. ask joins athenahealth athenaOne to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. athenahealth athenaOne maps crm.contact, which 192 other connectors also map.

**Does actionlake keep my athenahealth athenaOne data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your athenahealth athenaOne credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like athenahealth athenaOne

Joins with, on shared entities

- [Healthie 3](https://actionlake.com/connectors/healthie)
- [Microsoft Dynamics 365 3](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Medplum 3](https://actionlake.com/connectors/medplum)
- [ServiceTitan 3](https://actionlake.com/connectors/servicetitan)
- [Salesforce Service Cloud 3](https://actionlake.com/connectors/salesforce-service-cloud)
- [HaloPSA 2](https://actionlake.com/connectors/halopsa)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by athenahealth athenaOne; the name is the vendor's own. Counts are from the athenahealth athenaOne service file, version 1.0.0.

## Give your agent athenahealth athenaOne today.

[Connect athenahealth athenaOne free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/athenahealth-athenaone
More: https://actionlake.com/llms.txt
