Withings API

Token expiry

When the access token expires, HTTP status 200 OK is returned, but the response body is as follows:

{
    "status": 401,
    "body": {},
    "error": "XRequestID: Not provided invalid_token: The access token provided is invalid"
}

Fetching health data

Health records can be fetched via GET request as follows:

https://wbsapi.withings.net/measure?action=getmeas&meastypes=9,10,54,71,11

The type of vitals measurement is mapped as follows:

Code Type Unit
9 Diastolic Blood Pressure mmHg
10 Systolic Blood Pressure mmHg
11 Heart Rate bpm
54 SP02 %
71 Body Temperature °C

Note the unit-field in the response. For body temperature, the unit-field has the value -3. This means that to get the body temperature in °C, you must multiply the value by 10^(-3).

The time of measurement can be parsed from the measuregrps's date field.

A successful response looks like so:

{
    "status": 0,
    "body": {
        "updatetime": 1690491663,
        "timezone": "Europe/Berlin",
        "measuregrps": [
            {
                "grpid": 4716596696,
                "attrib": 0,
                "date": 1690491576,
                "created": 1690491663,
                "modified": 1690491663,
                "category": 1,
                "deviceid": "c405eb8e0e053f6601e151c7e43c04e29aad6956",
                "hash_deviceid": "c405eb8e0e053f6601e151c7e43c04e29aad6956",
                "measures": [
                    {
                        "value": 89,
                        "type": 9,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    },
                    {
                        "value": 109,
                        "type": 10,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    },
                    {
                        "value": 88,
                        "type": 11,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    }
                ],
                "modelid": 44,
                "model": "BPM Core",
                "comment": null
            },
            {
                "grpid": 4716596681,
                "attrib": 0,
                "date": 1690491236,
                "created": 1690491662,
                "modified": 1690491662,
                "category": 1,
                "deviceid": "c405eb8e0e053f6601e151c7e43c04e29aad6956",
                "hash_deviceid": "c405eb8e0e053f6601e151c7e43c04e29aad6956",
                "measures": [
                    {
                        "value": 65,
                        "type": 9,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    },
                    {
                        "value": 92,
                        "type": 10,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    },
                    {
                        "value": 88,
                        "type": 11,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    }
                ],
                "modelid": 44,
                "model": "BPM Core",
                "comment": null
            },
            {
                "grpid": 4712963495,
                "attrib": 0,
                "date": 1690375238,
                "created": 1690375243,
                "modified": 1690375243,
                "category": 1,
                "deviceid": "dbf7f61809d5fb350a16a50f6af6e826f0746082",
                "hash_deviceid": "dbf7f61809d5fb350a16a50f6af6e826f0746082",
                "measures": [
                    {
                        "value": 99,
                        "type": 54,
                        "unit": 0,
                        "algo": 33619971,
                        "fm": 3,
                        "apppfmid": 9,
                        "appliver": 2741,
                        "algo_params": {
                            "1": 0,
                            "2": 15
                        }
                    }
                ],
                "modelid": null,
                "model": null,
                "comment": null,
                "is_inconclusive": false
            },
            {
                "grpid": 4712927310,
                "attrib": 1,
                "date": 1690374434,
                "created": 1690374456,
                "modified": 1690374486,
                "category": 1,
                "deviceid": "1d453daf947378fac40677e7a085eea73750b061",
                "hash_deviceid": "1d453daf947378fac40677e7a085eea73750b061",
                "measures": [
                    {
                        "value": 37370,
                        "type": 71,
                        "unit": -3,
                        "algo": 0,
                        "fm": 0
                    }
                ],
                "modelid": null,
                "model": null,
                "comment": null
            },
            {
                "grpid": 4712911433,
                "attrib": 0,
                "date": 1690373994,
                "created": 1690374078,
                "modified": 1690374078,
                "category": 1,
                "deviceid": "c405eb8e0e053f6601e151c7e43c04e29aad6956",
                "hash_deviceid": "c405eb8e0e053f6601e151c7e43c04e29aad6956",
                "measures": [
                    {
                        "value": 88,
                        "type": 9,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    },
                    {
                        "value": 124,
                        "type": 10,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    },
                    {
                        "value": 70,
                        "type": 11,
                        "unit": 0,
                        "algo": 0,
                        "fm": 3
                    }
                ],
                "modelid": null,
                "model": null,
                "comment": null
            }
        ]
    }
}