Skip to main content

API Overview

Basic information

Base URL: https://api.heartvoice.com.cn

All requests must include the API Key in the Header:

Authorization: Bearer YOUR_API_KEY

ECG endpoints

Basic tier endpoints

EndpointMethodDescriptionTier requirement
/api/v1/basic/ecg/1-lead/analyzePOSTSingle-lead ECG analysisBasic+
/api/v1/basic/ecg/12-lead/analyzePOST12-lead ECG analysisBasic+

Input parameters

  • Single-lead: ecgData (array), ecgSampleRate, adcGain, adcZero
  • 12-lead: dataI/II/III/AVR/AVL/AVF, data1-6 (V1-V6), ecgSampleRate, adcGain, adcZero
  • Note: For each lead, the ECG signal data length must be within 10s–300s. The sampling rate must be greater than 0. Gain default is 1.0, and zero/baseline default is 0.0.

Output results

  • Diagnosis label list (diagnosis)
  • Signal quality grade (sqGrade)
  • Whether the lead is reversed/miswired (isReverse)
  • Whether it is abnormal (isAbnormal)
  • ECG parameters (avgHr, avgQrs, prInterval, avgQt, avgP, avgQtc)
  • PAC/PVC counts (pacCount, pvcCount)

📖 View detailed document


Advanced tier endpoints

EndpointMethodDescriptionTier requirement
/api/v1/advanced/ecg/analyzePOSTFull ECG analysisAdvanced
/api/v1/advanced/ecg/heart-agePOSTHeart age assessmentAdvanced
/api/v1/advanced/ecg/mental-statePOSTMental/emotional state assessmentAdvanced
/api/v1/advanced/ecg/deepLifePOSTMicro health checkAdvanced

Full ECG analysis includes:

  • ✅ All Basic-tier analysis results
  • ✅ Heart age (heartAge)
  • ✅ Respiratory rate (respiratoryRate)
  • ✅ HRV (hrv)
  • ✅ Pressure index (pressure)
  • ✅ Emotion index (emotion)
  • ✅ Fatigue index (fatigue)
  • ✅ Vitality index (vitality)

Heart age assessment provides:

  • Heart age value
  • Signal quality rating

Mental/emotional state assessment provides:

  • Pressure index and emotion index
  • Fatigue index and vitality index

Micro health check provides:

  • Risk analysis for nine major system diseases (anyEcg)
  • Mapping structure: body system → phecode condition code → risk probability and grade

📖 View detailed document


Long-term ECG analysis endpoints (asynchronous)

EndpointMethodDescriptionTier requirement
/api/v1/advanced/ecg/holter/upload-urlPOSTGet file upload credentialAdvanced
/api/v1/advanced/ecg/holter/submitPOSTSubmit long-term analysis taskAdvanced
/api/v1/advanced/ecg/holter/status/:task_idGETQuery task statusAdvanced
/api/v1/advanced/ecg/holter/result/:task_idGETGet analysis resultsAdvanced
/api/v1/advanced/ecg/holter/report/:task_idGETDownload PDF reportAdvanced

Long-term ECG (Holter) analysis highlights:

  • ✅ Supports continuous ECG data from 24 hours up to 7 days
  • ✅ Asynchronous processing with optional Webhook callbacks
  • ✅ Comprehensive arrhythmia statistics (e.g., PAC/PVC/AF)
  • ✅ ST-segment analysis and HRV analysis
  • ✅ Representative ECG image segments
  • ✅ Optional physician manual review (Ultra tier)
  • ✅ Standard-format PDF reports

📖 View detailed document


PPG endpoints

Advanced tier endpoints

EndpointMethodDescriptionTier requirement
/api/v1/advanced/ppg/blood-pressurePOSTBlood pressure estimationAdvanced
/api/v1/advanced/ppg/vascular-healthPOSTVascular health assessmentAdvanced

Blood pressure estimation input:

  • ECG data (ecgData, ecgSampleRate, adcGain, adcZero)
  • PPG data (ppgData object: red, green, infrared)
  • PPG sampling rate (ppgSampleRate)

Blood pressure estimation output:

  • Signal quality (sqGrade)
  • Systolic blood pressure (sbp)
  • Diastolic blood pressure (dbp)

Vascular health assessment input:

  • ECG data (ecgData, ecgSampleRate, adcGain, adcZero)
  • PPG data (ppgData object: red, green, infrared)
  • PPG sampling rate (ppgSampleRate)

Vascular health assessment output:

  • Signal quality (sqGrade)
  • Vascular age (vascularAge)
PPG data format

PPG data must provide three light-source channels:

  • red: red light data array
  • green: green light data array
  • infrared: infrared light data array

📖 View detailed document


Common response fields

Signal Quality Grade (sqGrade)

Most analysis endpoints return the sqGrade field to indicate the quality grade of the input signal:

sqGrade valueGradeDescriptionRecommendation
> 0.9ExcellentSignal quality is excellentHigh confidence in results
0.7–0.9GoodSignal quality is goodResults are generally reliable
0.5–0.7FairSignal quality is averageConsider re-acquiring the signal
< 0.5UnanalyzableSignal quality is too lowEffective analysis is not possible; re-acquire

Factors affecting signal quality:

  • Poor electrode contact
  • Body movement / muscle tremor
  • Electromagnetic interference (e.g., power-frequency interference)
  • Acquisition device issues
  • Poor lead-wire contact

Recommendations to improve signal quality:

  1. Ensure good contact between electrodes/sensors and the skin
  2. Keep still and relax muscles
  3. Stay away from strong electromagnetic interference sources
  4. Check that device connections are normal
  5. Clean the skin and, if needed, use conductive gel/paste

Status code meanings

Status codeMeaningSuggested handling
200Success-
400Request parameter errorCheck parameter format and required fields
401Authentication failedCheck whether the API Key is correct
403Insufficient permissionsUpgrade your tier or check your quota
429Too many requestsReduce request frequency and retry later
500Server errorContact technical support

Error response format

{
"errorCode": "000004",
"msg": "API Key is invalid or expired"
}

Common error codes

Error codeDescriptionSolution
000004Invalid API KeyCheck whether the Key is correct
000005Quota exhaustedContact technical support
000006Rate limit triggeredReduce request frequency
000007No endpoint permissionUpgrade to the matching tier
000010Signal duration out of allowed rangeIncrease or decrease data length
000011Illegal sampling rateProvide a correct sampling rate
000012Empty signal dataSend non-empty signal data for analysis
000013PPG multi-channel signal lengths are inconsistentKeep all PPG signal channel lengths the same

Tier permissions (capabilities)

Endpoint groupBasic tierAdvanced tier
Single-lead ECG analysis✅ 1,000 times/day✅ 50,000 times/day
12-lead ECG analysis
Full ECG analysis
Heart age assessment
Mental/emotional state assessment
DeepLife micro health check
Long-term ECG analysis

Next steps