REST API Endpoint Reference
You can use the following 1upHealth FHIR REST API endpoints to interact with the data on the 1upHealth FHIR Server.
Get Users
GET https://api.1up.health/user-management/v1/user
Get the list of all the users that exist inside your 1up Developer Application.
You can filter by user.
Parameters
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 | |
| 400 |
Create User
POST https://api.1up.health/user-management/v1/user
This request creates a user with the attributes that you specify in the request body.
If the user already exists in the 1up FHIR Server, the request won't fail, but you'll receive the following error.
this user already exists
Parameters
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
| Body | ||
|---|---|---|
| app_user_id | string | Self-defined user name. |
|
client_id |
string |
One of two API keys generated for a new application. |
|
client_secret |
string |
One of two API keys generated for a new application. |
Responses
| 200 | |
| 404 |
Update User
PUT https://api.1up.health/user-management/v1/user
You can use the Update User API to modify an existing user object.
You can modify only the app_user_id. The oneup_user_id can’t be changed.
Parameters
| Header | ||
|---|---|---|
|
client_id |
string |
API key generated for your application. |
|
client_secret |
string |
API key generated for your application. |
| Body | ||
|---|---|---|
| app_id_user | string | Self-defined username |
|
oneup_user_id |
string |
System-generated user ID based on the username. |
Responses
| 200 |
Generate User Authorization Code
POST https://api.1up.health/user-management/v1/user/auth-code
A backend app can use this endpoint to get a new authorization code for a user. Note that this endpoint should not be called in a browser context because it would require exposing your app's secret key to users. The code received expires in 2 hours (7200 seconds).
Parameters
| Body | ||
|---|---|---|
| app_user_id | string | Self-defined user name. |
|
client_id |
string |
One of two API keys generated for a new application. |
|
client_secret |
string |
One of two API keys generated for a new application. |
Responses
| 200 | |
| 404 |
Generate Access Token from Code (valid for 2 hours)
POST https://auth.1up.health/oauth2/token
A back-end app can use this endpoint to exchange the authorization code for these tokens: access_token, refresh_token, and id_token. The id_token is only returned if you include the openid scope when you request the code.
Don’t call this endpoint in a browser because it requires exposing your applications secret key to users.
Parameters
| Body | ||
|---|---|---|
| code | string | Access code is exchanged for the bearer token. |
|
grant_type |
string |
|
|
client_id |
string |
1/2 API keys generated in creating a new application. |
|
secret |
string |
1/2 API keys generated in creating a new application. |
Responses
| 200 |
Generate Access Token from Refresh Token
POSThttps://auth.1up.health/oauth2/token
A back-end application can use this endpoint to exchange the refresh_token for a user for an access_token, refresh_token, and id_token.
Parameters
| Body | ||
|---|---|---|
| refresh_token | string | The refresh token generated for your application. |
|
grant_type |
string |
|
|
client_id |
string |
API key generated for your application. |
|
client_secret |
string |
API key generated for your application. |
Responses
| 200 |
Example response
Returns an The |
Get FHIR Resources
GET https://api.1up.health/<fhirVersion>/<resourceType>
Returns all matching FHIR® resources.
Parameters
| Query | ||
|---|---|---|
| _content | string |
The Example — |
|
_count |
number |
|
|
_skip |
number |
API key generated for your application. |
Responses
| 200 |
Example response
A paginated FHIR® Bundle that contains all the resources that match the query. The default is 10 resources per bundle.
|
Create a FHIR Resource
POST https://api.1up.health/<fhirVersion>/<resourceType>
Use to create a FHIR® resource of a specified type.
Parameters
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 |
Get All User Data
GET https://api.1up.health/<fhirVersion>/Patient/<patientId>/$everything
This endpoint returns a list of all known FHIR® resources for a given patient. This is useful when transmitting batch data or getting the full patient history.
Parameters
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 |
User data retrieved.
|
Delete All User Data
DELETE https://api.1up.health/<fhirVersion>/Patient/<patientId>/$everything
This endpoint returns an OperationOutcome resource stating that all the resources for the patient is deleted successfully. This is useful when deleting multiple resource types for a patient at once.
Parameters
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 |
An OperationOutcome resource with a success message that contains a patient ID.
|
Post Providers
POST https://system-search.1up.health/api/search
You can use this API endpoint to search for providers supported by 1up. You can use the query Search parameter.
Parameters
| Query | ||
|---|---|---|
|
query |
string |
String matches on name, address.line, or address.city. |
|
offset |
number |
Offset indicates the starting point within the result set. |
|
system_type |
string |
Indicates the type of system: HealthSystem, Payer2Payer, or PayerPatientAccess |
| Header | ||
|---|---|---|
|
Authorization |
string |
Authentication token to verify who is accessing the system. |
Responses
| 201: Ok |
| 400: Bad Request |
Get Supported Health Systems
GET https://api.1up.health/connect/system/clinical
Use this endpoint to query the full list of supported health systems.
If you want to implement a full-text search of providers using the name, address, or clinician name fields, we recommend that you use the System Search endpoint.
Parameters
| Query | ||
|---|---|---|
| systemType | string |
Either |
|
query |
number |
The name of the health system |
Responses
| 200 |
|
Post Supported Health Systems
POSThttps://api.1up.health/connect/system/clinical
Use this endpoint to query the full list of supported health systems.
If you want to implement a full-text search of providers using the name, address, or clinician name fields, we recommend that you use the System Search endpoint.
Parameters
| Header | ||
|---|---|---|
| Accept | application/json | |
|
Content-Type |
|
application/x-www-form-urlencoded |
| Body | ||
|---|---|---|
|
client_id |
string |
1up application Client ID |
|
client_secret |
string |
1up application Client Secret |
|
systemType |
|
The type of system Examples — |
Responses
| 200: OK |
Bulk $export — Access Token
GET https://analytics.1up.health/bulk-data/<fhirVersion>/$export
This endpoint is for the multi-tenant environment (MTE) version of Bulk Export. If your implementation is a single-tenant environment (STE), see the topics in Bulk Data Export (Single Tenant).
Use this endpoint to export bulk data for a given 1up user using the FHIR® $export operator. This initial request returns a list of download files, which can be individually requested to retrieve the data.
This request relies on retrieving an Access Token using the Auth Reference APIs (first get an authorization code, then exchange for an access token for a 1up user).
Parameters
| Path | ||
|---|---|---|
| _type | string |
Include to specify which types of FHIR® resources to export. To specify more than one resource type, include the resource types as a comma-separated list. Example — 'Patient,Observation' If your request includes an invalid resource type, your request will fail. |
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 |
Example response
The returned list includes at least one download file for each resource type with data.
|
Bulk $export — Client Header
GET https://analytics.1up.health/bulk-data/<fhirVersion>/$export
This endpoint is for the multi-tenant environment (MTE) version of Bulk Export. If your implementation is a single-tenant environment (STE), see the topics in Bulk Data Export (Single Tenant).
Use this endpoint to export bulk data for a given 1up user using the FHIR® $export operator. This initial request returns a list of download files, which can be individually requested to retrieve the data.
This relies on using your client ID and client secret in the header of your request.
Parameters
| Path | ||
|---|---|---|
| _type | string | Optionally restrict the types of FHIR® resources to export with a comma-separated list of standard FHIR® resource types (such as 'Patient,Observation'). Note the request will fail if an invalid resource type is requested. |
| Header | ||
|---|---|---|
| x-oneup-user-id | string | Either set to client to get all data across all users for client ID or to a specific 1up user ID (integer value) that you get from the User Management API. |
|
client_secret |
string |
Your client secret for the data you want to get. |
|
client_id |
string |
Your client ID for the data you want to get. |
Responses
| 200 |
|
Population-Level Bulk $export — Client ID
GET https://gateway.1up.health/v1/<customer-URL>/bulk-export/bulk-data/r4/$export
Use this endpoint to export bulk data at the population level for a given 1up user using the FHIR® $export operator. This initial request returns a list of download files, which can be individually requested to retrieve the population-level data.
This request relies on retrieving an Access Token using the Auth Reference APIs (first get an authorization code, then exchange for an access token for a 1up user).
Parameters
| Path | ||
|---|---|---|
| _type | string |
Include to specify which types of FHIR® resources to export. To specify more than one resource type, include the resource types as a comma-separated list. Example — 'Patient,Observation' If your request includes an invalid resource type, your request will fail. |
|
_since |
string |
Resources are included in the response if their state has changed after the specified date. Example: |
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 |
Example response
The returned list includes at least one download file for each resource type with data.
|
Population-Level Bulk $export — Group
GET https://gateway.1up.health/v1/<customer-name>/bulk-export/bulk-data/r4/Group/<ID>/$export
Use this endpoint to export bulk data at the population level for a group using the FHIR® $export operator. This initial request returns a list of download files, which can be individually requested to retrieve the population-level data for the group.
This request relies on retrieving an Access Token using the Auth Reference APIs (first get an authorization code, then exchange for an access token for a 1up user).
Parameters
| Path | ||
|---|---|---|
| _type | string |
Include to specify which types of FHIR® resources to export. To specify more than one resource type, include the resource types as a comma-separated list. Example — 'Patient,Observation' If your request includes an invalid resource type, your request will fail. |
|
_since |
string |
Resources are included in the response if their state has changed after the specified date. Example: |
| Header | ||
|---|---|---|
| Authorization | string | This endpoint receives authentication requests as an HTTP authentication header with a Bearer token. |
Responses
| 200 |
Example response
The returned list includes at least one download file for each resource type with data.
|
FHIR R4 _include
GET https://api.1up.health/r4/<resourceType>?_include=<resourceType>:<referencedResourceType>
For FHIR R4 APIs only, the ability to include referenced resources in your search query.
Example — /r4/MedicationRequest?_include=MedicationRequest:patient returns the Patient resources referenced by the MedicationRequest resource.
Parameters
| Path | ||
|---|---|---|
| _include | string |
Path parameter to include referenced resources. This can be a FHIR resource type or you can specify '*' to include all referenced resources. |
Responses
| 200 |
|
FHIR R4 _revinclude
GEThttps://api.1up.health/r4/<resourceType>?_revinclude=<resourceType>:<referencedResourceType>
For FHIR R4 APIs only, the ability to fetch a particular resource, and any resources that refer to it.
For example, the client may wish to fetch a MedicationRequest, and any provenance resources that refer to the prescription. This is known as a reverse include, and is specified by providing a _revinclude parameter.
Parameters
| Path | ||
|---|---|---|
| string |
Specifies that you want to include resources to refer to the resource you are querying. This can be a FHIR resource type or you can specify '*' to include all referenced resources. |
Responses
| 200 |
|