Deeprrhythmia API Specs

Deeprrhythmia APIs are designed for customers to call the defined REST API end points with specific inputs.

Before using the Deeprrhythmia API to query real data, you need to create an account and collect your TENANT_ID. Each request needs the TENANT_ID in the request header. For your reference, we have also included sample inputs and outputs in this document.

1. DETECT

This API helps to detect heart irregularities from an original ECG record acquired in the form of time-series data, or an ECG strip chart. In the case of time-series data, the record should be original without any filters to achieve superior results. Multiple Leads data can be clubbed as a single JSON input. This API returns cardiac event that is annotated according to the HL7® standard.

Note: Detect expects ECG signals acquired in a gain of 10mm/mV and 25mm/sec.

Request:

Method Type: POST
URL: http://host:port/api/detect

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Invalid headers will throw unauthorised exception

Request Payload:

1. With Single Lead Data:
{"identifier":"req_021","learn":"0",
"data": [
{"lead_type":" MDC_ECG_LEAD_I",

"lead_reference_values": {
"diff": 1,
"corr_factor": 1,
"min": 0
},
"leads_data": [-2.54616,6.83111,16.4184,29.004,35.7435,45.7435,...],"sample_rate": 500,
"sample_multiplier": 1]}

2. With multiple leads data: 

{"identifier":"req_021","learn":"0",
"data": [
{"lead_type":" MDC_ECG_LEAD_I",

"lead_reference_values": {
"diff": 1,
"corr_factor": 1,
"min": 0
},
"leads_data": [-2.54616,6.83111,16.4184,29.004,35.7435,45.7435,...],
"sample_rate": 500,
"sample_multiplier": 1
},
{"lead_type":" MDC_ECG_LEAD_I I",
"leads_data": 

 [-2.54616,6.83111,16.4184,29.004,35.7435,45.7435,...],
"sample_rate": 500,
"sample_multiplier": 1
},
{"lead_type":" MDC_ECG_LEAD_I I I",

"lead_reference_values": {
"diff": 1,
"corr_factor": 1,
"min": 0
},
"leads_data": 

[-2.54616,6.83111,16.4184,29.004,35.7435,45.7435,...],
"sample_rate": 500, "sample_multiplier": 1}]}

3. With file location: 

Location : ftp /s3

{"identifier":"req_021", "fileLocation":"/xxx/file.edf","fileType":"edf","learn":"0"}

4. With file (jpeg / edf)

Input Type: form-data
Input Keys:
metaData: {"identifier":"req_021", "fileType":"edf","learn":"0"}
file:  Attach the ECG Image / edf file as key value
Success Response Payload:

{
"identifier": "{identifier}",
"responseData": "{"Heart_Rate": {"HR": {"AVG": 90, "MAX": 99, "MIN": 82}}, "hr_variability": 37.0, "strip_duration": 43, "classificationData": ["NSR", "NSR", "NSR", "NSR"]}",
"responseStatus": "200",
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis

learn

Integer

Decides whether to save data for learning rate or not
1: save data for learning
0: don't save data for learning

data (with ECG data/edit EDF filepath)

JSON
1. ECG data Time series data in the form of JSON (pre-defined format){"lead_type":"Lead from which ECG data is acquired (I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, V6)","leads_data": [ECG time series values], "lead_reference_values": {"diff": 1mV equivalent unit scale to convert given digital signal to mV (eg: 398 digital value = 1mV) if signal is in mV please set it as 1,"corr_factor": Correction factor to multiply if different leads have different “diff“ or unit scale value else set it as 1,"min": Digital value corresponding 0 mV if signal is digital else set it as 0} (Mandatory)"sample_rate": Sampling frequency of the signal, (Mandatory)"sample_multiplier": sample multiplier}HL7 that can be found at http://www.hl7.org/implement/standards/product_brief.cfm?product_id=102,European Data Format (EDF) that can be found here https://www.edfplus.info 2. Filepath {"fileLocation":"/abc/edf/xxx.edf",identifier":"abc","fileType":"edf", "learn":"0/1"}
file
.jpeg image

Image to be uploaded in form-data

("file":"xxx.jpeg", "metaData":{"identifier":"abc","fileType":"jpeg"}, "learn":"0/1")

file
.edf image

edf file to be uploaded in form-data

("file":"xxx.edf", "metaData":{"identifier":"abc","fileType":"edf"}, "learn":"0/1")

Output Parameters
Property Name Value Description
identifier
String
Unique request Identifier, which will be used to get result and status of the apis

errorReason

String
Reason for error

responseStatus

String

HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

Your API request was successful. Your request ID {request id} will be available only after the validation process is complete. Kindly note your request ID is your identifier and you would need it to access further details.

Note : (AI model response will have the below values which can be fetched using other set of APIs mentioned in this document.

Heart_Rate: Aggregate heart rates for the strip/data provided
HR_Variability: HRV(SDNN- Standard Deviation over NN intervals) for the strip
strip_duration: Strip duration in seconds
classificationData: Rhythm detection result)

2. PLOT

This API returns the acquired ECG image plotted on an ECG strip chart.

Request
Method Type: POST
Url: http://host:port/api/plot

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Invalid headers will throw unauthorised exception

Request Payload:

1. With lead data:

{"identifier":"req_021","learn":"0",
"data": [
{"lead_type":" MDC_ECG_LEAD_I",

"lead_reference_values": {
"diff": 1,
"corr_factor": 1,
"min": 0
},
"leads_data": [-2.54616,6.83111,16.4184,29.004,35.7435,45.7435,...],"sample_rate": 500,
"sample_multiplier": 1]}

2. With Identifier and Request Index

Input Type: form-data
Input Keys:
requestId : Give the identifier (req_021)
index : Give the index from edf results

Response:  base64 encoded .jpeg image
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis

data

JSON

data – time series data in the form of JSON (pre-defined format)
{"lead_type":"Lead from which ECG data is acquired (I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, V6)",
"leads_data": [ECG time series values],
"sample_rate": Sampling frequency of the signal, (Mandatory)
"sample_multiplier": sample multiplier}
HL7 that can be found at http://www.hl7.org/implement/standards/product_brief.cfm?product_id=102, European Data Format (EDF) that can be found here https://www.edfplus.info
speed – If left blank would assume 25mm/sec, else can specific 50mm/sec, 12.5mm/sec or 6.25mm/sec

requestID
String

Give the identifier in form-data

index
String

Give the index in form-data

Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String
HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

String

Base64 encoded JPEG Image data

3. RESULTS

This API retrieves results for classified and verified ECG data.

Request

Method Type: GET
Url: http://host:port/api/results/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Invalid headers will throw an unauthorised exception

Response:

{
"identifier": "req_021",
"responseData": "[{"outputid":7,"modelanalysis":{"events": [{"eventname": "Sinus Rhythm", "occurences": 1}], "status": "success", "identifier": "test115", "classificationData": "Sinus Rhythm"},"requestindex":0}]",
"responseStatus": "200"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request Identifier, which will be used to get result and status of the apis

errorReason

String
Reason for error if any

responseStatus

String

HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

Heart_Rate: Aggregate heart rates for the strip/data provided
HR_Variability: HRV(SDNN- Standard Deviation over NN intervals) for the strip
strip_duration: Strip duration in seconds
classificationData: Rhythm detection result

4. STATUS

Once a request for detect API is submitted, this API is used to find the status of arrhythmia detection.

Request:
Method Type: GET
Url : http://host:port/api/status/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
  "responseData": "completed",
"responseStatus": "200",
  "requestId": "req_021"
}
responseData can be Processing/Completed/De-activated.
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs
responseStatus
String
HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc
responseData
JSON
In-progress, Unknown Error, Completed, De-activated
5. EVENTS

Once a request for detect API is submitted, this API is used to find the events of the detected ECG image/data.

Request:
Method Type: GET
Url : http://host:port/api/events/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
  "responseData": "[{\"events\":\"{\"eventname\": \"Sinus Tachycardia\", \"occurrences\": 1}\"}]",
  "responseStatus": "200",
  "identifier": "req_021"
}
{
"identifier": "test115",
"responseData": "[{"events":"[{"eventname": "Sinus Rhythm", "occurences": 1}]"}]",
"responseStatus": "200"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String

HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

[{"eventname":"VT", "occurances":"4"},{"eventname":"", "occurances":""},....]

Analytics APIs

Analytics APIs are designed for customers to call the defined Analytics REST endpoints using unique identifiers. Each request needs TENANT_ID, X-API-Key, Authorization, WWW-Authenticate, etc in the request header. 
Sample inputs and outputs are included in this document for reference.

1. HEARTRATE

This API calculates the minimum, maximum and average heart rate in the given ECG.

Request
Method Type: GET
Url : http://host:port/analytics/heartrate/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
"responseData": "[{\"heartRate\":\"{\"HR_avg\": 79, \"HR_max\": 79, \"HR_min\": 79}\",\"analyticsId\":0}]",
"responseStatus": "200",
"identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String

HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

{"HR_min": 64, "HR_max": 77, "HR_avg": 69}

2. TIME INTERVALS

This API calculates the average, minimum and maximum time intervals, mainly QRS and RR from the given raw data.

Request:
Method Type: GET
Url : http://host:port/analytics/timeintervals/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
"responseData":
"[{\"timeIntervals\":\"{\"RR\": {\"avg\": 0.752, \"max\": 0.752, \"min\": 0.752}, \"QRS\"{\"avg\": 0.136, \"max\": 0.162, \"min\": 0.12}}\",\"analyticsId\":0}]",
"responseStatus": "200",
"identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String

HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseDATA

JSON
{"QRS": {"min": 0.096, "max": 0.156, "avg": 0.126}, "RR": {"min": 0.776, "max": 0.924, "avg": 0.869}}
8. AXIS DEVIATION

This API computes the electrical axis of QRS beat and calculates the axis deviation from the given ECG data. One of the following axes will be given as the response: Normal Axis, Left Axis Physiological, Left Axis Pathological, Right Axis Deviation, Extreme Axis. However, if the given data is noisy or inadequate, the response will be Indeterminate Axis.

Request:
Method Type: GET
Url : http://host:port/analytics/axisdeviation/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
"responseData": "[{\"axisDeviation\":\"{\"axis\": \"Normal Axis\"}\",\"analyticsId\":0}]",
"responseStatus": "200",
"identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String

HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

{“axis“:”Normal Axis”}

4. HRV (Heart rate variability)

This API calculates the time domain and frequency domain parameters computed from given ECG.

Time domain : SDRR, SDNN, SDANN, SDNNi, nn50, pnn50, nn20, pnn20, hr_max – hr_min, rmssd, sdsd, HTI

Frequency domain: absolute ULF power, absolute VLF power, absolute LF power, absolute HF power, peak ULF frequency, peak VLF frequency, peak LF frequency, peak HF frequency, relative ULF power, relative ULF power, relative VLF power, relative LF power, relative HF power, normalised LF power, normalised HF power, LF/HF ratio

Request:
Method Type: GET
Url : http://host:port/analytics/hrv/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response: 
{
"responseData":
"[{\"analyticsId\":0,\"HRV\":\"{\"time_domain\": {\"HTI\": 1.0, \"SDNN\": 0, \"SDRR\": 0, \"nn20\": 0, \"nn50\": 0, \"sdsd\": 0, \"SDANN\": \"\", \"SDNNi\": \"\", \"pnn20\": 0.0, \"pnn50\": 0.0, \"rmssd\": 0, \"hr_max - hr_min\": 0}, \"frequency_domain\": {\"lf/hf_ratio\": 0.6, \"abs_power_hf\": 0.0, \"abs_power_lf\": 0.0, \"abs_power_ulf\": 0.0, \"abs_power_vlf\": 0.0, \"peak_frequency_hf\": 0.232, \"peak_frequency_lf\": 0.04, \"relative_power_hf\": 41.07, \"relative_power_lf\": 24.94, \"peak_frequency_ulf\": 0.0, \"peak_frequency_vlf\": 0.003, \"relative_power_ulf\": 2.65, \"relative_power_vlf\": 31.33, \"normalised_power_hf\": 62.21, \"normalised_power_lf\": 37.78}}\"}]",
"responseStatus": "200",
"identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs
errorReason
String
Reason for error if any
responseStatus
String
HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc
responseData
JSON

{“time_domain“:{}, “freq_domain“:{}}

5. LQTS (Long QT syndrome)

This API is a hybrid of analytical and AI powered API which scans through individual beats in a given ECG sample to detect whether the subject has a Long QT syndrome or not. While the AI model looks into the beat by beat morphology, the analytical algorithms calculate the QTc values to determine LQTS. The consolidated beat by beat results from AI and analytical algorithms will be given as the response.

Request:
Method Type: GET
Url : http://host:port/analytics/lqts/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
  "responseData": "[{\"LQTS\":\"{\"lqts\": false}\",\"analyticsId\":0}]",
  "responseStatus": "200",
  "identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String
HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON
{“lqts“: True}
6. ARRHYTHMIA EVENTS COUNT

This API will return the count of every occurred arrhythmia events using AI classification model (20 classes). Using the count, approximate length of the arrhythmia events can also be calculated.

Request:
Method Type: GET
Url : http://host:port/analytics/arrhythmiacount/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
  "responseData": "[{\"arrhythmiaCount\":\"{}\",\"analyticsId\":0}]",
  "responseStatus": "200",
  "identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String
HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

{“afib“: 10, “Sinus Rhythm“: 30}

7. BEAT ANNOTATION

This API is an Artificial Intelligence (AI) powered beat classification API which scans beat by beats for the given ECG signal and classifies them into 5 categories:

  • Normal beat

  • Supra Ventricular beat

  • Ventricular beat

  • Fusion beat

  • Others

The response will be the count of each individual beat detected by AI.

Request:
Method Type: GET
Url : http://host:port/analytics/beatannotation/{identifier}

Headers:
TENANT_ID: {Tenant Id}
X-API-Key : {api key}
Authorization : Basic {base64 encoded username:password}
WWW-Authenticate : Basic realm="{realm name}"

Response:
{
"responseData": "[{\"analyticsId\":0,\"beatAnnotation\":\"{\"total_beats\": 14, \"beat_summary\": {\"F\": 1, \"N\": 13}}\"}]",
"responseStatus": "200",
"identifier": "req_021"
}
Input Parameters
Property Name Value Description
TENANT_ID
String

Tenant Id (to identify the Tenant) to be used for Deeprrhythmia REST API calls authentication

X-API-Key : {api key}

String
Is the apimanager gateway API key
Authorization : Basic {base64 encoded username:password}
String

base64 encoded string generated from username: password

WWW-Authenticate : Basic realm="{realm name}"
String
The realm parameter is reserved for defining protection spaces (set of pages or resources where credentials are required) and it's used by the authentication schemes to indicate a scope of protection.
identifier
String
Unique request Identifier, which will be used to get result and status of the apis
Output Parameters
Property Name Value Description
identifier
String
Unique request identifier, which will be used to get result and status of the APIs

errorReason

String
Reason for error if any

responseStatus

String
HTTP Response code : response status (200 , 500, 401, 403, 400 ) etc

responseData

JSON

{"N": 114, "X": 1}}

Error Message Format:

1. Internal server error

{ "identifier": "{identifier}",
"errorReason": "The server encountered an internal error or misconfiguration and was unable to complete your request. Rest assured that our developers are working hard to repair it, please come back soon. “,
"responseStatus": "500"
}

2. Unauthorized

{ "identifier": "{identifier}",
"errorReason": “This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials or your browser doesn’t understand how to supply the required credentials.”,
"responseStatus": "401"
}

Notes:
host:port in the url should be replaced with the original url shared later.

Service status check API :

http://{domain}:{port}/actuator/health