Skip to main content
CORE DEVELOPER · GET STARTED Getting to production runs in one direction: request a sandbox, build against it, then clear three requirements before production credentials are issued. Sandbox access is free and does not require a Core Developer subscription, so you can validate your use case before you commit to one.
01 — SANDBOX

Start free

1

Request a sandbox

Email support@elationhealth.com and ask for a Developer Sandbox. Sandbox access is open to current Elation customers and to organizations looking to partner with Elation.
2

Sign the API License and Usage Agreement

Sandbox access requires an executed API License and Usage Agreement.
3

Get provisioned

Sandboxes are typically ready within 1–2 business days. Your sandbox starts with only the account used to provision it. Add more providers under Settings > Manage Accounts.

What the sandbox is

The sandbox is a blank replica of Elation EHR. You create your own users, sample patient charts, and account settings. It runs with the same security controls as production and is simply designated non-PHI.
Never put PHI in the sandbox. Sandbox practices are PHI-free by design. Use synthetic or sample data only.
Sandbox and production stay permanently separate. There is no way to copy data or configuration between them in either direction, so don’t plan a cutover that depends on promoting sandbox content. Production credentials are also newly generated rather than carried over.
02 — API CREDENTIALS

Generating and managing keys

Practice admins manage API credentials from Settings > API Access. You can issue multiple credentials rather than reusing one, which is worth doing: separate keys per integration, per vendor, or per internal service mean you can revoke one without breaking the rest.
API Access settings page showing an empty API Keys section with a "+ Create API Key" button in the upper right.

Settings > API Access, before any keys exist.

Two things to know when you create a credential. The API type is fixed at creation. You choose Elation APIv2 or FHIR R4 up front, and it cannot be changed afterward. A REST credential cannot mint FHIR tokens, so if you need both, create two.
Create API Key dialog with the Name field set to "Test Credentials" and Elation APIv2 selected as the API type, with FHIR shown as the unselected alternative.

Choose APIv2 or FHIR R4 when you name the key. This choice is permanent.

The client secret is shown once. It cannot be retrieved later. Copy or download it before you close the dialog.
API Key Created dialog warning that the Client Secret cannot be shown again, with Client ID and Client Secret fields, copy icons, a Download Credentials button, and a confirmation checkbox.

The secret appears once, at creation. Save it before closing.

Scopes are the exception to all of this: you can edit them any time after creation and changes take effect immediately. Narrow them to what the integration actually needs, so an exposed key can’t reach the whole practice.
Edit Scopes dialog listing API categories such as Orders API at 20 of 40 selected and Patient Document API at 22 of 44 selected, with a "Set All to Read-Only" link.

Scopes are editable after creation, per API family, with read and write separated.

See Self-Service API Credential Management for the full walkthrough.
03 — YOUR FIRST CALL

Get a token, then call an endpoint

Elation uses the OAuth2 Client Credentials grant. Exchange your client ID and secret for an access token, then send that token as a Bearer token on every request.
Tokens expire. The response includes expires_in, typically 3600 seconds, so request a new token when the old one lapses rather than caching it indefinitely. See Scopes if you are limiting what a credential can reach.

Try it in the API reference

Opens the token endpoint with its playground expanded. Paste in your sandbox client ID and secret to get a real token back, no local setup.
Swap the hostname for https://app.elationemr.com when you move to production. Everything else about the flow is the same.

04 — WEBHOOKS

Get notified when data changes

If your workflow needs to react to changes rather than poll for them, create a subscription through the Event Subscription API. No separate enablement request is required.
See Subscribe to a resource’s updates for the request body, and Webhooks for the full list of event models, Ed25519 signature verification, and retry behavior.
05 — HOSTED DATABASE

Run your first query

Hosted Database access is provisioned separately from API credentials. You will use either an Elation-managed Reader Account or a Direct Share into a Snowflake account your organization owns. Reader Account credentials arrive over a secure channel rather than in the app; see Hosted Database access for how they are delivered. Once you are logged in, set your database and schema context in a worksheet, then confirm your data is there:
If the count returns a number and the preview shows rows, your login, warehouse, and data share are all working. To find where anything else lives before you write a query, browse the full Hosted Database schema. It is public, searchable by table, and shows every column and the relationships between tables.

Set up access

How to request a Direct Share into your own Snowflake account, including the 30-day window before you lose access to your Elation Reader Account.

Snowflake walkthrough

Step-by-step with screenshots: selecting your database, schema, and warehouse, then running a query.

Browse the schema

Every table, column, and relationship in an interactive diagram. No login needed.

06 — ELATION AI

Build and explore faster

Never put production secrets in an AI prompt. Use your own sandbox credentials when testing, and keep client secrets, tokens, and PHI out of anything you paste into an assistant.

07 — RUNNING IN PRODUCTION

Keeping your integration healthy

Handle rate limits

The API License and Usage Agreement limits usage to fewer than 3 calls per second and fewer than 150,000 calls per 24 hours, and Elation may adjust those limits. The API returns 429 when you go over. Build in retry with exponential backoff, and reuse an access token until it expires rather than requesting a fresh one per call. See errors. The budget is counted per credential, not per endpoint, so every call your integration makes draws from the same pool. If one integration is genuinely constrained by the ceiling, contact support@elationhealth.com about splitting the work across additional credentials.

Confirm what’s switched on for your account

Granular API scopes and user impersonation are in closed beta and available to select customers only, and Elation Analyst is in Beta and not yet enabled on every account. Ask Support what is active for your practice before you design around any of them.

Watch for changes before they reach you

The API 2.0 Changelog and the Hosted Database Release Notes both publish RSS, so wire them into Slack or a feed reader. See Subscribe to Elation Release Feeds. Hosted Database schema changes carry advance notice: 30 calendar days for breaking changes, 7 for behavior changes, and an announcement at release for additive ones. See change management for the policy, or Early Release to test a change against your pipelines before it goes GA.

Check status before opening a ticket

Live platform status is at elation.status.io. For anything account-specific, email support@elationhealth.com.