Rest API

Introduction

The IntelliProve API is organised around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Text
ο»Ώ

Examples: POST https://engine.intelliprove.com/v2/users GET https://engine.intelliprove.com/v2/users

If you are new to this developer portal, we recommend first reading the Plug-in: overviewο»Ώ, a five-minute read which will get you acquainted with how our plug-in works and how it can be integrated into your platform. To integrate the plug-in into your platform, follow our Plug-in solutionο»Ώ documentation.

Authentication

The IntelliProve API supports API keys and JWT Action Tokens to authenticate HTTP requests.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

All the endpoints described below require an API key or action token in the header for authentication purposes.

API Keys

API Keys cannot be created manually, but are distributed after agreement between IntelliProve and the customer.

Your API keys carry many privileges and have no expiry date, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

After agreement, you'll receive at least two API keys. Test API keys, which can be used during development, are aliased with a "-DEV" suffix.

Alias

API Key (non-working examples)

CUSTOMER1-DEV

KUsWnp2vRGCfW8XPYJZeQdh-eT!n-Ms.UcyaETy3

CUSTOMER1

fWeBpZ9CKaKb7pnk@vGtkQDjZFQ_U2g@GZu_Z74X

Pass your API key in the HTTP request header: x-api-key: <your-api-key>

Action Tokens

Action tokens can be manually created using the IntelliProve API, and require a valid API key.

They are specifically designed to be used in client-side code, as they have restricted access and automatically expire after a predefined timespan.

Pass your action token in the HTTP request header: authorization: Token <your-action-token>

User-specific Authentication

Unlike API keys, Action Tokens are linked to an IntelliProve user upon creation. HTTP requests authenticated with these tokens are automatically linked to that user.

Errors

In general, Status Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted or the request format is invalid, etc.). Codes in the 5xx range indicate an error with Intelliprove’s servers.

Status Code

Description

200 - OK

Everything worked as expected

400 - Bad Request

The request was unacceptable

401 - Not Authorized

No valid authentication token provided

403 - Forbidden

No permissions to perform the request

404 - Not Found

The request resource does not exist

422 - Unprocessable

One or more of the request parameters are invalid

500, 502, 503 - Server Errors

Something went wrong on our end

The 4xx and 5xx errors can be handled programmatically and include an error description that briefly explains the error reported.

Error Format
ο»Ώ

An exception is made for the 422 errors, which give detailed information on which request parameter failed the validation.

Validation Error Format
ο»Ώ

Users

The User Object

Property

Description

uuid uuid

Unique (internal) reference to the user object

external_user_reference nullable string

Unique external reference to the user object, maintained by the customer

customer read-only string

Name of the customer to which the user belongs

birth_date nullable date object

Date of birth in YYYY-MM-dd format

sex nullable string enum

Sex at birth Values: "M", "F"

language nullable string enum

Two-letter language code Values: "en", "nl", "fr"

Users can be referenced by both their uuid, often referred to as user_id, or their external_user_reference, sometimes also referred to as user_ref.

Create a new user with the provide user details.
POST
Request
Header Parameters
x-api-key
required
String
Customer API key
Content-Type
required
String
application/json
Body Parameters
external_user_reference
optional
String
External user reference value
birth_date
optional
String
User birth date in YYYY-MM-dd notation
sex
optional
String
Sex at birth value (M or F)
language
optional
String
Two-letter language code for preferred user language (default: en)
Request Body
Responses
201
ο»Ώ
Get user details by user ID or external user reference.
GET
Request
Query Parameters
user_id
optional
String
User UUID
user_ref
optional
String
External user reference value
Header Parameters
x-api-key
required
String
Customer API key
Request Body
Responses
200
ο»Ώ
Full replacement of user details for the specified user.
PUT
Request
Path Params
user_id
required
String
User UUID
Query Parameters
external_user_reference
optional
String
External user reference value
birth_date
optional
String
User birth date in YYYY-MM-dd notation
sex
optional
String
Sex at birth value (M or F)
language
optional
String
Two-letter language code for preferred user language (default: en)
Header Parameters
x-api-key
required
String
Customer API key
Request Body
Responses
200
ο»Ώ
Create a new action token for a user based on the user ID or external user reference.
POST
Request
Query Parameters
user_id
optional
String
User UUID
user_ref
optional
String
External user reference value
Header Parameters
x-api-key
required
String
Customer API key
Request Body
Responses
201
ο»Ώ

User journeys

Get next scan of user journey for a specific user based on the user ID or external user reference.
GET
Request
Query Parameters
user_id
optional
String
User UUID
user_ref
optional
String
External user reference value
language
optional
String
Two-letter language code for overriding user-level preferred language
Header Parameters
x-api-key
required
String
Customer API key
Request Body
Responses
200
ο»Ώ

ο»Ώ

Widgets

Get biomarker widget JSON data for specific measurement UUID.
POST
Request
Header Parameters
Accept
required
String
application/json
Authorization
required
String
Action token with added "Token "-prefix
Body Parameters
uuid
required
String
Measurement UUID
parameter
required
String
Biomarker parameter of choice
Request Body
Responses
200
ο»Ώ
Get metric widget JSON data for the authenticated user.
POST
Request
Header Parameters
Accept
required
String
application/json
Authorization
required
String
Action token with added "Token "-prefix
Body Parameters
parameter
required
String
Metric parameter of choice
Request Body
Responses
200
ο»Ώ

Note in the response above that the locked field may be set to true, meaning that the biomarker has not yet been unlocked by the user within their user journey. In this case, the Nullable fields will be set to Null. For more information refer to the Health Journeyο»Ώ documentation.

ο»Ώ

Get graph widget JSON data for the authenticated user.
POST
Request
Header Parameters
Accept
required
String
application/json
Authorization
required
String
Action token with added "Token "-prefix
Body Parameters
parameter
required
String
Insight or biomarker parameter of choice
start
required
String
Start time range in ISO format (local time) for data points to include
stop
optional
String
Stop time range in ISO format (local time) for data points to include
page_size
optional
String
Maximum number of data points to include (default: 10)
Request Body
Responses
200
ο»Ώ

Regulatory

Request the IntelliProve medical device label as PNG image.
GET
Request
Request Body
Responses
200
ο»Ώ

Refer to our Instructions for useο»Ώ for more information related to our medical device's product description and intended use.