Spren API is RESTful and partially async. It communicates with JSON request and response bodies. Authorization is in the header.
Header | Notes | Example |
X-API-KEY | Your API key for authorization | X-API-KEY: <API key> |
Content-Type | JSON, if request body present | Content-Type: application/json |
POST /submit/sdkData
readiness and ansBalance require 2 readings on 2 separate days within 10 days or value will be null This will occur for a user's first reading OR after their first reading if they have not performed a reading in the last 10 days, and when this occurs an errorDescription of "baseline not set" is returned. See GET /results/{guid} below for more details.
name | Description | Type | JSON Data Type | Return Values |
hr | Heart rate | Biomarker | number | Floating point, unrestricted range |
hrvScore | HRV score | Biomarker | number | Floating point, 0-100 |
readiness* | Morning readiness | Insight | number | Int, 0-10 |
ansBalance* | ANS balance | Insight | number | Int, 1-5 |
signalQuality | Signal quality | Other | number | Int, 1-3 |
*require 2 readings on 2 separate days within 10 days or value will be null
While we accept interbeat intervals (IBIs) from any device, the following devices have been tested
For certain insights, a minimum number of readings are required. See the Biomarkers/Insights section below.
For each biomarker or insight, a status/value JSON object is returned
State Permutations
status | Description | value (for calculated Biomarker/Insight) | errorDescription |
pending | Calculation is in progress | null | null |
complete | Calculation is complete | number, see Biomarkers/Insights section below for precision and range | null |
error | Calculation has errored | null | string, error encountered |
Gender
Age Range
Mean/Range Object, Result Object