Data Flow
REST API
Overview
Sahha provides access to its platform via REST API for developers to authenticate user profiles, upload health data, and receive a variety of biomarkers and scores.
View the OpenAPI specification
Try the API Query Builder
Version: v1
/api/v1/account/profile/{externalId}
GET
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| externalId | path | Yes | string | 
Responses
| Code | Description | 
|---|---|
| 200 | Returns a profile. | 
/api/v1/account/profile/search
GET
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| searchParameter | query | No | string | |
| currentPage | query | No | integer | |
| pageSize | query | No | integer | 
Responses
| Code | Description | 
|---|---|
| 200 | Returns a paged list that match the search parameter. | 
/api/v1/profile/data/log
POST
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
/api/v1/oauth/profile/refreshToken
POST
Summary:
Refresh Token
Description:
Returns a refreshed profile token to be used in the authorization header as 'profile {token}'
Responses
| Code | Description | 
|---|---|
| 200 | Returns a token response | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/oauth/profile/register
POST
Summary:
Register a Profile using Account Token (For Server to Server Integration)
Description:
Creates a new profile a returns a Profile token. A profile represents your end user.  
Requires a valid   Account   token in the authorization header.  
Responses
| Code | Description | 
|---|---|
| 201 | Initialises a new profile and returns a Profile Token. | 
| 400 | Returned if the provided external id is invalid or already in use. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/oauth/profile/register/appId
POST
Summary:
Register Profile using Application Credentials (For SDK Integration)
Description:
Creates a new profile and returns a profile token. A profile represents your end user.  
Required valid   AppId   and   AppSecret   in the headers.  
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| appId | header | No | string | |
| appSecret | header | No | string | 
Responses
| Code | Description | 
|---|---|
| 201 | Initialises a new Profile and returns a profile token. | 
| 400 | Returned if the external id provided is invalid. | 
| 401 | Returned if the headers are invalid. | 
/api/v1/oauth/profile/token
POST
Summary:
Get Profile Token using Account Token
Description:
Returns a profile token to be used in the authorization header as 'profile {token}'.
Responses
| Code | Description | 
|---|---|
| 200 | Returns a token response. | 
| 400 | Returned if the external ID provided is invalid. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile
DELETE
Summary:
Delete profiles (Account authorization)
Description:
Deletes profiles from the user account based on the provided list of external ids.
Responses
| Code | Description | 
|---|---|
| 200 | Returned if the delete operation is successful. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile/archetypes
GET
Summary:
Get profile archetypes (Profile Authorization)
Description:
Gets archetypes for a given time window for a profile with profile authorization. Can be filtered by archetype name and periodicity.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| name | query | No | string | |
| periodicity | query | No | string | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
/api/v1/profile/archetypes/{externalId}
GET
Summary:
Get profile archetypes (Account Authorization)
Description:
Gets archetypes for a given time window for a profile with account authorization. Can be filtered by archetype name and periodicity.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| externalId | path | Yes | string | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| name | query | No | string | |
| periodicity | query | No | string | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
/api/v1/profile/biomarker
GET
Summary:
Get profile biomarkers (Profile Authorization).
Description:
Gets biomarkers for a given time window for a profile with profile authorization.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| categories | query | No | [ string ] | |
| types | query | No | [ string ] | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Returned if the profile id claim in the token is invalid. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile/biomarker/{externalId}
GET
Summary:
Get profile biomarkers (Account Authorization).
Description:
Gets biomarkers for a given time window for a profile with account authorization.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| externalId | path | Yes | string | |
| categories | query | No | [ string ] | |
| types | query | No | [ string ] | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Returned if the provided profile id is invalid. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile/demographic
PUT
Summary:
Amend Demographic Information
Description:
Replaces the demographic information for a profile eg. Date of birth, Gender.  
Requires a valid   Profile   token in the authorization header.  
Responses
| Code | Description | 
|---|---|
| 200 | Updates the demographic information for the profile. | 
| 400 | Returned if the request data is invalid or empty. | 
| 401 | Returned if the authorization token is invalid. | 
PATCH
Summary:
Amend Demographic Information
Description:
Patches the demographic information for a profile eg. Date of birth, Gender.  
Requires a valid   Profile   token in the authorization header.  
Responses
| Code | Description | 
|---|---|
| 200 | Updates the demographic information for the profile. | 
| 400 | Returned if the request data is invalid or empty. | 
| 401 | Returned if the authorization token is invalid. | 
GET
Summary:
Get Profile Demographic Information
Description:
Returns the demographic information for a profile.  
Requires a valid   Profile   token in the authorization header.  
Responses
| Code | Description | 
|---|---|
| 200 | Returns demographic information for the profile specified by the token in the authorization header. | 
| 204 | Returned if there are no results for the query. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile/deviceInformation
PUT
Summary:
Amend Device Information
Description:
Updates the device information for a profile, this is done automatically by the SDK if available.  
Requires a valid   Profile   token in the authorization header.  
Responses
| Code | Description | 
|---|---|
| 200 | Updates device information. | 
| 400 | Returned if the request data is invalid or empty. | 
| 401 | Returned if the authorization token is invalid. | 
GET
Summary:
Get Profile Device Information
Description:
Returns the device information for a profile.  
Requires a valid   Profile   token in the authorization header.  
Responses
| Code | Description | 
|---|---|
| 200 | Returns device information for the profile specified by the token in the authorization header. | 
| 204 | Returned if there are no results for the query. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile/insight/comparison
GET
Summary:
Get profile comparisons (Profile Authorization)
Description:
Gets comparison data for a profile with profile authorization. Can be filtered by name, category, and date range.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| name | query | No | string | |
| category | query | No | string | |
| periodicity | query | No | string | |
| version | query | No | float | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
/api/v1/profile/insight/comparison/{externalId}
GET
Summary:
Get profile comparisons (Account Authorization)
Description:
Gets comparison data for a profile with account authorization. Can be filtered by name, category, and date range.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| externalId | path | Yes | string | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| name | query | No | string | |
| category | query | No | string | |
| periodicity | query | No | string | |
| version | query | No | float | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
/api/v1/profile/insight/trend
GET
Summary:
Get profile trends (Profile Authorization)
Description:
Gets trend data for a profile with profile authorization. Can be filtered by name, category, and date range.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| name | query | No | string | |
| category | query | No | string | |
| periodicity | query | No | string | |
| version | query | No | float | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
/api/v1/profile/insight/trend/{externalId}
GET
Summary:
Get profile trends (Account Authorization)
Description:
Gets trend data for a profile with account authorization. Can be filtered by name, category, and date range.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| externalId | path | Yes | string | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| name | query | No | string | |
| category | query | No | string | |
| periodicity | query | No | string | |
| version | query | No | float | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
/api/v1/profile/score
GET
Summary:
Get profile scores (Profile Authorization).
Description:
Gets scores for a given time window for a profile.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| types | query | No | [ string ] | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| version | query | No | float | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Returned if the profile id claim in the token is invalid. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/profile/score/{externalId}
GET
Summary:
Get profile scores (Account Authorization).
Description:
Gets scores for a given time window for a profile.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| externalId | path | Yes | string | |
| types | query | No | [ string ] | |
| startDateTime | query | No | dateTime | |
| endDateTime | query | No | dateTime | |
| version | query | No | float | 
Responses
| Code | Description | 
|---|---|
| 200 | Success | 
| 400 | Returned if the provided profile id is invalid. | 
| 401 | Returned if the authorization token is invalid. | 
/api/v1/oauth/account/token
POST
Summary:
Get Account Token
Description:
Returns an Account access token when provided with a valid ClientId and ClientSecret. This token is used to perform administrative tasks like creating / modifying end user profiles and reporting.
Responses
| Code | Description | 
|---|---|
| 200 | Returns a token response | 
| 400 | Returned if the ClientId or ClientSecret is invalid. |