Getting Started

The best place to start building with the NexHealth API.

Available Resources

Getting Access

If you don't have an API key yet, provide your information to us here and we'll get back to you shortly.

Once onboard, you can start building in a sandbox environment we set up for you by making requests to https://sandbox.nexhealth.com/.

In production you'll switch to using https://nexhealth.info/.

Getting Authenticated

You will be provided with an API key after requesting access. Then you can make a POST request to /authenticates passing your key in the Authorization header. The response will contain a bearer token which is valid for 24 hours in sandbox and 1 hour in production. You can use this bearer token to access all other API routes.

All unauthenticated requests will return a 401 status code.

curl --request POST \
     --url https://sandbox.nexhealth.com/authenticates \
     --header 'Accept: application/vnd.Nexhealth+json;version=2' \
     --header 'Authorization: YOUR_API_KEY'

Successful authentication will result in a response containing a bearer token provided in the response body:

{
    "code": true,
    "data": {
        "token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwic2NwIjoiYXBpX3VzZXIiLCJpYXQiOjE2Mjg3NDMyNzksImV4cCI6MTYyODc0Njg3OSwianRpIjoiNjYxNjY4YWYtMTZkYS00OWFhLTljM2ItNmI0MDNiOTQxZWExIn0.hzbAv-Bx8vhEMXM1sGmAa9tO3WzUyvgBN8aw4tdOrG0"
    },
    "description": "Authenticated",
    "error": []
}

πŸ“˜

Using bearer tokens

Once you've received your bearer token make sure you add the string "Bearer" to your authentication headers as shown below.

--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwic2NwIjoiYXBpX3VzZXIiLCJpYXQiOjE2Mjg3NDMyNzksImV4cCI6MTYyODc0Njg3OSwianRpIjoiNjYxNjY4YWYtMTZkYS00OWFhLTljM2ItNmI0MDNiOTQxZWExIn0.hzbAv-Bx8vhEMXM1sGmAa9tO3WzUyvgBN8aw4tdOrG0'

Making a Request

Your sandbox environment comes with an institution or subdomain, and location already set up for you. An institution is a logical grouping of practices like multiple offices operating under the same brand, and a location represents a single office where treatment takes place.

Below is a simple request with appropriate versioning and authorization code. This request to the patients endpoint returns a single patient from the subdomain and location provided.

curl --request GET \
     --url 'https://sandbox.nexhealth.com/patients?subdomain=YOUR_SUBDOMAIN&location_id=YOUR_LOCATION&new_patient=false&include_upcoming_appts=false&location_strict=false&page=1&per_page=1' \
     --header 'Accept: application/vnd.Nexhealth+json;version=2' \
     --header 'Authorization: Bearer YOUR_BEARER_TOKEN'

Here is what you should get as a JSON response to the above request.

{
    "code": true,
    "data": {
        "patients": [{
            "id": 143776,
            "email": null,
            "first_name": "John",
            "last_name": "Smith",
            "created_at": "2020-08-12T19:17:22.575Z",
            "updated_at": "2020-08-12T19:25:17.591Z",
            "account_activated": false,
            "middle_name": null,
            "foreign_id": "19",
            "foreign_id_type": "msg-opendental-DataSource-35",
            "requested_access": false,
            "waitlisted_at": {},
            "inst_ids": [],
            "prov_ids": [],
            "config": {},
            "unsubscribe_emails": false,
            "last_import_id": "e872caee-8e2a-40dd-a403-ca7099040b8d",
            "invalid_email": [],
            "inactive": true,
            "last_sync": null,
            "last_sync_time": "2020-08-12T19:25:17.591Z",
            "unsubscribe_sms": false,
        }]
    },
    "description": [],
    "count": 35,
    "error": []
}

Start Building

Now that you've made your first request you can jump right into our reference documentation, or check out more guides below.

  • Book an Appointment will show you how to create appointments and start driving revenue for practices.
  • Access Procedure Codes will describe how to get deeper insight into the procedures a practice is providing.