---
openapi: 3.0.3
servers:
- url: https://wbsapi.withings.net/
info:
version: "2.0"
title: Withings developer documentation
description: ""
x-tagGroups:
- name: Api Reference Content
tags:
- oauth2
- dropshipment
- order
- user
- measure
- heart
- stetho
- sleep
- notify
- survey
- answers
- signature
- rawdata
- device
- models
- response_status
- Glossary
- nudge
- nudgecampaign
tags:
- name: oauth2
x-displayName: OAuth2
description: |-
The Withings API uses OAuth 2.0, an industry-standard protocol for authorization.
OAuth 2.0 enables your application to access user-specific data with a secure and seamless way without requiring users to share their Withings credentials with your app.
The Withings API supports the Authorization Code Flow, which is suitable for server-side applications. In this flow, your application will obtain an authorization code from the user, which can then be exchanged for an access token and refresh token.
There are two ways to obtain the authorization code:
1. **Web Authorization Flow**: Redirect the user to the Withings authorization endpoint, where they can grant permission for your app to access their Withings data.
2. **Account Creation Flow (contract partners only)**: Obtain the authorization code after account creation (Cellular Devices/SDK only) .
To use OAuth 2.0 with the Withings API, follow these general steps:
1. **Request user authorization/Create an account**: Use one of the two methods mentioned above to obtain an authorization code from the user.
2. **Obtain an access token**: Exchange the authorization code for an access token and refresh token.
3. **Access the API**: Include the access token in your API requests to access user-specific data from the Withings API.
4. **Refresh tokens**: Use the refresh token to obtain new access tokens when the current ones expire.
Please refer to the appropriate [Integration Guide](https://developer.withings.com/developer-guide/v3/withings-solutions/integration-guides) to know which method you should use.
- name: dropshipment
x-displayName: Dropshipment
description: |-
The following services are part of the Logistics APIs. Refer to [this section](/developer-guide/v3/integration-guide/dropship-only/logistics-api/overview-create-order) for more information.
The Logistics APIs allows partners to dropship devices directly to their program members.
**Important**: To receive automatic notification on order status, please fill a dropshipment notify URI for your API application in your [Developer Dashboard](https://developer.withings.com/dashboard/).
- name: order
x-displayName: Order
description: The following services are part of the Logistics APIs. Refer to [this
section](/developer-guide/v3/integration-guide/dropship-only/logistics-api/overview-create-order)
for more information.
- name: user
x-displayName: User
description: ""
- name: measure
x-displayName: Measure
description: The following services gives access to several types of Health Data
collected by a user. The data are only available once a synchronization occured
between the device and Withings servers (which might include synchronizing with
Withings mobile application or via Withings Mobile SDK).
- name: heart
x-displayName: Heart
description: "Returns ECG (EKG) signal points in micro-volt (\u03BCV).\n\nYou can
use the [Heart - List](#operation/heartv2-list) service to get the list of ECG
records and their corresponding ```signalid``` and then use [Heart - Get](#operation/heartv2-get)
to get the signal details.\n\nThe data are only available once a synchronization
occured between the device and Withings servers (which might include synchronizing
with Withings mobile application or via Withings Mobile SDK)."
- name: stetho
x-displayName: Stetho
description: First the [Stetho - List](#operation/stethov2-list) API should be called
to fetch the stetho signalIds which should be fetched individually using the [Stetho
- Get](#operation/stethov2-get) API.
- name: sleep
x-displayName: Sleep
description: |-
Returns data related to user sleep activities, wether they are captured by an Activity Tracker or a Sleep Monitor.
The data are only available once a synchronization occured between the device and Withings servers (which might include synchronizing with Withings mobile application or via Withings Mobile SDK).
- name: notify
x-displayName: Notify
description: "These services will allow you to be notified when new data is collected
by Withings devices, or when specific events happen.\n\t\tLearn more about our
notification services in [the dedicated section](/developer-guide/v3/data-api/notifications/notification-overview/)"
- name: survey
x-displayName: Survey
description: These webservices allows you to to manage user's surveys
- name: answers
x-displayName: Answers
description: These webservices allows you to get user's answers from surveys
- name: signature
x-displayName: Signature
description: The following services are part of the Logistics APIs. Refer to [this
section](/developer-guide/v3/integration-guide/dropship-only/logistics-api/overview-create-order)
for more information.
- name: rawdata
x-displayName: Raw Data
description: Raw Data webservices are part of the Advanced research API that allows
to collect high frequency PPG and accelerometer data (around 25Hz). These APIs
are compatible only with the Withings ScanWatch. If you need more information
about how to use these APIs and how to parse the data, please have a look the
[dedicated integration guide](/developer-guide/v3/integration-guide/public-health-data-api/data-api/raw-data).
- name: device
x-displayName: Device
description: ""
- name: models
x-displayName: Models
description: "Some services require specific model parameters. The following sections
detail parameters formats.\n \n Only refer to those sections if an API service
parameter description specifies it.\n## Unit preferences\nOptionally, partner
can specify end-user unit preferences.
\n**Important**: please note that
even if weight and height unit preferences are not in kilograms or meters, the
measure values of [Measures](#tag/models/Measures) model must be set in kilograms
and meters.
\nThe ```unit_pref``` parameter must be composed of a ```JSON```
object with the following parameter:\n\n | Name | Type |\n
\ |----------------|--------------|\n | weight | integer |\n | height
\ | integer |\n | distance | integer |\n | temperature |
integer |\n\n The following tables present integer values of unit preferences:\n\n
\ | Weight unit | Value |\n |----------------|--------------|\n
\ | kilogram (kg) | 1 |\n | pound (lb) | 2 |\n | Imperial
stone:pound (StLb) | 14 |\n\n | Height unit | Value |\n
\ |----------------|--------------|\n | meter (m) | 6 |\n | inch (in)
\ | 7 |\n\n | Distance unit | Value |\n |----------------|--------------|\n
\ | kilometer (km) | 6 |\n | yard (yd) | 8 |\n\n | Temperature
unit | Value |\n |----------------|--------------|\n | degree
Celsius (\xB0C) | 11 |\n | Fahrenheit (\xB0F) | 13 |\n\n Example
of unit preference parameter:\n\n ```json\n {\"weight\":1,\"height\":7,\"distance\":8,\"temperature\":13}\n
\ ```\n\n## Measures\n\n The following table presents the required measure data
that is contained in the user data ```measures``` parameter. The ```measures```
parameter must be composed of two mandatory ```JSON``` objects, one for the weight
measurement and another with the height measurement, both with the following parameter:\n\n
\ | Name | Type | Required | Comments
\ |\n |----------------|--------------|---------------|-----------------------------------------------------------|\n
\ | value | integer | yes | Height or weight value
as integer not float. Ex: 187 or 6000|\n | unit | integer | yes
\ | Decimal exponent to get the parameter ```value``` in meters
and kilos. Ex: value=187. unit=-2. Height=1,87m|\n | type | integer
\ | yes | Possible values are: Height = ```4```. Weight = ```1```.|\n\n
\ **Important**: please note that weight value must be in kilograms and height
value in meters.\n\n The weight must be between 1 and 600kg and the height between
0.1 and 3m.\n\n Example of ```JSON``` object to be used as plain text parameter:\n\n
\ ```json\n {\n \"preflang\": \"en_EN\",\n \"birthdate\": \"12345678\",\n
\ \"gender\": 1,\n \"shortname\": \"ABC\",\n \"measures\": [\n {\n
\ \"value\": 180,\n \"unit\": -2,\n \"type\": 4\n },\n
\ {\n \"value\": 8000,\n \"unit\": -2,\n \"type\": 1\n
\ }\n ],\n ...\n }\n ```\n\n ## Order\n \n The following table
presents the required order data that is contained in the dropshipment service
```order``` parameter. The ```order``` parameter is a list of ```JSON``` objects
that constitute product purchase orders, each product purchase order having the
following parameter:\n\n ### 1. Order\n\n | Name | Type |
\ Required | Comments |\n
\ |------------------|--------------|---------------|-----------------------------------------------------------|\n
\ | customer_ref_id | string | yes | Random identifier you must
provide. It will be used to track your order and **must be unique**.|\n | address
\ | json | yes | Order delivery information. Refer to
below **ADDRESS** table.|\n | products | integer | yes |
Ordered products. Refer to below **PRODUCTS** table.|\n | force_address |
boolean | no | If set to ```true```, the address will not be verified.
(default is ```false```) If the address is not validated by carrier, Withings
Logistics will ignore the address error and try to ship to the provided address
anyway.|\n \n ### 2. Address\n \n | Name | Type | Required
\ | Comments |\n |-------------|--------------|---------------|-----------------------------------------------------------|\n
\ | name | string | yes | Client\\'s fullname.|\n | company_name
| string | no | Company name.|\n | email | string |
yes | Client\\'s email.|\n | telephone | string | no |
Client\\'s phone number in E.164 format.|\n | address1 | string | yes
\ | Client\\'s primary address (Street address with number).|\n | address2
\ | string | no | Client\\'s additional address (Apartment
or suite number).|\n | city | string | yes | Client\\'s
city address.|\n | zip | string | yes | Client\\'s zipcode
address.|\n | state | string | no | Client\\'s state address
in ISO2 format.|\n | country | string | yes | Client\\'s
country address in ISO2 format.|\n \n ### 3. Products\n \n | Name |
\ Type | Required | Comments |\n
\ |----------------|--------------|---------------|-----------------------------------------------------------|\n
\ | quantity | int | yes | Product quantity.|\n | ean
\ | string | no | Product international article number.
Do not use a partner_ref if you are using EAN.|\n | partner_ref | string |
no | The reference of your Withings device kit you are ordering which
will be shared with you by your Withings CSM during the project. Do not use EAN
if you are using a partner_ref.|\n\n Either `ean` or `partner_ref` should be
set.\n\n ### 4. Example\n\n Example of ```JSON``` object to be used as plain
text parameter:\n\n ```json\n [\n {\n \"address\": {\n \"name\":
\"John Wayne\",\n \"email\": \"john.wayne@farwest.com\",\n \"address1\":
\"1st Avenue\",\n \"address2\": \"Apartment 12\",\n \"city\": \"New-York\",\n
\ \"zip\": \"10001\",\n \"state\": \"NY\",\n \"country\":
\"US\"\n },\n \"customer_ref_id\": \"IMAGINARY_CUSTOMER_REF_1\",\n \"products\":
[\n {\n \"quantity\": 1,\n \"ean\": \"WI220002EAN\"\n
\ },\n {\n \"quantity\": 3,\n \"ean\": \"WI330002EAN\"\n
\ }\n ]\n },\n {\n \"address\": {\n \"name\": \"Calamity
Jane\",\n \"email\": \"calamity.jane@farwest.com\",\n \"address1\":
\"SW 8th St\",\n \"address2\": \"Block 1\",\n \"city\": \"Miami\",\n
\ \"zip\": \"33135\",\n \"state\": \"FL\",\n \"country\":
\"US\"\n },\n \"customer_ref_id\": \"IMAGINARY_CUSTOMER_REF_2\",\n \"products\":
[\n {\n \"quantity\": 2,\n \"ean\": \"WI220002EAN\"\n
\ },\n {\n \"quantity\": 1,\n \"ean\": \"WI440002EAN\"\n
\ },\n {\n \"quantity\": 1,\n \"ean\": \"WI550002EAN\"\n
\ }\n ]\n }\n ]\n ``` \n \n ## Goals\n\n Optionally, partner
can specify end-user goals. The ```goals``` parameter must be composed of a ```JSON```
object with the following parameter:\n \n | Name | Type |
\ Comments |\n |----------------|--------------|-------------------------------------|\n
\ | steps | integer | Number of steps per day |\n |
sleep | integer | Sleep duration (in seconds) |\n | weight
\ | json | Weight. Refer to below **WEIGHT** table |\n\n ### Weight\n\n
\ | Name | Type | Comments |\n |----------------|--------------|----------|\n
\ | value | integer | Weight value as integer, in kilograms |\n | unit
\ | integer | Decimal exponent to get the parameter ```value``` in kilos.
Ex: value=8000. unit=-2. Weight=80kg |\n\n Example of goals parameter:\n\n ```json\n
\ {\n \"steps\": 10000,\n \"sleep\": 28800,\n \"weight\": {\n \"value\":
70500,\n \"unit\": -3\n }\n }\n ```\n"
- name: response_status
x-displayName: Response Status
description: "For security reasons Withings cannot share with partners the exact
nature of the API error status they may receive. Instead, we share families of
errors, and some webservices will also return a detailled message about the nature
of the error. For instance, an invalid param status code might be coupled with
a detail message stating which params caused the error.\n \n If you are facing
one of the following family of errors, here\\'s what you should do :\n - **Timeout**:
The service encountered a timeout, please retry.\n - **Authentication failed**:
Check if your tokens are correct and properly set.\n - **Invalid params**: Check
your tokens and your params.\n - **Not Implemented**: The service does not exist.\n
\ - **Unauthorized**: You are not allowed to call this service.\n - **An error
occurred**: Check your tokens and your params. If the error persists please contact
us.\n\n If you still can\\'t find what\\'s causing the issue, please contact
our support team for assistance.\n\n
\n \n
\ | Value | \n Description | \n \n \n
\ | 0 | Operation was successful |
\n | 100..102 | Authentication
failed |
\n | 200 | Authentication failed |
\n
\ | 201..213 | Invalid params |
\n | 214 | Unauthorized |
\n
\ | 215 | An error occurred |
\n
\ | 216..218 | Invalid params |
\n
\ | 219 | An error occurred |
\n
\ | 220...221 | Invalid params |
\n
\ | 222 | An error occurred |
\n
\ | 223 | Invalid params |
\n
\ | 224 | An error occurred |
\n
\ | 225 | Invalid params |
\n
\ | 226 | An error occurred |
\n
\ | 227..230 | Invalid params |
\n
\ | 231..233 | An error occurred |
\n
\ | 234..236 | Invalid params |
\n
\ | 237 | An error occurred |
\n
\ | 238 | Invalid params |
\n
\ | 240..252 | Invalid params |
\n
\ | 253 | An error occurred |
\n
\ | 254 | Invalid params |
\n
\ | 255..259 | An error occurred |
\n
\ | 260..267 | Invalid params |
\n
\ | 268..270 | An error occurred |
\n
\ | 271..272 | Invalid params |
\n
\ | 273..274 | An error occurred |
\n
\ | 275..276 | Invalid params |
\n
\ | 277 | Unauthorized |
\n | 278..282 | An error occurred |
\n | 283..288 | Invalid params |
\n | 289 | An error occurred |
\n | 290 | Invalid params |
\n | 291..292 | An
error occurred |
\n | 293..295 | Invalid
params |
\n | 296 | An error
occurred |
\n | 297 | Invalid
params |
\n | 298 | An error
occurred |
\n | 300..304 | Invalid
params |
\n | 305..320 | An error
occurred |
\n | 321 | Invalid
params |
\n | 322 | An error
occurred |
\n | 323..353 | Invalid
params |
\n | 370..375 | An error
occurred |
\n | 380..382 | Invalid
params |
\n | 383 | An error
occurred |
\n | 391 | An error
occurred |
\n | 400 | Invalid
params |
\n | 401 | Authentication
failed |
\n | 402 | An error
occurred |
\n | 501..511 | Invalid
params |
\n | 516..521 | An error
occurred |
\n | 522 | Timeout |
\n
\ | 523 | Invalid params |
\n
\ | 524 | Bad state |
\n | 525..531 | An error occurred |
\n | 532 | Invalid params |
\n | 533 | An
error occurred |
\n | 601 | Too
many request |
\n | 602 | An
error occurred |
\n | 700 | An
error occurred |
\n | 1051..1054 | An
error occurred |
\n | 2551..2552 | An
error occurred |
\n | 2553 | Unauthorized |
\n
\ | 2554 | Not implemented |
\n
\ | 2555 | Unauthorized |
\n | 2556..2559 | An error occurred |
\n
\ | 3000..3016 | An error occurred |
\n
\ | 3017..3019 | Invalid params |
\n
\ | 3020..3024 | An error occurred |
\n
\ | 5000..5006 | An error occurred |
\n
\ | 6000 | An error occurred |
\n
\ | 6010..6011 | An error occurred |
\n
\ | 9000 | An error occurred |
\n
\ | 10000 | An
error occurred |
\n \n
"
- name: Glossary
x-displayName: Glossary
description: Find out more information about this documentation vocabulary in our
[Glossary](https://developer.withings.com/developer-guide/glossary/glossary)
- name: nudge
x-displayName: Nudge
description: These webservices allows you to to manage Health Nudges. Read the [Health
Nudges Integration Guide](/developer-guide/v3/integration-guide/health-nudges/health-nudge-overview)
for more information.
- name: nudgecampaign
x-displayName: Nudge Campaign
description: These webservices allows you to to manage Health Nudges Campaign. Read
the [Health Nudges Integration Guide](/developer-guide/v3/integration-guide/health-nudges/health-nudge-overview)
for more information.
- name: measure
x-displayName: Measure
description: The following services gives access to several types of Health Data
collected by a user. The data are only available once a synchronization occured
between the device and Withings servers (which might include synchronizing with
Withings mobile application or via Withings Mobile SDK).
paths:
https://account.withings.com/oauth2_user/authorize2:
get:
tags:
- oauth2
description: |-
To use the Web Authorization Flow, you'll need to construct an authorization URL with the appropriate query parameters. Here's an example of an authorization URL:
```
https://account.withings.com/oauth2_user/authorize2?response_type=code&client_id=YOUR_CLIENT_ID&scope=user.info,user.metrics,user.activity&redirect_uri=YOUR_REDIRECT_URI&state=YOUR_STATE
```
Replace ```YOUR_CLIENT_ID```, ```YOUR_REDIRECT_URI```, and ```YOUR_STATE``` with your actual values.
When someone navigates to this URL, they will be asked to authorize your application for the requested scopes. Upon granting permissions, the user will be redirected to your specified redirect_uri, which will include an additional query string parameter called code. The state parameter will also be returned and should be validated at this point.
Please note that the authorization code is only valid for 30 seconds.
summary: Authorization URL
operationId: oauth2-authorize
parameters:
- name: response_type
in: query
required: true
schema:
type: string
description: Must take the constant string value ```code```.
- name: client_id
in: query
required: true
schema:
type: string
description: Your ```Client ID```.
- name: state
in: query
required: true
schema:
type: string
description: "A value you define. This can be used to make sure that the redirect
back to your site or app wasn\u2019t spoofed."
- name: scope
in: query
required: true
schema:
type: string
description: A comma-separated list of permission scopes to request from the
user. See the [available scopes](/developer-guide/v3/integration-guide/public-health-data-api/get-access/oauth-authorization-url/#scopes)
for the full list and the actions they allow.
- name: redirect_uri
in: query
required: true
schema:
type: string
description: "The URI we should redirect the user to after choosing to authorize
or not your app. This URI must be set as ```Callback Url``` in your partner
application. It is possible to use multiple URLs by separating them with
a comma.
Examples:
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t- Callbacks:
https://mydomain.com/
\n\t\t\t\t\t\t\t\t\t\t- Callback: https://mydomain.com/,https://mydomain2.com/
\n\t\t\t\t\t\t\t\t\t\t- Valid
URL: https://mydomain.com/relative_path?args=value
\n\t\t\t\t\t\t\t\t\t
"
- name: mode
in: query
required: false
schema:
type: string
description: Only set to use the demo user. For demo user must take the constant
string value ```demo```.
responses:
200:
description: ' (Click to unfold)'
x-codeSamples: []
https://wbsapi.withings.net/v2/oauth2:
post:
tags:
- oauth2
description: Use this endpoint to request an ```access token``` and ```refresh
token``` from an ```authorization code``` or refresh an existing ```access
token```.
**Important:**
Don't forget to save the userid included in the response in your database.
**Note:** You can use this webservice either by signing the call or using
the secret. Toggle the request body schema to see the parameters for the 2
options.
**Note:** Toggle the ```grant_type``` to see the different
parameters that must be used depending if you're refreshing a token or using
an authorization code.
summary: OAuth 2.0 - Request Access and Refresh Tokens
operationId: oauth2-getaccesstoken
requestBody:
required: true
content:
Using client secret:
schema:
type: object
discriminator:
propertyName: grant_type
required:
- grant_type
- action
mapping:
authorization_code: '#/components/schemas/TokenRequestWithClientSecret'
refresh_token: '#/components/schemas/TokenRequestRefreshWithClientSecret'
properties:
action:
type: string
description: Must take the value ```requesttoken```.
Using signature:
schema:
type: object
discriminator:
propertyName: grant_type
required:
- grant_type
- action
mapping:
authorization_code: '#/components/schemas/TokenRequestWithSignature'
refresh_token: '#/components/schemas/TokenRequestRefreshWithSignature'
properties:
action:
type: string
description: Must take the value ```requesttoken```.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
userid:
type: integer
description: The id of the user.
example: 363
access_token:
type: string
description: Your new Access Token.
example: a075f8c14fb8df40b08ebc8508533dc332a6910a
refresh_token:
type: string
description: Your Refresh Token.
example: f631236f02b991810feb774765b6ae8e6c6839ca
expires_in:
type: integer
description: Access token expiry delay in seconds.
example: 10800
scope:
type: string
description: You can get only the scope that the user accepted
with the Token you have. Scopes can be 'user.info' 'user.metrics'
'user.activity' 'user.sleepevents' and must be separated
by a coma.
example: user.info,user.metrics
csrf_token:
type: string
example: PACnnxwHTaBQOzF7bQqwFUUotIuvtzSM
token_type:
type: string
description: 'HTTP Authorization Header format: Bearer'
example: Bearer
x-codeSamples:
- lang: PHP
source: " 'requesttoken',\n\t'grant_type' => 'authorization_code',\n\t'client_id'
=> '7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67',\n\t'client_secret'
=> 'd9286311451fc6ed71b372a075c58c5058be158f56a77865e43ab3783255424f',\n\t'code'
=> 'mtwsikawoqleuroqcluggflrqilrnqbgqvqeuhhh',\n\t'redirect_uri' => 'https://www.withings.com'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=requesttoken&grant_type=authorization_code&client_id=7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67&client_secret=d9286311451fc6ed71b372a075c58c5058be158f56a77865e43ab3783255424f&code=mtwsikawoqleuroqcluggflrqilrnqbgqvqeuhhh&redirect_uri=https://www.withings.com"
'https://wbsapi.withings.net/v2/oauth2'
' https://wbsapi.withings.net/v2/oauth2': []
' https://wbsapi.withings.net/v2/oauth2':
post:
tags:
- oauth2
description: |
**This service will only work for partners having signed a contract with Withings (Withings Mobile SDK or Withings Cellular).** To generate a new authorization code for standard end-user accounts, your user will have to authorize your application to the Web Authorization Flow again.
This service allows you to retrieve a new authorization code in the event that the refresh token is invalid for a user belonging to your namespace.
summary: OAuth 2.0 - Retrieve a new authorization code
operationId: oauth2-recoverauthorizationcode
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Must take the string value ```recoverauthorizationcode```.
- name: client_id
in: query
required: true
schema:
type: string
description: Your ```Client ID```.
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce)).
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: userid
in: query
required: true
schema:
type: integer
description: User's identifier
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
user:
type: object
properties:
code:
type: string
description: Authorization Code that must be used to retrieve
access_token and refresh_token. (Read the "Get access
to your user's data" section of your [integration guide](/developer-guide/v3/withings-solutions/integration-guides)
to learn more about how to get this parameter.)
example: 490ed603fe9bd2ce10027bdba0c932069cd27085
x-codeSamples:
- lang: PHP
source: " 'recoverauthorizationcode',\n\t'client_id' => '7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67',\n\t'signature'
=> '58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2',\n\t'nonce'
=> 'c455541b8f9111689adb647d32fac07a6ffe462d',\n\t'userid' => 489418\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=recoverauthorizationcode&client_id=7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67&signature=58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2&nonce=c455541b8f9111689adb647d32fac07a6ffe462d&userid=489418"
'https://wbsapi.withings.net/v2/oauth2'
' https://wbsapi.withings.net/v2/oauth2':
post:
tags:
- oauth2
description: |-
This service allows you to get a list of all users that have authorized your application to fetch their data.
**This service is limited to partners who are integrating with Withings Pro solutions. This service will only work for partners having signed a contract with Withings.**
summary: OAuth 2.0 - Get user list
operationId: oauth2-listusers
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Must take the string value ```listusers```.
- name: client_id
in: query
required: true
schema:
type: string
description: Your ```Client ID```.
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce)).
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
hash_userid:
type: string
example: b1e4ea9c8bf584c8210ff308b19d656e15e9a074cd69178f833f687b95d8a2b5
userid:
type: integer
description: The id of the user.
example: 2685485
email:
type: string
description: User's email address
example: example@mailprovider.com
fully_owned:
type: boolean
description: Whether or not this user has been created by
your oauth2 application. Having created the account gives
your application additional rights on this account, such
as automatically granted authorizations and access to the
retrieve tokens webservice.
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'listusers',\n\t'client_id' => '7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67',\n\t'signature'
=> '58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2',\n\t'nonce'
=> 'c455541b8f9111689adb647d32fac07a6ffe462d',\n\t'offset' => 0\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=listusers&client_id=7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67&signature=58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2&nonce=c455541b8f9111689adb647d32fac07a6ffe462d&offset=0"
'https://wbsapi.withings.net/v2/oauth2'
' https://wbsapi.withings.net/v2/oauth2':
post:
tags:
- oauth2
description: This service allows to revoke the access your application have
been granted to a user's data. After calling this webservice, your access
and refresh tokens for this user will become invalid, and the data update
notifications for this user will be automatically unsubscribed.
summary: OAuth 2.0 - Revoke user access
operationId: oauth2-revoke
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Must take the string value ```revoke```.
- name: client_id
in: query
required: true
schema:
type: string
description: Your ```Client ID```.
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce)).
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: userid
in: query
required: true
schema:
type: integer
description: User's identifier.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'revoke',\n\t'client_id' => '7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67',\n\t'signature'
=> '58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2',\n\t'nonce'
=> 'c455541b8f9111689adb647d32fac07a6ffe462d',\n\t'userid' => 489418\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=revoke&client_id=7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67&signature=58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2&nonce=c455541b8f9111689adb647d32fac07a6ffe462d&userid=489418"
'https://wbsapi.withings.net/v2/oauth2'
' https://wbsapi.withings.net/v2/oauth2':
post:
tags:
- oauth2
description: This webservice gives your clientID access to a demo account containing
dummy data
summary: OAuth 2.0 - Get access to demo account
operationId: oauth2-getdemoaccess
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Must take the string value ```getdemoaccess```.
- name: client_id
in: query
required: true
schema:
type: string
description: Your ```Client ID```.
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce)).
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: scope_oauth2
in: query
required: true
schema:
type: string
description: A comma-separated list of permission scopes to request from the
user. See the [available scopes](/developer-guide/v3/integration-guide/public-health-data-api/get-access/oauth-authorization-url/#scopes)
for the full list and the actions they allow.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
access_token:
type: string
description: Your new Access Token.
example: a075f8c14fb8df40b08ebc8508533dc332a6910a
refresh_token:
type: string
description: Your Refresh Token.
example: f631236f02b991810feb774765b6ae8e6c6839ca
expires_in:
type: integer
description: Access token expiry delay in seconds.
example: 10800
x-codeSamples:
- lang: PHP
source: " 'getdemoaccess',\n\t'client_id' => '7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67',\n\t'signature'
=> '58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2',\n\t'nonce'
=> 'c455541b8f9111689adb647d32fac07a6ffe462d',\n\t'scope_oauth2' => 'user.activity,user.metrics'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=getdemoaccess&client_id=7573fd4a4c421ddd102dac406dc6e0e0e22f683c4a5e81ff0a5caf8b65abed67&signature=58c0c4ad271fb20df9b96c63dc68d6c550c0b7896f743262fc4c5b9261f32ab2&nonce=c455541b8f9111689adb647d32fac07a6ffe462d&scope_oauth2=user.activity,user.metrics"
'https://wbsapi.withings.net/v2/oauth2'
' https://wbsapi.withings.net/v2/oauth2':
post:
tags:
- oauth2
description: |-
This service allows creation of a new OAuth 2.0 application.
**This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.
Uncontracted partners should use the developer dashboard to create their applications.**
summary: OAuth 2.0 - Create OAuth2.0 application
operationId: oauth2-createclient
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Must take the string value ```createclient```.
- name: client_id
in: query
required: true
schema:
type: string
description: Your ```Client ID```.
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce)).
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: name
in: query
required: true
schema:
type: string
description: Specifies the OAuth2.0 application's name
- name: description
in: query
required: true
schema:
type: string
description: Brief summary of the application
- name: intended_environment
in: query
required: true
schema:
type: string
description: 'Indicates intended operation environment. Allowed values are:
```dev```, ```stage``` and ```prod```'
- name: intended_integrations
in: query
required: true
schema:
type: array of strings
description: 'Specifies Withings Solutions to be used. Allowed values are:
```app_to_app```, ```sdk```, ```cellular``` and ```logistics```'
- name: redirect_uris
in: query
required: true
schema:
type: array of strings
description: List of redirect uris
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
client_id:
type: string
example: 1130b57432f560c3a686803901e56954f46082c9825a0a598a1a827c56177ca5
client_secret:
type: string
example: 40eac75e29c642223793bbdd1faa85e9772638b542c016738b8106d64cc6c1ea
name:
type: string
example: App Name
desc:
type: string
example: App Description
img:
type: string
example: \/uploads\/image.png
is_restricted:
type: boolean
organization_id:
type: integer
example: 12345
x-codeSamples:
- lang: PHP
source: " 'createclient',\n\t'organization_id' => 12345,\n\t'name'
=> 'My OAuth2.0 Application',\n\t'description' => 'An OAuth2.0 Application',\n\t'redirect_uris'
=> '[\"https:\\\\/\\\\/www.withings.com\",\"https:\\\\/\\\\/www.test.com\"]',\n\t'intended_integrations'
=> '[\"app_to_app\"]',\n\t'intended_environment' => 'dev'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=createclient&organization_id=12345&name=My OAuth2.0
Application&description=An OAuth2.0 Application&redirect_uris=["https:\\/\\/www.withings.com","https:\\/\\/www.test.com"]&intended_integrations=["app_to_app"]&intended_environment=dev"
'https://wbsapi.withings.net/v2/oauth2'
https://wbsapi.withings.net/measure:
post:
tags:
- measure
description: Provides measures stored at a specific date among the types below.
Please refer to the following responses for details.
summary: Measure - Getmeas
operationId: measure-getmeas
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getmeas```.
- name: meastype
in: query
required: false
schema:
type: integer
description: "Requested measure type :\n\n\n|Value | Description|\n|---|---|\n|1
| Weight (kg)|\n|4 | Height (meter)|\n|5 | Fat Free Mass (kg)|\n|6 | Fat
Ratio (%)|\n|8 | Fat Mass Weight (kg)|\n|9 | Diastolic Blood Pressure (mmHg)|\n|10
| Systolic Blood Pressure (mmHg)|\n|11 | Heart Pulse (bpm) - only for BPM
and scale devices|\n|12 | Temperature (celsius)|\n|54 | SP02 (%)|\n|71 |
Body Temperature (celsius)|\n|73 | Skin Temperature (celsius)|\n|76 | Muscle
Mass (kg)|\n|77 | Hydration (kg)|\n|88 | Bone Mass (kg)|\n|91 | Pulse Wave
Velocity (m/s)|\n|123 | VO2 max is a numerical measurement of your body\u2019s
ability to consume oxygen (ml/min/kg).|\n|130 | Atrial fibrillation result|\n|135
| QRS interval duration based on ECG signal|\n|136 | PR interval duration
based on ECG signal|\n|137 | QT interval duration based on ECG signal|\n|138
| Corrected QT interval duration based on ECG signal|\n|139 | Atrial fibrillation
result from PPG|\n|155 | Vascular age|\n|167 | Nerve Health Score Conductance
2 electrodes Feet|\n|168 | Extracellular Water in kg|\n|169 | Intracellular
Water in kg|\n|170 | Visceral Fat (without unity)|\n|173 | Fat Free Mass
for segments|\n|174 | Fat Mass for segments in mass unit|\n|175 | Muscle
Mass for segments|\n|196 | Electrodermal activity feet|\n|226 | Basal Metabolic
Rate (BMR)|\n|227 | Metabolic Age|\n|229 | Electrochemical Skin Conductance
(ESC)|\n"
- name: meastypes
in: query
required: false
schema:
type: list of integers
description: 'List of requested measure types (separated by a comma).
Ex:
meastypes=1,4,12'
- name: category
in: query
required: false
schema:
type: integer
description: '```1``` for real measures, ```2``` for user objectives.'
- name: startdate
in: query
required: false
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: lastupdate
in: query
required: false
schema:
type: integer
description: Timestamp for requesting data that were updated or created after
this date.
Useful for data synchronization between systems.
Use this
instead of startdate + enddate.
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:1``` and ```offset:XX```, set
value ```XX``` in this parameter to retrieve next available rows.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
updatetime:
type: string
description: Server time at which the answer was generated.
timezone:
type: string
description: Timezone for the date.
measuregrps:
type: array
description: For every measure/measurement made, a measure
group is created. The measure group purpose is to group
together measures that have been taken at the same time.
For instance, when measuring blood pressure you will have
a measure group with a systole measure, a diastole measure,
and a heartrate measure. Every time a measure is create/updated/deleted,
the corresponding measure group is updated.
items:
$ref: '#/components/schemas/measuregrp_object'
more:
type: integer
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'getmeas',\n\t'meastype' => 'meastype',\n\t'meastypes' =>
'meastypes',\n\t'category' => 'category',\n\t'startdate' => 'startdate',\n\t'enddate'
=> 'enddate',\n\t'lastupdate' => 'int',\n\t'offset' => 'offset'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getmeas&meastype=meastype&meastypes=meastypes&category=category&startdate=startdate&enddate=enddate&lastupdate=int&offset=offset"
''https://wbsapi.withings.net/measure'''
'https://wbsapi.withings.net/notify ':
post:
tags:
- notify
description: Returns the last notification service that was subscribed for a
user and for a given appli. If no appli is specified, appli=1 will be considered.
summary: Notify - Get
operationId: notify-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: callbackurl
in: query
required: true
schema:
type: string
description: Your ```Callback URL```.
- name: appli
in: query
required: false
schema:
type: integer
description: Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/)
to know which value you should use.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
appli:
type: integer
description: |
Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/) to know the meaning of each values.
example: 4
callbackurl:
type: string
description: Callback url of the notification.
example: https://www.withings.com
comment:
type: string
description: Comment entered when creating the notification
configuration.
example: My notification subcription comment
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'callbackurl'
=> 'callbackurl',\n\t'appli' => 'appli'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=get&callbackurl=callbackurl&appli=appli"
''https://wbsapi.withings.net/notify '''
'https://wbsapi.withings.net/notify ':
post:
tags:
- notify
description: Lists notification configuration for this user.
summary: Notify - List
operationId: notify-list
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```list```.
- name: appli
in: query
required: false
schema:
type: integer
description: Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/)
to know which value you should use.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
profiles:
type: array
description: List of notification configurations for this
user.
items:
$ref: '#/components/schemas/notify_object'
x-codeSamples:
- lang: PHP
source: " 'list',\n\t'appli'
=> 'appli'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=list&appli=appli"
''https://wbsapi.withings.net/notify '''
'https://wbsapi.withings.net/notify ':
post:
tags:
- notify
description: Disables all notifications for a given user.
summary: Notify - Revoke
operationId: notify-revoke
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```revoke```.
- name: callbackurl
in: query
required: true
schema:
type: string
description: Your ```Callback URL```.
- name: appli
in: query
required: false
schema:
type: integer
description: Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/)
to know which value you should use.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'revoke',\n\t'callbackurl'
=> 'callbackurl',\n\t'appli' => 'appli'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=revoke&callbackurl=callbackurl&appli=appli"
''https://wbsapi.withings.net/notify '''
https://wbsapi.withings.net/notify:
post:
tags:
- notify
description: |-
This service allows to receive notifications from Withings:
- for the Health Data APIs : your application can subscribe to a variety or events, including user data creation and updates. Notifications will be sent to your servers when the subscribed events occur. ([more information](/developer-guide/v3/data-api/notifications/notification-overview)). Please note that you need to subscribe for each individual user.
- for the Logistics APIs: a notification will be sent when there is an order update ([more information](developer-guide/v3/integration-guide/dropship-only/logistics-api/observe-order-updates))
- for partners integrating Withings Cellular Solutions or Withings Mobile SDK: you can use the ```NO_ACCOUNT_ASSOCIATED``` event to track unassociated devices . Please note you need to subscribe only once per application.
**Note**: depending on your use case, the request parameters may change:
- for the Health Data APIs: use a valid ```access_token``` in the header but don't use ```signature``` and ```nonce``` in the query parameters.
- for the Logistics APIs: the subscription is done automatically an order is placed (please refer to the [dedicated documentation section](developer-guide/v3/integration-guide/dropship-only/logistics-api/observe-order-updates#how-to-receive-order-update-notifications))
- for partners integrating Withings Cellular Solutions or Withings Mobile SDK, to subscribe to the ```NO_ACCOUNT_ASSOCIATED``` event (appli = 53): use ```signature``` and ```nonce``` parameters but don't include an ```access_token``` in the header.
summary: Notify - Subscribe
operationId: notify-subscribe
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```subscribe```.
- name: callbackurl
in: query
required: true
schema:
type: string
description: Your ```Callback URL```.
- name: appli
in: query
required: true
schema:
type: integer
description: Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/)
to know which value you should use.
- name: signature
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token]
Hash of
params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).'
- name: nonce
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token]
A random
token used to prevent replay attacks (Cf. [Signature v2 - Getnonce](#operation/signaturev2-getnonce))'
- name: client_id
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token]
Id of the
client'
- name: comment
in: query
required: false
schema:
type: string
description: Comment.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'subscribe',\n\t'callbackurl' => 'callbackurl',\n\t'appli'
=> 'appli',\n\t'signature' => 'signature',\n\t'nonce' => 'string',\n\t'client_id'
=> 'client_id',\n\t'comment' => 'comment'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=subscribe&callbackurl=callbackurl&appli=appli&signature=signature&nonce=string&client_id=client_id&comment=comment"
''https://wbsapi.withings.net/notify'''
'https://wbsapi.withings.net/notify ':
post:
tags:
- notify
description: Updates the ```callbackurl``` and/or ```appli``` of a created notification
subscription. If multiple subscriptions were made for a given user, ```callbackurl```
and ```appli```, only one of the subscriptions will be updated.
summary: Notify - Update
operationId: notify-update
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```update```.
- name: callbackurl
in: query
required: true
schema:
type: string
description: Your ```Callback URL```.
- name: appli
in: query
required: true
schema:
type: integer
description: Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/)
to know which value you should use.
- name: new_callbackurl
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [new_appli, comment]
The
new callback url.'
- name: new_appli
in: query
required: true
schema:
type: integer
description: 'DO NOT USE WITH FOLLOWING PARAMS: [new_callbackurl, comment]
The
new application type.'
- name: comment
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [new_callbackurl, new_appli]
Comment.'
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'update',\n\t'callbackurl'
=> 'callbackurl',\n\t'appli' => 'appli',\n\t'new_callbackurl' => 'new_callbackurl',\n\t'new_appli'
=> 'new_appli',\n\t'comment' => 'comment'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=update&callbackurl=callbackurl&appli=appli&new_callbackurl=new_callbackurl&new_appli=new_appli&comment=comment"
''https://wbsapi.withings.net/notify '''
https://wbsapi.withings.net/v2/answers:
post:
tags:
- answers
description: ""
summary: Answers v2 - Get
operationId: answersv2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: userid
in: query
required: true
schema:
type: rawint32
description: User's identifier.
- name: startdate
in: query
required: true
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: surveyid
in: query
required: false
schema:
type: string
description: ID of a survey
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
answers:
type: array
items:
$ref: '#/components/schemas/answers_list'
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'signature' => 'signature',\n\t'client_id' =>
'client_id',\n\t'nonce' => 'string',\n\t'userid' => 'rawint32',\n\t'startdate'
=> 'startdate',\n\t'enddate' => 'enddate',\n\t'surveyid' => 'string'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=get&signature=signature&client_id=client_id&nonce=string&userid=rawint32&startdate=startdate&enddate=enddate&surveyid=string"
'https://wbsapi.withings.net/v2/answers'
'https://wbsapi.withings.net/v2/device ':
post:
tags:
- device
description: ""
summary: Device v2 - Disablefeature
operationId: devicev2-disablefeature
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```disablefeature```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: feature_name
in: query
required: true
schema:
type: string
description: Name of the feature to enable / disable. Cf [Feature Name List](/developer-guide/v3/integration-guide/features-api/features-api-enable#available-features)
- name: userid
in: query
required: true
schema:
type: rawint32
description: User's identifier.
- name: model
in: query
required: true
schema:
type: integer
description: Model integer value of a device or a consumable
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'disablefeature',\n\t'client_id'
=> 'client_id',\n\t'signature' => 'signature',\n\t'nonce' => 'string',\n\t'feature_name'
=> 'string',\n\t'userid' => 'rawint32',\n\t'model' => 'int'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=disablefeature&client_id=client_id&signature=signature&nonce=string&feature_name=string&userid=rawint32&model=int"
'https://wbsapi.withings.net/v2/device '
'https://wbsapi.withings.net/v2/device ':
post:
tags:
- device
description: ""
summary: Device v2 - Enablefeature
operationId: devicev2-enablefeature
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```enablefeature```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: feature_name
in: query
required: true
schema:
type: string
description: Name of the feature to enable / disable. Cf [Feature Name List](/developer-guide/v3/integration-guide/features-api/features-api-enable#available-features)
- name: userid
in: query
required: true
schema:
type: rawint32
description: User's identifier.
- name: model
in: query
required: true
schema:
type: integer
description: Model integer value of a device or a consumable
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'enablefeature',\n\t'client_id'
=> 'client_id',\n\t'signature' => 'signature',\n\t'nonce' => 'string',\n\t'feature_name'
=> 'string',\n\t'userid' => 'rawint32',\n\t'model' => 'int'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=enablefeature&client_id=client_id&signature=signature&nonce=string&feature_name=string&userid=rawint32&model=int"
'https://wbsapi.withings.net/v2/device '
https://wbsapi.withings.net/v2/device:
post:
tags:
- device
description: '**Important:** Read the [Terminate Device](/developer-guide/v3/tutorials/device-cellular-connectivity/)
Section before calling this webservice.'
summary: Device v2 - Endpartnerprogram
operationId: devicev2-endpartnerprogram
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```endpartnerprogram```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: mac_address
in: query
required: true
schema:
type: macaddress
description: The mac address of the target device.
- name: status
in: query
required: true
schema:
type: string
description: The status
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
new_sim_status:
type: string
description: New status of the SIM.
example: STANDBY
termination_date:
type: integer
description: Timestamp when the SIM will be terminated *(Only
if required status was ```TERMINATED```)*
format: timestamp
example: 1656518088
x-codeSamples:
- lang: PHP
source: " 'endpartnerprogram',\n\t'client_id' => 'client_id',\n\t'signature'
=> 'signature',\n\t'nonce' => 'string',\n\t'mac_address' => 'macaddress',\n\t'status'
=> 'string'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=endpartnerprogram&client_id=client_id&signature=signature&nonce=string&mac_address=macaddress&status=string"
'https://wbsapi.withings.net/v2/device'
https://wbsapi.withings.net/v2/dropshipment:
post:
tags:
- dropshipment
description: |-
Creates a dropshipment order.
If one of the orders has an invalid address, none of the orders will be created.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
*Do not use this service if you're integrating Withings Cellular Solutions with dropshipment. In that case, please use the createuserorder action*
summary: Dropshipment v2 - Createorder
operationId: dropshipmentv2-createorder
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```createorder```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: order
in: query
required: true
schema:
type: json_array
description: Refer to [Order model](#tag/models/Order). The maximum number
of orders is 10 per API request.
- name: customerid
in: query
required: false
schema:
type: string
description: Your dropshipment billing ID. If you don't know it, ignore this
parameter.
- name: testmode
in: query
required: false
schema:
type: integer
description: 'If is set, it will create fake orders, and simulate the evolution
of the orders status and sending of notifications.
```1```: ```SHIPPED```
sequence
```2```: ```TRASHED``` sequence
```3```: ```FAILED``` sequence
```4```:
```BACKHOLD``` sequence'
- name: platformid
in: query
required: false
schema:
type: id16
description: The platform ID
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
orders:
type: array
description: List of created orders. *(Only if orders were
successfully created)*
items:
$ref: '#/components/schemas/dropshipment_create_order_object'
dropshipmentorderid:
type: string
description: Unique identifier of the dropshipment order.
example: "4874687"
invalid_address_customer_ref_ids:
type: array
description: References of the orders with invalid address.
*(Only if at least one order has an invalid address)*
items:
type: string
examples:
OK:
value:
status: 0
body:
orders:
- order_id: D12345678
customer_ref_id: MOUVEMENTREFERENCE12345678
status: VERIFIED
products:
- ean: "3700546702518"
quantity: 3
dropshipmentorderid: "4874687"
AddressError:
value:
status: 503
body:
invalid_address_customer_ref_ids:
- MOUVEMENTREFERENCE12345678
x-codeSamples:
- lang: PHP
source: " 'createorder',\n\t'client_id' => 'client_id',\n\t'nonce'
=> 'string',\n\t'signature' => 'signature',\n\t'order' => 'order',\n\t'customerid'
=> 'customerid',\n\t'testmode' => 0,\n\t'platformid' => 'id16'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=createorder&client_id=client_id&nonce=string&signature=signature&order=order&customerid=customerid&testmode=0&platformid=id16"
'https://wbsapi.withings.net/v2/dropshipment'
'https://wbsapi.withings.net/v2/dropshipment ':
post:
tags:
- dropshipment
description: |-
Creates a Withings user, then creates a dropshipment order and links the devices shipped to the created user once the device is shipped. If a cellular device is listed in the order field, the service will activate this device's cellular service and invoicing.
If one of the orders has an invalid address, none of the orders will be created.
Please refer to the [Access and refresh tokens section](/developer-guide/v3/integration-guide/dropship-cellular/get-access/access-and-refresh-tokens) to learn how to use the authorization code you'll get in return of this service in order to fetch user data. The authorization code is only valid for *10 minutes*.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
*Use this service only if you're integrating Withings Cellular Solutions with dropshipment.*
summary: Dropshipment v2 - Createuserorder
operationId: dropshipmentv2-createuserorder
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```createuserorder```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: mailingpref
in: query
required: true
schema:
type: boolean
description: Specifies if customer accepted Withings commercial contacts.
- name: birthdate
in: query
required: true
schema:
type: integer
description: Unix timestamp of user's birthdate
- name: measures
in: query
required: true
schema:
type: json_string
description: User measures (Cf. [Measures](#tag/models/Measures) model).
- name: gender
in: query
required: true
schema:
type: integer
description: '0: man, 1: woman'
- name: preflang
in: query
required: true
schema:
type: string
description: 'User language preference. Examples: en_EN / en_US / de_DE /
es_ES / fr_FR / it_IT / ja_JA / ko_KR / nl_NL / pt_PT / ru_RU / zh_CN'
- name: unit_pref
in: query
required: true
schema:
type: json
description: Unit pref (cf. [Unit preferences](#tag/models/Unit-preferences)
model).
- name: email
in: query
required: true
schema:
type: email
description: User's email address
- name: timezone
in: query
required: true
schema:
type: timezone
description: 'User''s timezone. Examples: "Europe/Paris" / "America/New_York".
A complete list of all possible timezones can be found on the "TZ database
name" column of this page : https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
- name: shortname
in: query
required: true
schema:
type: string
description: '3 characters representing the end user (ex: for a user named
Robert, you could set the shortname param to ROB). These characters will
be displayed on device screens when used.
Shortname must respect the
following regex: /^[a-zA-Z0-9]{3}$/ (either letters or numbers, special
characters and spaces are not allowed).'
- name: external_id
in: query
required: true
schema:
type: string
description: Unique identifier used by the partner to identify the end-user.
- name: order
in: query
required: true
schema:
type: json_array
description: Refer to [Order model](#tag/models/Order). The maximum number
of orders is 10 per API request.
- name: firstname
in: query
required: false
schema:
type: string
description: User's firstname (if not set, will take the same value as shortname)
- name: lastname
in: query
required: false
schema:
type: string
description: User's lastname (if not set, will take the same value as shortname)
- name: phonenumber
in: query
required: false
schema:
type: string
description: Phone number in E.164 format. End user will receive a verification
code on this phone number for 2 factor authentication if they wish to securely
access the data of their program in the withings app in the future (recommended)
- name: recovery_code
in: query
required: false
schema:
type: string
description: Recovery code can be used by end user as a 2nd authentication
factor in the withings app if they wish to securely access the data of their
program in the future. You will be responsible of securely providing this
recovery code to your user if he asks for it.
- name: goals
in: query
required: false
schema:
type: json
description: Goals (cf. [Goals](#tag/models/Goals) model).
- name: testmode
in: query
required: false
schema:
type: integer
description: 'If is set, it will create fake orders, and simulate the evolution
of the orders status and sending of notifications.
```1```: ```SHIPPED```
sequence
```2```: ```TRASHED``` sequence
```3```: ```FAILED``` sequence
```4```:
```BACKHOLD``` sequence'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
user:
type: object
properties:
code:
type: string
description: Authorization Code that must be used to retrieve
access_token and refresh_token. (Read the "Get access
to your user's data" section of your [integration guide](/developer-guide/v3/withings-solutions/integration-guides)
to learn more about how to get this parameter.)
example: 490ed603fe9bd2ce10027bdba0c932069cd27085
external_id:
type: string
description: Unique identifier used by partner to identify
the end-user.
example: 3b7a6db0-ec7e-479b-9675-2a3d8d6a7e51
orders:
type: array
description: List of created orders. *(Only if orders were
successfully created)*
items:
$ref: '#/components/schemas/dropshipment_create_order_object'
dropshipmentorderid:
type: string
description: Unique identifier of the dropshipment order.
example: "4874687"
invalid_address_customer_ref_ids:
type: array
description: References of the orders with invalid address.
*(Only if at least one order has an invalid address)*
example:
- MOUVEMENTREFERENCE12345678
items:
type: string
examples:
OK:
value:
status: 0
body:
user:
code: 490ed603fe9bd2ce10027bdba0c932069cd27085
external_id: 3b7a6db0-ec7e-479b-9675-2a3d8d6a7e51
orders:
- order_id: D12345678
customer_ref_id: MOUVEMENTREFERENCE12345678
status: VERIFIED
products:
- ean: "3700546702518"
quantity: 3
dropshipmentorderid: "4874687"
AddressError:
value:
status: 503
body:
invalid_address_customer_ref_ids:
- MOUVEMENTREFERENCE12345678
x-codeSamples:
- lang: PHP
source: " 'createuserorder',\n\t'client_id'
=> 'client_id',\n\t'nonce' => 'string',\n\t'signature' => 'signature',\n\t'mailingpref'
=> 'mailingpref',\n\t'birthdate' => 1563746400,\n\t'measures' => 'measures',\n\t'gender'
=> 'int',\n\t'preflang' => 'en_EN',\n\t'unit_pref' => 'unit_pref',\n\t'email'
=> 'email',\n\t'timezone' => 'Europe/Paris',\n\t'shortname' => 'shortname',\n\t'external_id'
=> 'external_id',\n\t'order' => 'order',\n\t'firstname' => 'firstname',\n\t'lastname'
=> 'lastname',\n\t'phonenumber' => 'string',\n\t'recovery_code' => 'string',\n\t'goals'
=> 'json',\n\t'testmode' => 0\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=createuserorder&client_id=client_id&nonce=string&signature=signature&mailingpref=mailingpref&birthdate=1563746400&measures=measures&gender=int&preflang=en_EN&unit_pref=unit_pref&email=email&timezone=Europe/Paris&shortname=shortname&external_id=external_id&order=order&firstname=firstname&lastname=lastname&phonenumber=string&recovery_code=string&goals=json&testmode=0"
'https://wbsapi.withings.net/v2/dropshipment '
'https://wbsapi.withings.net/v2/dropshipment ':
post:
tags:
- dropshipment
description: |-
Cancels a dropshipment order.
Only orders that haven't been shipped can be cancelled.
Note that there can be a latency between the shipping of the parcel and the update of the shipping status to *SHIPPED*.
Trying to cancel an order that was already shipped will result in a error with error code 277.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
summary: Dropshipment v2 - Delete
operationId: dropshipmentv2-delete
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```delete```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: order_id
in: query
required: true
schema:
type: string
description: Withings generated identifier used to track your order.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'delete',\n\t'client_id'
=> 'client_id',\n\t'signature' => 'signature',\n\t'nonce' => 'string',\n\t'order_id'
=> 'string'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=delete&client_id=client_id&signature=signature&nonce=string&order_id=string"
'https://wbsapi.withings.net/v2/dropshipment '
'https://wbsapi.withings.net/v2/dropshipment ':
post:
tags:
- dropshipment
description: |-
**This service is deprecated. Please use [Order v2 - Getdetail instead](#operation/orderv2-getdetail)**
Returns dropshipment order information.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
summary: Dropshipment v2 - Getorderstatus
operationId: dropshipmentv2-getorderstatus
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getorderstatus```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: order_ids
in: query
required: true
schema:
type: json
description: 'DO NOT USE WITH FOLLOWING PARAMS: [customer_ref_ids]
List
of order_id'
- name: customer_ref_ids
in: query
required: true
schema:
type: json
description: 'DO NOT USE WITH FOLLOWING PARAMS: [order_ids]
Movement reference
number of dropshipment orderlines'
- name: customerid
in: query
required: false
schema:
type: string
description: Your dropshipment billing ID. If you don't know it, ignore this
parameter.
- name: enrich
in: query
required: false
schema:
type: pgboolean
description: Enable advanced features if set to 't'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
orders:
type: array
items:
$ref: '#/components/schemas/dropshipment_get_order_status_object'
x-codeSamples:
- lang: PHP
source: " 'getorderstatus',\n\t'client_id'
=> 'client_id',\n\t'signature' => 'signature',\n\t'nonce' => 'string',\n\t'order_ids'
=> 'json',\n\t'customer_ref_ids' => 'json',\n\t'customerid' => 'customerid',\n\t'enrich'
=> 'pgboolean'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=getorderstatus&client_id=client_id&signature=signature&nonce=string&order_ids=json&customer_ref_ids=json&customerid=customerid&enrich=pgboolean"
'https://wbsapi.withings.net/v2/dropshipment '
'https://wbsapi.withings.net/v2/dropshipment ':
post:
tags:
- dropshipment
description: |-
Updates a dropshipment order.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
summary: Dropshipment v2 - Update
operationId: dropshipmentv2-update
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```update```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: order_id
in: query
required: true
schema:
type: string
description: Withings generated identifier used to track your order.
- name: order
in: query
required: true
schema:
type: json_array
description: Refer to [Order model](#tag/models/Order). Restricted to one
order only.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
orders:
type: array
items:
$ref: '#/components/schemas/dropshipment_create_order_object'
x-codeSamples:
- lang: PHP
source: " 'update',\n\t'client_id'
=> 'client_id',\n\t'signature' => 'signature',\n\t'nonce' => 'string',\n\t'order_id'
=> 'string',\n\t'order' => 'order'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=update&client_id=client_id&signature=signature&nonce=string&order_id=string&order=order"
'https://wbsapi.withings.net/v2/dropshipment '
'https://wbsapi.withings.net/v2/heart ':
post:
tags:
- heart
description: "Provides the high frequency data of an ECG recording in micro-volt
(\u03BCV).\n\n**Duration:**\n\n - BPM Core: 20 seconds.\n - Move ECG: 30 seconds.\n
- ScanWatch: 30 seconds.\n\n**Sampling frequency:**\n\n - BPM Core: 500 Hz.\n
- Move ECG: 300 Hz.\n - ScanWatch: 300 Hz."
summary: Heart v2 - Get
operationId: heartv2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: signalid
in: query
required: true
schema:
type: id32m64
description: 'DO NOT USE WITH FOLLOWING PARAMS: [client_id, signature, nonce,
signal_token]
ID of a signal'
- name: client_id
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token, signalid]
Id
of the client'
- name: signature
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token, signalid]
Hash
of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).'
- name: nonce
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token, signalid]
A
random token used to prevent replay attacks (Cf. [Signature v2 - Getnonce](#operation/signaturev2-getnonce))'
- name: signal_token
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [access_token, signalid]
Signal
identifier'
- name: with_filtered
in: query
required: false
schema:
type: boolean
description: Request filtered version of the signal
- name: with_intervals
in: query
required: false
schema:
type: boolean
description: Request features with inactive ones
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
signal:
type: array
description: "Signal value in micro-volt (\u03BCV)."
example: '[1,2,3,4,5,6,7,8,9]'
items:
type: integer
sampling_frequency:
type: integer
description: Signal Sampling Frequency (Hz).
example: 500
wearposition:
type: integer
description: |
Where the user is wearing the device.
| Value | Description|
|---|---|
|0 | Right Wrist|
|1 | Left Wrist|
|2 | Right Arm|
|3 | Left Arm|
|4 | Right Foot|
|5 | Left Foot|
|6 | Between Legs|
|8 | Left part of the body|
|9 | Right part of the body|
|10 | Left leg|
|11 | Right leg|
|12 | Torso|
|13 | Left hand|
|14 | Right hand|
|15 | Cardiovascular aortic area|
|16 | Cardiovascular pulmonic area|
|17 | Cardiovascular tricuspid area|
|18 | Cardiovascular mitral area|
|19 | Cardiovascular apex area|
|20 | Pulmonary front upper right area|
|21 | Pulmonary front upper left area|
|22 | Pulmonary front bottom right area|
|23 | Pulmonary front bottom left area|
|24 | Pulmonary back upper left area|
|25 | Pulmonary back upper right area|
|26 | Pulmonary back bottom left area|
|27 | Pulmonary back bottom right area|
|28 | Wide mode area|
|29 | Between arms|
|30 | Hold Right|
|31 | Hold Left|
example: 1
model:
type: integer
description: |
The source of the recording.
| Value | Description|
|---|---|
|44 | BPM Core|
|91 | Move ECG|
example: 44
heart_rate:
type: integer
description: Average recorded heart rate.
example: 82
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'signalid'
=> 'signalid',\n\t'client_id' => 'client_id',\n\t'signature' => 'signature',\n\t'nonce'
=> 'string',\n\t'signal_token' => 'string',\n\t'with_filtered' => 'boolean',\n\t'with_intervals'
=> 'boolean'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=get&signalid=signalid&client_id=client_id&signature=signature&nonce=string&signal_token=string&with_filtered=boolean&with_intervals=boolean"
''https://wbsapi.withings.net/v2/heart '''
https://wbsapi.withings.net/v2/heart:
post:
tags:
- heart
description: |-
Returns a list of ECG records and Afib classification for a given period of time.
To get the full ECG signal, use the [Heart v2 - Get](#operation/heartv2-get) service.
If the ECG recordings have been taken with BPM Core, systole and diastole measurements will also be returned.
summary: Heart v2 - List
operationId: heartv2-list
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```list```.
- name: startdate
in: query
required: false
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
series:
type: array
items:
$ref: '#/components/schemas/heart_measurement_object'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'list',\n\t'startdate' => 'startdate',\n\t'enddate' => 'enddate',\n\t'offset'
=> 'offset'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=list&startdate=startdate&enddate=enddate&offset=offset"
''https://wbsapi.withings.net/v2/heart'''
'https://wbsapi.withings.net/v2/measure ':
post:
tags:
- measure
description: ""
summary: Measure v2 - Confirmuser
operationId: measurev2-confirmuser
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```confirmuser```.
- name: grpid
in: query
required: true
schema:
type: id64n
description: Group ID
- name: is_confirmed
in: query
required: true
schema:
type: boolean
description: Indicates if the measure was confirmed by the user.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'confirmuser',\n\t'grpid'
=> 'id64n',\n\t'is_confirmed' => 'boolean'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=confirmuser&grpid=id64n&is_confirmed=boolean"
''https://wbsapi.withings.net/v2/measure '''
https://wbsapi.withings.net/v2/measure:
post:
tags:
- measure
description: Provides daily aggregated activity data of a user.
summary: Measure v2 - Getactivity
operationId: measurev2-getactivity
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getactivity```.
- name: startdateymd
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]
Start date.'
format: Y-m-d
- name: enddateymd
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]
End date.'
format: Y-m-d
- name: lastupdate
in: query
required: true
schema:
type: integer
description: 'DO NOT USE WITH FOLLOWING PARAMS: [startdateymd, enddateymd]
Timestamp
for requesting data that were updated or created after this date.
Useful
for data synchronization between systems.
Use this instead of startdateymd
+ enddateymd.'
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
- name: data_fields
in: query
required: false
schema:
type: string
description: 'List of requested data fields, separated by a comma.
Available
data fields are listed below.
Ex: data_fields=steps,distance,elevation
steps
>
Number of steps.
distance
> Distance travelled (in meters).
elevation
>
Number of floors climbed.
soft
> Duration of soft activities
(in seconds).
moderate
> Duration of moderate activities (in
seconds).
intense
> Duration of intense activities (in seconds).
active
> Sum of intense and moderate activity durations (in seconds).
calories
> Active calories burned (in Kcal). Calculated by mixing
fine granularity calories estimation, workouts estimated calories and calories
manually set by the user.
totalcalories
> Total calories burned
(in Kcal). Obtained by adding active calories (see ```calories```) and passive
calories.
hr_average
> Average heart rate. (beats per minute).
hr_min
>
Minimal heart rate (beats per minute).
hr_max
> Maximal heart
rate (beats per minute)..
hr_zone_0
> Duration in seconds when
heart rate was in a light zone (cf. Glossary).
hr_zone_1
> Duration in seconds when heart rate was in a moderate
zone (cf. Glossary).
hr_zone_2
>
Duration in seconds when heart rate was in an intense zone (cf. Glossary).
hr_zone_3
> Duration in seconds when heart rate was in maximal
zone (cf. Glossary).
'
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
activities:
type: array
items:
$ref: '#/components/schemas/activity_object'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'getactivity',\n\t'startdateymd' => '2020-07-01',\n\t'enddateymd'
=> '2020-07-02'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getactivity&startdateymd=2020-07-01&enddateymd=2020-07-02"
''https://wbsapi.withings.net/v2/measure'''
'https://wbsapi.withings.net/v2/measure ':
post:
tags:
- measure
description: |-
Returns user activity data captured at high frequency.
**Notes:**
- If your input ```startdate``` and ```enddate``` are separated by more than 24h, only the first 24h after ```startdate``` will be returned.
- If no ```startdate``` and ```enddate``` are passed as parameters, the most recent activity data will be returned.
summary: Measure v2 - Getintradayactivity
operationId: measurev2-getintradayactivity
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getintradayactivity```.
- name: startdate
in: query
required: false
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: data_fields
in: query
required: false
schema:
type: string
description: 'List of requested data fields, separated by a comma.
Available
data fields are listed below.
Ex: data_fields=steps,elevation,calories
steps
>
Number of steps.
elevation
> Number of floors climbed.
calories
>
Estimation of active calories burned (in Kcal).
distance
> Distance
travelled (in meters).
stroke
> Number of strokes performed.
pool_lap
> Number of pool_lap performed.
duration
>
Duration of the activity (in seconds).
heart_rate
> Measured
heart rate.
spo2_auto
> SpO2 measurement automatically tracked
by a device tracker
rmssd
> Heart rate variability - Root mean
square of the successive differences over "a few seconds" (in miliseconds).
sdnn1
>
Heart rate variability - Standard deviation of the NN over 1 minute (in
miliseconds).
hrv_quality
> Heart rate variability - quality score.
core_body_temperature
>
The core body temperature
rr
> Respiration Rate (breaths per minute).
chest_movement_rate
> Chest movement rate (events per minute).
'
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
series:
type: object
properties:
$timestamp:
type: object
description: $timestamp represents the epoch value of
the intraday data
properties:
deviceid:
type: string
description: 'ID of device that tracked the data.
To retrieve information about this device, refer
to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Withings WBS01 | Scale|
|WS30 | Scale|
|Kid Scale | Scale|
|Smart Body Analyzer | Scale|
|Body+ | Scale|
|Body Cardio | Scale|
|Body | Scale|
|Body Scan | Scale|
|Body Pro | Scale|
|WBS10 | Scale|
|WBS11 | Scale|
|Body Comp | Scale|
|Smart Baby Monitor | Babyphone|
|Withings Home | Babyphone|
|Withings Blood Pressure Monitor V1 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V2 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V3 | Blood Pressure Monitor|
|BPM Core | Blood Pressure Monitor|
|BPM Connect | Blood Pressure Monitor|
|BPM Connect Pro | Blood Pressure Monitor|
|BPM Pro 2 | Blood Pressure Monitor|
|BPM Vision | Blood Pressure Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Thermo | Smart Connected Thermometer|
|BeamO | Smart Connected Thermometer|
|WUP01 | Gateway|
|Iglucose glucometer | iGlucose|
|iOS step tracker | HealthKit Apple|
|HealthKit step iPhone tracker | HealthKit Apple|
|HealthKit step Apple Watch tracker | HealthKit Apple|
|HealthKit other step tracker | HealthKit Apple|
|Android step tracker | HealthKit Google|
|GoogleFit tracker | HealthKit Google|
|Samsung Health tracker | HealthKit Google|
|Google Health Connect | HealthKit Google|
|Huawei tracker | HealthKit Huawei|
|Lingo Sensor | Lingo|
example: Pulse
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|1 | Withings WBS01|
|2 | WS30|
|3 | Kid Scale|
|4 | Smart Body Analyzer|
|5 | Body+|
|6 | Body Cardio|
|7 | Body|
|10 | Body Scan|
|9 | Body Pro|
|11 | WBS10|
|12 | WBS11|
|18 | Body Comp|
|21 | Smart Baby Monitor|
|22 | Withings Home|
|41 | Withings Blood Pressure Monitor V1|
|42 | Withings Blood Pressure Monitor V2|
|43 | Withings Blood Pressure Monitor V3|
|44 | BPM Core|
|45 | BPM Connect|
|46 | BPM Connect Pro|
|47 | BPM Pro 2|
|48 | BPM Vision|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|70 | Thermo|
|71 | BeamO|
|100 | WUP01|
|1061 | Iglucose glucometer|
|1051 | iOS step tracker|
|1052 | iOS step tracker|
|1057 | HealthKit step iPhone tracker|
|1058 | HealthKit step Apple Watch tracker|
|1059 | HealthKit other step tracker|
|1053 | Android step tracker|
|1054 | Android step tracker|
|1055 | GoogleFit tracker|
|1056 | Samsung Health tracker|
|1060 | Google Health Connect|
|1062 | Huawei tracker|
|1063 | Lingo Sensor|
example: 51
steps:
type: integer
description: Number of steps. *(Use 'data_fields'
to request this data.)*
elevation:
type: number
description: Number of floors climbed. *(Use 'data_fields'
to request this data.)*
calories:
type: number
description: Estimation of active calories burned
(in Kcal). *(Use 'data_fields' to request this data.)*
distance:
type: number
description: Distance travelled (in meters). *(Use
'data_fields' to request this data.)*
stroke:
type: integer
description: Number of strokes performed. *(Use 'data_fields'
to request this data.)*
pool_lap:
type: integer
description: Number of pool_lap performed. *(Use 'data_fields'
to request this data.)*
duration:
type: integer
description: Duration of the activity (in seconds).
*(Use 'data_fields' to request this data.)*
heart_rate:
type: integer
description: Measured heart rate. *(Use 'data_fields'
to request this data.)*
spo2_auto:
type: number
description: SpO2 measurement automatically tracked
by a device tracker
rmssd:
type: number
description: Heart rate variability - Root mean square
of the successive differences over "a few seconds"
(in miliseconds).
sdnn1:
type: number
description: Heart rate variability - Standard deviation
of the NN over 1 minute (in miliseconds).
hrv_quality:
type: integer
description: Heart rate variability - quality score.
core_body_temperature:
type: number
description: The core body temperature
rr:
type: integer
description: Respiration Rate (breaths per minute).
*(Use 'data_fields' to request this data.)*
chest_movement_rate:
type: integer
description: Chest movement rate (events per minute).
*(Use 'data_fields' to request this data.)*
x-codeSamples:
- lang: PHP
source: " 'getintradayactivity',\n\t'startdate'
=> 'startdate',\n\t'enddate' => 'enddate',\n\t'data_fields' => 'data_fields'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getintradayactivity&startdate=startdate&enddate=enddate&data_fields=data_fields"
''https://wbsapi.withings.net/v2/measure '''
'https://wbsapi.withings.net/v2/measure ':
post:
tags:
- measure
description: |-
Returns workout summaries, which are an aggregation all data that was captured during that workout.
Use the [Measure v2 - Getintradayactivity](#operation/measurev2-getintradayactivity) service to get the high frequency data used to build this summary.
summary: Measure v2 - Getworkouts
operationId: measurev2-getworkouts
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getworkouts```.
- name: startdateymd
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]
Start date.'
format: Y-m-d
- name: enddateymd
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]
End date.
Required if startdateymd is provided.'
format: Y-m-d
- name: lastupdate
in: query
required: true
schema:
type: integer
description: 'DO NOT USE WITH FOLLOWING PARAMS: [startdateymd, enddateymd]
Timestamp
for requesting data that were updated or created after this date.
Useful
for data synchronization between systems.
Use this instead of startdateymd
+ enddateymd.'
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
- name: data_fields
in: query
required: false
schema:
type: string
description: |-
List of requested data fields, separated by a comma.
Available data fields are listed below.
Ex: data_fields=calories,intensity,manual_intensity
calories
> Active calories burned (in Kcal).
intensity
> Intensity of the workout, from 0 to 100, as inputed by the user. If the user didn't manually give the intensity of his workout, the value will be 0.
manual_intensity
> Intensity of the workout, from 0 to 100, entered by the user. If the user didn't manually give the intensity of his workout, the value will be 0.
manual_distance
> Distance travelled manually entered by user (in meters).
manual_calories
> Active calories burned manually entered by user (in Kcal).
hr_average
> Average heart rate. (beats per minute).
hr_min
> Minimal heart rate (beats per minute).
hr_max
> Maximal heart rate (beats per minute)..
hr_zone_0
> Duration in seconds when heart rate was in a light zone (cf. Glossary).
hr_zone_1
> Duration in seconds when heart rate was in a moderate zone (cf. Glossary).
hr_zone_2
> Duration in seconds when heart rate was in an intense zone (cf. Glossary).
hr_zone_3
> Duration in seconds when heart rate was in maximal zone (cf. Glossary).
pause_duration
> Total pause time in second filled by user
algo_pause_duration
> Total pause time in seconds detected by Withings device (swim only)
spo2_average
> Average percent of SpO2 percent value during a workout
core_body_temperature_avg
> Avenage core body temperature (in celsius degrees).
core_body_temperature_min
> Minimal core body temperature (in celsius degrees).
core_body_temperature_max
> Maximal core body temperature (in celsius degrees).
core_body_temperature_status
> Status of the temperature. *(Use 'data_fields' to request this data)* Value can be: 'unknown', 'usual' or 'elevated'.
steps
> Number of steps.
distance
> Distance travelled (in meters).
elevation
> Number of floors climbed.
pool_laps
> Number of pool laps.
strokes
> Number of strokes.
pool_length
> Length of the pool.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
series:
type: array
items:
$ref: '#/components/schemas/workout_object'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'getworkouts',\n\t'startdateymd'
=> '2020-07-01',\n\t'enddateymd' => '2020-07-02'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getworkouts&startdateymd=2020-07-01&enddateymd=2020-07-02"
''https://wbsapi.withings.net/v2/measure '''
'https://wbsapi.withings.net/v2/nudge ':
post:
tags:
- nudge
description: ""
summary: Nudge v2 - Create
operationId: nudgev2-create
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```create```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: iconids
in: query
required: true
schema:
type: array of integers
description: Ids of the Nudge Icon
- name: content
in: query
required: true
schema:
type: array of strings
description: Array with 2 lines of text representing the Nudge text content
- name: model
in: query
required: true
schema:
type: integer
description: Model integer value of a device or a consumable
- name: position
in: query
required: false
schema:
type: string
description: Nudge position in the dynamic screen list. Allowed values are
```first``` and ```last```.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
nudgeid:
type: integer
example: 9
x-codeSamples:
- lang: PHP
source: " 'create',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'iconids'
=> 'array of integers',\n\t'content' => 'array of strings',\n\t'model' =>
'int',\n\t'position' => 'string'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=create&signature=signature&client_id=client_id&nonce=string&iconids=array
of integers&content=array of strings&model=int&position=string" 'https://wbsapi.withings.net/v2/nudge '
'https://wbsapi.withings.net/v2/nudge ':
post:
tags:
- nudge
description: ""
summary: Nudge v2 - Delete
operationId: nudgev2-delete
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```delete```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgeid
in: query
required: true
schema:
type: id64
description: id of the nudge screen
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'delete',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgeid'
=> 'id64'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=delete&signature=signature&client_id=client_id&nonce=string&nudgeid=id64"
'https://wbsapi.withings.net/v2/nudge '
'https://wbsapi.withings.net/v2/nudge ':
post:
tags:
- nudge
description: ""
summary: Nudge v2 - Get
operationId: nudgev2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgeid
in: query
required: true
schema:
type: id64
description: id of the nudge screen
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
nudge:
type: object
properties:
iconids:
type: array of integers
example:
- 3
content:
type: array of strings
example:
- Line 1
- Line 2
campaignids:
type: array of integers
model:
type: integer
example: 17
position:
type: string
example: first
created:
type: integer
format: timestamp
example: 1712008821
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1712008821
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgeid'
=> 'id64'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=get&signature=signature&client_id=client_id&nonce=string&nudgeid=id64"
'https://wbsapi.withings.net/v2/nudge '
https://wbsapi.withings.net/v2/nudge:
post:
tags:
- nudge
description: ""
summary: Nudge v2 - List
operationId: nudgev2-list
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```list```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
nudges:
type: array
items:
$ref: '#/components/schemas/nudge'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'list',\n\t'signature' => 'signature',\n\t'client_id' =>
'client_id',\n\t'nonce' => 'string',\n\t'offset' => 'offset'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=list&signature=signature&client_id=client_id&nonce=string&offset=offset"
'https://wbsapi.withings.net/v2/nudge'
'https://wbsapi.withings.net/v2/nudge ':
post:
tags:
- nudge
description: ""
summary: Nudge v2 - Update
operationId: nudgev2-update
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```update```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgeid
in: query
required: true
schema:
type: id64
description: id of the nudge screen
- name: iconids
in: query
required: false
schema:
type: array of integers
description: Ids of the Nudge Icon
- name: content
in: query
required: false
schema:
type: array of strings
description: Array with 2 lines of text representing the Nudge text content
- name: model
in: query
required: false
schema:
type: integer
description: Model integer value of a device or a consumable
- name: position
in: query
required: false
schema:
type: string
description: Nudge position in the dynamic screen list. Allowed values are
```first``` and ```last```.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'update',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgeid'
=> 'id64',\n\t'iconids' => 'array of integers',\n\t'content' => 'array of
strings',\n\t'model' => 'int',\n\t'position' => 'string'\n]));\n\n$rsp =
curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=update&signature=signature&client_id=client_id&nonce=string&nudgeid=id64&iconids=array
of integers&content=array of strings&model=int&position=string" 'https://wbsapi.withings.net/v2/nudge '
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Addusers
operationId: nudgecampaignv2-addusers
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```addusers```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgecampaignid
in: query
required: true
schema:
type: id64
description: id of the nudge campaign
- name: userids
in: query
required: true
schema:
type: array of integers
description: Array of user ids
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'addusers',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgecampaignid'
=> 'id64',\n\t'userids' => 'array of integers'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=addusers&signature=signature&client_id=client_id&nonce=string&nudgecampaignid=id64&userids=array
of integers" 'https://wbsapi.withings.net/v2/nudgecampaign '
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Create
operationId: nudgecampaignv2-create
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```create```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgeid
in: query
required: true
schema:
type: id64
description: id of the nudge screen
- name: startdate
in: query
required: true
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: true
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: max_display_count
in: query
required: true
schema:
type: id32
description: The number of times the nudge should appear on the device screen
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
campaignid:
type: integer
example: 9
x-codeSamples:
- lang: PHP
source: " 'create',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgeid'
=> 'id64',\n\t'startdate' => 'startdate',\n\t'enddate' => 'enddate',\n\t'max_display_count'
=> 'id32'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=create&signature=signature&client_id=client_id&nonce=string&nudgeid=id64&startdate=startdate&enddate=enddate&max_display_count=id32"
'https://wbsapi.withings.net/v2/nudgecampaign '
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Delete
operationId: nudgecampaignv2-delete
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```delete```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgecampaignid
in: query
required: true
schema:
type: id64
description: id of the nudge campaign
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'delete',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgecampaignid'
=> 'id64'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=delete&signature=signature&client_id=client_id&nonce=string&nudgecampaignid=id64"
'https://wbsapi.withings.net/v2/nudgecampaign '
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Get
operationId: nudgecampaignv2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgecampaignid
in: query
required: true
schema:
type: id64
description: id of the nudge campaign
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
campaign:
type: object
properties:
id:
type: integer
example: 3
nudgeid:
type: integer
example: 4
max_display_count:
type: integer
example: 5
startdate:
type: integer
description: The starting datetime for the sleep state
data.
format: timestamp
example: 1712106335
enddate:
type: integer
description: The end datetime for the sleep data. A single
call can span up to 7 days maximum. To cover a wider
time range, you will need to perform multiple calls.
format: timestamp
example: 1735689600
user_count:
type: integer
example: 2
created:
type: integer
format: timestamp
example: 1712016369
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1712016369
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgecampaignid'
=> 'id64'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=get&signature=signature&client_id=client_id&nonce=string&nudgecampaignid=id64"
'https://wbsapi.withings.net/v2/nudgecampaign '
https://wbsapi.withings.net/v2/nudgecampaign:
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - List
operationId: nudgecampaignv2-list
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```list```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
campaigns:
type: array
items:
$ref: '#/components/schemas/nudge_campaign'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'list',\n\t'signature' => 'signature',\n\t'client_id' =>
'client_id',\n\t'nonce' => 'string',\n\t'offset' => 'offset'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=list&signature=signature&client_id=client_id&nonce=string&offset=offset"
'https://wbsapi.withings.net/v2/nudgecampaign'
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Listusers
operationId: nudgecampaignv2-listusers
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```listusers```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgecampaignid
in: query
required: true
schema:
type: id64
description: id of the nudge campaign
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
users:
type: array
items:
$ref: '#/components/schemas/user_campaign'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'listusers',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgecampaignid'
=> 'id64',\n\t'offset' => 'offset'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=listusers&signature=signature&client_id=client_id&nonce=string&nudgecampaignid=id64&offset=offset"
'https://wbsapi.withings.net/v2/nudgecampaign '
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Removeusers
operationId: nudgecampaignv2-removeusers
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```removeusers```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgecampaignid
in: query
required: true
schema:
type: id64
description: id of the nudge campaign
- name: userids
in: query
required: true
schema:
type: array of integers
description: Array of user ids
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'removeusers',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgecampaignid'
=> 'id64',\n\t'userids' => 'array of integers'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=removeusers&signature=signature&client_id=client_id&nonce=string&nudgecampaignid=id64&userids=array
of integers" 'https://wbsapi.withings.net/v2/nudgecampaign '
'https://wbsapi.withings.net/v2/nudgecampaign ':
post:
tags:
- nudgecampaign
description: ""
summary: Nudgecampaign v2 - Update
operationId: nudgecampaignv2-update
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```update```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: nudgecampaignid
in: query
required: true
schema:
type: id64
description: id of the nudge campaign
- name: nudgeid
in: query
required: false
schema:
type: id64
description: id of the nudge screen
- name: startdate
in: query
required: false
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: max_display_count
in: query
required: false
schema:
type: id32
description: The number of times the nudge should appear on the device screen
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'update',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'nudgecampaignid'
=> 'id64',\n\t'nudgeid' => 'id64',\n\t'startdate' => 'startdate',\n\t'enddate'
=> 'enddate',\n\t'max_display_count' => 'id32'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=update&signature=signature&client_id=client_id&nonce=string&nudgecampaignid=id64&nudgeid=id64&startdate=startdate&enddate=enddate&max_display_count=id32"
'https://wbsapi.withings.net/v2/nudgecampaign '
https://wbsapi.withings.net/v2/order:
post:
tags:
- order
description: |-
Returns detailed information about bulkshipment or dropshipment orders.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
summary: Order v2 - Getdetail
operationId: orderv2-getdetail
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getdetail```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: order_ids
in: query
required: true
schema:
type: json
description: 'DO NOT USE WITH FOLLOWING PARAMS: [customer_ref_ids]
List
of order_id'
- name: customer_ref_ids
in: query
required: true
schema:
type: json
description: 'DO NOT USE WITH FOLLOWING PARAMS: [order_ids]
Movement reference
number of dropshipment orderlines'
- name: customerid
in: query
required: false
schema:
type: string
description: Your dropshipment billing ID. If you don't know it, ignore this
parameter.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
orders:
type: array
items:
$ref: '#/components/schemas/dropshipment_get_order_status_object'
x-codeSamples:
- lang: PHP
source: " 'getdetail',\n\t'client_id' => 'client_id',\n\t'nonce' =>
'string',\n\t'signature' => 'signature',\n\t'order_ids' => 'json',\n\t'customer_ref_ids'
=> 'json',\n\t'customerid' => 'customerid'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=getdetail&client_id=client_id&nonce=string&signature=signature&order_ids=json&customer_ref_ids=json&customerid=customerid"
'https://wbsapi.withings.net/v2/order'
'https://wbsapi.withings.net/v2/rawdata ':
post:
tags:
- rawdata
description: This service allows to activate Raw Data collection on a given
device that is already set up, and set the date at which the raw data collection
will stop (enddate). The raw data capture will be activated as soon as the
watch is able to sync with the Withings app following the API call. The capture
will stop automatically at the enddate provided in the API call.
summary: Rawdata v2 - Activate
operationId: rawdatav2-activate
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```activate```.
- name: hash_deviceid
in: query
required: true
schema:
type: string
description: Public device id. For any device installed on a user account,
can be found by calling the User v2 - Get webservice.
- name: rawdata_type
in: query
required: true
schema:
type: integer
description: The type of raw data you want to act upon. Set to 1 for accelerometer,
set to 2 for optical sensor.
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'activate',\n\t'hash_deviceid'
=> 'string',\n\t'rawdata_type' => 'int',\n\t'enddate' => 'enddate'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=activate&hash_deviceid=string&rawdata_type=int&enddate=enddate"
''https://wbsapi.withings.net/v2/rawdata '''
'https://wbsapi.withings.net/v2/rawdata ':
post:
tags:
- rawdata
description: This service allows the de-activation of raw data collection. Raw
Data de-activation will occur as soon as the Withings device is able to sync
with the Withings app.
summary: Rawdata v2 - Deactivate
operationId: rawdatav2-deactivate
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```deactivate```.
- name: hash_deviceid
in: query
required: true
schema:
type: string
description: Public device id. For any device installed on a user account,
can be found by calling the User v2 - Get webservice.
- name: rawdata_type
in: query
required: false
schema:
type: integer
description: The type of raw data you want to act upon. Set to 1 for accelerometer,
set to 2 for optical sensor.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'deactivate',\n\t'hash_deviceid'
=> 'string',\n\t'rawdata_type' => 'int'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=deactivate&hash_deviceid=string&rawdata_type=int"
''https://wbsapi.withings.net/v2/rawdata '''
https://wbsapi.withings.net/v2/rawdata:
post:
tags:
- rawdata
description: This service allows to fetch raw data of a specific type that were
captured and synchronized by a Withings device. Detailled information about
the data structure can be found in the [Raw Data structure section](/developer-guide/v3/integration-guide/public-health-data-api/data-api/raw-data).
summary: Rawdata v2 - Get
operationId: rawdatav2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: hash_deviceid
in: query
required: true
schema:
type: string
description: Public device id. For any device installed on a user account,
can be found by calling the User v2 - Get webservice.
- name: rawdata_type
in: query
required: true
schema:
type: integer
description: The type of raw data you want to act upon. Set to 1 for accelerometer,
set to 2 for optical sensor.
- name: startdate
in: query
required: true
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: true
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
rawdata:
type: array
items:
$ref: '#/components/schemas/rawdata_get_rawdata_object'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
examples:
OK:
value:
status: 0
body:
rawdata:
- data: ""
hash_deviceid: 00d27f2d3b8d778ac56a831663ebec528085faa0
type: 2
format_version: 1
firmware_version: 2561
sensor_name: MAX86142_RAW
startdate: 1656518088
enddate: 1656518088
more: true
offset: 1
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'hash_deviceid' => 'string',\n\t'rawdata_type'
=> 'int',\n\t'startdate' => 'startdate',\n\t'enddate' => 'enddate',\n\t'offset'
=> 'offset'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=get&hash_deviceid=string&rawdata_type=int&startdate=startdate&enddate=enddate&offset=offset"
''https://wbsapi.withings.net/v2/rawdata'''
https://wbsapi.withings.net/v2/signature:
post:
tags:
- signature
description: "A ```nonce``` is a random token that is generated and stored in
Withings server with **30 minutes of validity**.\n\nAs a partner, you will
use this ```nonce``` token in the API services that require a ```signature```
so that Withings can check that the ```nonce``` token is still valid and was
never used before. The usage of a ```nonce``` token prevents your service
calls from replay attacks.\n\nBecause this service is an Device Management
service, Withings checks your authorized access using your ```client_id```
and your ```secret``` based ```signature```.\n\nTo generate the ```signature```
please follow these steps:\n\n- Sort the following parameters alphabetically:\n\t-
```action```\n\t- ```client_id```\n\t- ```timestamp```\n- Generate a string
by concatenating values separated by a comma. The string should look like:
*value1,value2,value3*.\n- Apply a hmac hashing function on the string using
the algorithm ```sha256``` and your partner ```client_secret``` (available
in your [Withings partner dashboard](https://developer.withings.com/dashboard/))
as a secret key.\n- Add the hash string in the parameters under the key ```signature```"
summary: Signature v2 - Getnonce
operationId: signaturev2-getnonce
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getnonce```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: timestamp
in: query
required: true
schema:
type: integer
description: unix timestamp
- name: signature
in: query
required: true
schema:
type: string
description: Cf. description above.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
nonce:
type: string
description: A random timestamp based token to be used once
in requiring signature API services to avoid replay attack
example: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
x-codeSamples:
- lang: PHP
source: " 'getnonce',\n\t'client_id' => 'client_id',\n\t'timestamp'
=> 'timestamp',\n\t'signature' => 'signature'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=getnonce&client_id=client_id×tamp=timestamp&signature=signature"
'https://wbsapi.withings.net/v2/signature'
https://wbsapi.withings.net/v2/sleep:
post:
tags:
- sleep
description: |2-
Returns sleep data captured at high frequency, including sleep stages.
**Notes**
If your input ```startdate``` and ```enddate``` are separated by more than 24h, only the first 24h after ```startdate``` will be returned.
**IMPORTANT**: Please refer to this [page](https://developer.withings.com/developer-guide/v3/data-api/all-available-health-data/#sleep) to check the availability of metrics based on the sleep tracking device used. Some data types are regulated in the EU and US and may not be available in your region.
summary: Sleep v2 - Get
operationId: sleepv2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: startdate
in: query
required: true
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: true
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: data_fields
in: query
required: false
schema:
type: string
description: |-
List of requested data fields, separated by a comma.
Available data fields are listed below.
Ex: data_fields=hr,rr,snoring
hr
> Heart Rate (beats per minute).
rr
> Respiration Rate (breaths per minute).
snoring
> Total snoring time (seconds).
sdnn_1
> Heart rate variability - Standard deviation of the NN over 1 minute (in miliseconds).
rmssd
> Heart rate variability - Root mean square of the successive differences over "a few seconds" (in miliseconds).
hrv_quality
> Heart rate variability - quality score.
mvt_score
> Track the intensity of movement in bed on a minute-by-minute basis. The score ranges from 0 to 255, representing the intensity of movement. This metric is only available for Sleep Analyzer devices in the EU and prescription-based devices in the US (Sleep Rx).
chest_movement_rate
> Chest movement rate (events per minute).
withings_index
> Withings Sleep Rx (FDA Cleared) allows to estimate gaps in breathing sounds and to generate an index. This index corresponds to the number of breathing events per hour.
| Value | Description |
| 0-15 (events per hour on average) | No/Mild |
| 15-30 (events per hour on average) | Moderate |
| > 30 (events per hour on average) | Severe |
Note: 5 hours of sleep are required in order to calculate the Withings Index.
breathing_sounds
> Total time when breathing sounds were tracked. (seconds)
- name: meastypes
in: query
required: false
schema:
type: list of integers
description: 'List of requested measure types (separated by a comma).
Ex:
meastypes=1,4,12'
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
model:
type: integer
description: The source for sleep data. Value can be 16 for
a tracker or 32 for a Sleep Monitor.
example: 32
series:
type: object
properties:
startdate:
type: integer
description: The starting datetime for the sleep state
data.
format: timestamp
example: 1594159200
enddate:
type: integer
description: The end datetime for the sleep data. A single
call can span up to 7 days maximum. To cover a wider
time range, you will need to perform multiple calls.
format: timestamp
example: 1594202400
state:
type: integer
description: |
The state of sleeping. Values can be:
| Value | Description|
|---|---|
|0 | Sleep state awake|
|1 | Sleep state light|
|2 | Sleep state deep|
|3 | Sleep state rem|
|4 | Sleep manual|
|5 | Sleep unspecified|
|15 | Sleep out of bed (require a specific plan, contact-us)|
example: 1
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
example: Aura Sensor V2
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
example: 63
hr:
type: object
description: Heart Rate (beats per minute). *(Use 'data_fields'
to request this data.)*
properties:
$timestamp:
type: integer
description: $timestamp represents the epoch value
of the heart rate data, value of this key will be
the heart rate data
rr:
type: object
description: Respiration Rate (breaths per minute). *(Use
'data_fields' to request this data.)*
properties:
$timestamp:
type: integer
description: $timestamp represents the epoch value
of the respiration rate data, value of this key
will be the respiration rate data
snoring:
type: object
description: Total snoring time (seconds).
properties:
$timestamp:
type: integer
sdnn_1:
type: object
description: Heart rate variability - Standard deviation
of the NN over 1 minute (in miliseconds).
properties:
$timestamp:
type: integer
rmssd:
type: object
description: Heart rate variability - Root mean square
of the successive differences over "a few seconds" (in
miliseconds).
properties:
$timestamp:
type: integer
hrv_quality:
type: object
description: Heart rate variability - quality score.
properties:
$timestamp:
type: integer
mvt_score:
type: object
description: Track the intensity of movement in bed on
a minute-by-minute basis. The score ranges from 0 to
255, representing the intensity of movement. This metric
is only available for Sleep Analyzer devices in the
EU and prescription-based devices in the US (Sleep Rx).
properties:
$timestamp:
type: integer
chest_movement_rate:
type: object
description: Chest movement rate (events per minute).
*(Use 'data_fields' to request this data.)*
properties:
$timestamp:
type: integer
withings_index:
type: object
description: |-
Withings Sleep Rx (FDA Cleared) allows to estimate gaps in breathing sounds and to generate an index. This index corresponds to the number of breathing events per hour.
| Value | Description |
| 0-15 (events per hour on average) | No/Mild |
| 15-30 (events per hour on average) | Moderate |
| > 30 (events per hour on average) | Severe |
Note: 5 hours of sleep are required in order to calculate the Withings Index.
properties:
$timestamp:
type: integer
breathing_sounds:
type: object
description: Total time when breathing sounds were tracked.
(seconds) *(Use 'data_fields' to request this data.)*
properties:
$timestamp:
type: integer
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'startdate' => 'startdate',\n\t'enddate' => 'enddate',\n\t'data_fields'
=> 'data_fields',\n\t'meastypes' => 'meastypes'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=get&startdate=startdate&enddate=enddate&data_fields=data_fields&meastypes=meastypes"
''https://wbsapi.withings.net/v2/sleep'''
'https://wbsapi.withings.net/v2/sleep ':
post:
tags:
- sleep
description: |
Returns sleep activity summaries, which are an aggregation of all the data captured at high frequency during the sleep activity.
Use the [Sleep v2 - Get](#operation/sleepv2-get) service to get the high frequency data used to build these summaries.
**IMPORTANT**: Please refer to this [page](https://developer.withings.com/developer-guide/v3/data-api/all-available-health-data/#sleep) to check the availability of metrics based on the sleep tracking device used. Some data types are regulated in the EU and US and may not be available in your region.
summary: Sleep v2 - Getsummary
operationId: sleepv2-getsummary
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getsummary```.
- name: startdateymd
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]
Start date.
Required if no lastupdate.'
format: Y-m-d
- name: enddateymd
in: query
required: true
schema:
type: string
description: 'DO NOT USE WITH FOLLOWING PARAMS: [lastupdate]
End date.
Required if startdateymd is provided.'
format: Y-m-d
- name: lastupdate
in: query
required: true
schema:
type: integer
description: 'DO NOT USE WITH FOLLOWING PARAMS: [startdateymd, enddateymd]
Timestamp
for requesting data that were updated or created after this date.
Useful
for data synchronization between systems.
Use this instead of startdateymd
+ enddateymd.'
- name: data_fields
in: query
required: false
schema:
type: string
description: "List of requested data fields, separated by a comma.
Available
data fields are listed below.
Ex: data_fields=total_timeinbed,total_sleep_time,asleepduration
Standard
sleep medicine metrics
total_timeinbed
> Total time spent
in bed (seconds).
total_sleep_time
> Total time spent asleep.
Sum of light, deep and rem durations (seconds).
asleepduration
>
Duration of sleep when night comes from external source (seconds).
Light,
Deep and Rem sleep durations are null in this case.
lightsleepduration
>
Duration in state light sleep (seconds).
remsleepduration
> Duration
in state REM sleep (seconds).
deepsleepduration
> Duration in
state deep sleep (seconds).
sleep_efficiency
> Ratio of the total
sleep time over the time spent in bed.
sleep_latency
> Time spent
in bed before falling asleep (seconds).
wakeup_latency
> Time
spent in bed after waking up (seconds).
wakeupduration
> Time
spent awake (seconds).
wakeupcount
> Number of times the user
woke up while in bed. Does not include the number of times the user got
out of bed.
waso
> Time spent awake in bed after falling asleep
for the 1st time during the night (seconds).
nb_rem_episodes
>
Count of the REM sleep phases.
Sleep apnea and breathing
disturbances
breathing_disturbances_intensity
> Intensity
of breathing disturbances.
Available
for all Sleep and Sleep Analyzer devices (wellness metric).
apnea_hypopnea_index
>
Medical grade AHI. Average number of hypopnea and apnea episodes per hour,
that occured during sleep time.
Only available for devices purchased
in Europe and Australia, with the sleep apnea detection feature activated.
withings_index
> Withings Sleep Rx (FDA Cleared) allows to estimate
gaps in breathing sounds and to generate an index. This index corresponds
to the number of breathing events per hour.\n\n\n| Value | Description |
| 0-15
(events per hour on average) | No/Mild |
| 15-30 (events
per hour on average) | Moderate |
| > 30 (events per
hour on average) | Severe |
\n\n\nNote: 5 hours
of sleep are required in order to calculate the Withings Index.
Other
sleep datapoints and vitals
durationtosleep
> Time to
sleep (seconds). (deprecated)
durationtowakeup
> Time to wake
up (seconds). (deprecated)
out_of_bed_count
> Number of times
the user got out of bed during the night.
hr_average
> Average
heart rate. (beats per minute).
hr_min
> Minimal heart rate (beats
per minute).
hr_max
> Maximal heart rate (beats per minute)..
rr_average
> Average respiration rate (breaths per minute).
rr_min
>
Minimal respiration rate (breaths per minute).
rr_max
> Maximal
respiration rate (breaths per minute).
breathing_quality_assessment
>
Intensity of breathing disturbances.
Available
for all Sleep and Sleep Analyzer devices (wellness metric).
snoring
>
Total snoring time (seconds).
snoringepisodecount
> Numbers of
snoring episodes of at least one minute.
sleep_score
> Sleep score
night_events
>
Summary of sleep events that happened during the sleep activity.\n\nIt is
structured as a dictionary, where keys are the type of event, and the value
is an array of timestamps relative to the activity startdate.\n\nTypes of
events can be one of the following : \n\n| Value | Description |
| 1 | got
in bed |
| 2 | fell asleep |
| 3 | woke
up |
| 4 | got out of bed |
| 5 | start
of asleep period that was manually input |
| 6 | start
of awake period that was manually input |
\n\n
mvt_score_avg
>
Track the average movement score in bed throughout the night. The score
ranges from 0 to 255, representing the intensity of movement. This metric
is only available for Sleep Analyzer devices in the EU and prescription-based
devices in the US (Sleep Rx).
mvt_active_duration
> Track the
duration (in seconds) of movement in bed. Only available for Sleep Analyzer
devices (EU) and devices under prescriptions in the US (Sleep Rx)
rmssd_start_avg
>
Heart rate variability - Start average
rmssd_end_avg
> Heart rate
variability - End average
chest_movement_rate_wellness_average
>
Average respiration rate (breaths per minute).
chest_movement_rate_wellness_min
>
Minimal respiration rate (breaths per minute).
chest_movement_rate_wellness_max
>
Maximal respiration rate (breaths per minute).
breathing_sounds
>
Total time when breathing sounds were tracked. (seconds)
breathing_sounds_episode_count
>
Numbers of breathing sounds episodes of at least one minute.
chest_movement_rate_average
>
Average chest movement rate (events per minute).
chest_movement_rate_min
>
Minimal chest movement rate (events per minute).
chest_movement_rate_max
>
Maximal chest movement rate (events per minute).
core_body_temperature_min
>
Minimal core body temperature (in celsius degrees).
core_body_temperature_max
>
Maximal core body temperature (in celsius degrees).
core_body_temperature_avg
>
Avenage core body temperature (in celsius degrees).
core_body_temperature_status
>
Status of the temperature. *(Use 'data_fields' to request this data)* Value
can be: 'unknown', 'usual' or 'elevated'.\n
"
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
series:
type: array
items:
$ref: '#/components/schemas/sleep_summary_object'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'getsummary',\n\t'startdateymd'
=> '2020-07-01',\n\t'enddateymd' => '2020-07-02'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getsummary&startdateymd=2020-07-01&enddateymd=2020-07-02"
''https://wbsapi.withings.net/v2/sleep '''
https://wbsapi.withings.net/v2/stetho:
post:
tags:
- stetho
description: ""
summary: Stetho v2 - Get
operationId: stethov2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: signalid
in: query
required: true
schema:
type: id32m64
description: ID of a signal
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
signal:
type: array
description: A-law G 711 encoded signal (See [here](/developer-guide/v3/get-signal/decode-stetho-to-pcm)
to understand how to decode it in PCM)
example: '[1,2,3,4,5,6,7,8,9]'
items:
type: integer
frequency:
type: integer
description: Frequency of the stetho signal, usually 4kHz
example: 1
duration:
type: integer
description: Duration of the signal
example: 1
format:
type: integer
example: 1
size:
type: integer
example: 1
resolution:
type: integer
example: 1
channel:
type: integer
example: 1
model:
type: integer
description: Device model returning this signal (71 for Beamo,
44 for BPM Core)
example: 1
position:
type: integer
description: |
Where the measurement was taken
| Value | Description|
|---|---|
|0 | Right Wrist|
|1 | Left Wrist|
|2 | Right Arm|
|3 | Left Arm|
|4 | Right Foot|
|5 | Left Foot|
|6 | Between Legs|
|8 | Left part of the body|
|9 | Right part of the body|
|10 | Left leg|
|11 | Right leg|
|12 | Torso|
|13 | Left hand|
|14 | Right hand|
|15 | Cardiovascular aortic area|
|16 | Cardiovascular pulmonic area|
|17 | Cardiovascular tricuspid area|
|18 | Cardiovascular mitral area|
|19 | Cardiovascular apex area|
|20 | Pulmonary front upper right area|
|21 | Pulmonary front upper left area|
|22 | Pulmonary front bottom right area|
|23 | Pulmonary front bottom left area|
|24 | Pulmonary back upper left area|
|25 | Pulmonary back upper right area|
|26 | Pulmonary back bottom left area|
|27 | Pulmonary back bottom right area|
|28 | Wide mode area|
|29 | Between arms|
|30 | Hold Right|
|31 | Hold Left|
example: 15
vhd:
type: integer
example: 1
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'signalid' => 'signalid'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=get&signalid=signalid"
''https://wbsapi.withings.net/v2/stetho'''
'https://wbsapi.withings.net/v2/stetho ':
post:
tags:
- stetho
description: ""
summary: Stetho v2 - List
operationId: stethov2-list
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```list```.
- name: startdate
in: query
required: false
schema:
type: integer
description: Data start date as a unix timestamp.
format: timestamp
- name: enddate
in: query
required: false
schema:
type: integer
description: Data end date as a unix timestamp.
format: timestamp
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
series:
type: array
items:
$ref: '#/components/schemas/stetho_measurement_object'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'list',\n\t'startdate'
=> 'startdate',\n\t'enddate' => 'enddate',\n\t'offset' => 'offset'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=list&startdate=startdate&enddate=enddate&offset=offset"
''https://wbsapi.withings.net/v2/stetho '''
'https://wbsapi.withings.net/v2/survey ':
post:
tags:
- survey
description: ""
summary: Survey v2 - Activate
operationId: surveyv2-activate
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```activate```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: surveyid
in: query
required: true
schema:
type: string
description: ID of a survey
- name: userids
in: query
required: true
schema:
type: array of integers
description: Array of user ids
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'activate',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'surveyid'
=> 'string',\n\t'userids' => 'array of integers'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=activate&signature=signature&client_id=client_id&nonce=string&surveyid=string&userids=array
of integers" 'https://wbsapi.withings.net/v2/survey '
'https://wbsapi.withings.net/v2/survey ':
post:
tags:
- survey
description: ""
summary: Survey v2 - Deactivate
operationId: surveyv2-deactivate
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```deactivate```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: surveyid
in: query
required: true
schema:
type: string
description: ID of a survey
- name: userids
in: query
required: true
schema:
type: array of integers
description: Array of user ids
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'deactivate',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'surveyid'
=> 'string',\n\t'userids' => 'array of integers'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=deactivate&signature=signature&client_id=client_id&nonce=string&surveyid=string&userids=array
of integers" 'https://wbsapi.withings.net/v2/survey '
https://wbsapi.withings.net/v2/survey:
post:
tags:
- survey
description: ""
summary: Survey v2 - Get
operationId: surveyv2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: surveyid
in: query
required: true
schema:
type: string
description: ID of a survey
- name: lang
in: query
required: false
schema:
type: string
description: 'Lang in which data are translated (default: en)'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
survey:
type: object
properties:
id:
type: integer
example: 3
name:
type: string
example: Name
description:
type: string
example: Description
trigger_type:
type: integer
example: 3
trigger_conditions:
type: array
answer_type:
type: integer
example: 3
category:
type: integer
example: 3
data:
type: array
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'signature' => 'signature',\n\t'client_id' =>
'client_id',\n\t'nonce' => 'string',\n\t'surveyid' => 'string',\n\t'lang'
=> 'string'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=get&signature=signature&client_id=client_id&nonce=string&surveyid=string&lang=string"
'https://wbsapi.withings.net/v2/survey'
'https://wbsapi.withings.net/v2/survey ':
post:
tags:
- survey
description: ""
summary: Survey v2 - List
operationId: surveyv2-list
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```list```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: offset
in: query
required: false
schema:
type: integer
description: When a first call returns ```more:true``` and ```offset:XX```,
set value ```XX``` in this parameter to retrieve next available rows.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
surveys:
type: array
items:
$ref: '#/components/schemas/survey_list'
more:
type: boolean
description: To know if there is more data to fetch or not.
offset:
type: integer
description: Offset to use to retrieve the next data.
x-codeSamples:
- lang: PHP
source: " 'list',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'offset'
=> 'offset'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=list&signature=signature&client_id=client_id&nonce=string&offset=offset"
'https://wbsapi.withings.net/v2/survey '
'https://wbsapi.withings.net/v2/survey ':
post:
tags:
- survey
description: ""
summary: Survey v2 - Listusers
operationId: surveyv2-listusers
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```listusers```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: surveyid
in: query
required: true
schema:
type: string
description: ID of a survey
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
users:
type: array
items:
$ref: '#/components/schemas/survey_list_users'
x-codeSamples:
- lang: PHP
source: " 'listusers',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'surveyid'
=> 'string'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=listusers&signature=signature&client_id=client_id&nonce=string&surveyid=string"
'https://wbsapi.withings.net/v2/survey '
'https://wbsapi.withings.net/v2/user ':
post:
tags:
- user
description: |-
Creates a Withings user, links the devices related to the provided ```mac_addresses``` and activates the cellular devices service and invoicing.
Please refer to the [Access and refresh tokens section](/developer-guide/v3/integration-guide/bulkship-cellular/get-access/access-and-refresh-tokens) to learn how to use the authorization code you'll get in return of this service in order to fetch user data. The authorization code is only valid for *10 minutes*.
**Important**:
- Please note that to activate the Withings HUB cellular service, the ```mac_address``` of the Withings HUB needs to be passed included in the input mac_addresses along with the other Withings devices.
- Please note that the devices need to be authorized to be linked by API by the Partner. Please [contact Withings](mailto:partner-api@withings.com) for more information on device authorization.
*This service is part of Withings Pro Solutions. You won't be able to use it if you did not sign a contract with Withings.*
*Use this service only if you're integrating Withings Cellular Solutions with bulkshipment.*
summary: User v2 - Activate
operationId: userv2-activate
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```activate```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: mailingpref
in: query
required: true
schema:
type: boolean
description: Specifies if customer accepted Withings commercial contacts.
- name: birthdate
in: query
required: true
schema:
type: integer
description: Unix timestamp of user's birthdate
- name: measures
in: query
required: true
schema:
type: json_string
description: User measures (Cf. [Measures](#tag/models/Measures) model).
- name: gender
in: query
required: true
schema:
type: integer
description: '0: man, 1: woman'
- name: preflang
in: query
required: true
schema:
type: string
description: 'User language preference. Examples: en_EN / en_US / de_DE /
es_ES / fr_FR / it_IT / ja_JA / ko_KR / nl_NL / pt_PT / ru_RU / zh_CN'
- name: unit_pref
in: query
required: true
schema:
type: json
description: Unit pref (cf. [Unit preferences](#tag/models/Unit-preferences)
model).
- name: email
in: query
required: true
schema:
type: email
description: User's email address
- name: timezone
in: query
required: true
schema:
type: timezone
description: 'User''s timezone. Examples: "Europe/Paris" / "America/New_York".
A complete list of all possible timezones can be found on the "TZ database
name" column of this page : https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
- name: shortname
in: query
required: true
schema:
type: string
description: '3 characters representing the end user (ex: for a user named
Robert, you could set the shortname param to ROB). These characters will
be displayed on device screens when used.
Shortname must respect the
following regex: /^[a-zA-Z0-9]{3}$/ (either letters or numbers, special
characters and spaces are not allowed).'
- name: external_id
in: query
required: true
schema:
type: string
description: Unique identifier used by the partner to identify the end-user.
- name: mac_addresses
in: query
required: true
schema:
type: macaddress
description: 'List of Withings device MAC addresses that will be linked to
the created user. Example: ["00:24:e4:xx:xx:xx","00:24:e4:xx:xx:xx"]'
- name: firstname
in: query
required: false
schema:
type: string
description: User's firstname (if not set, will take the same value as shortname)
- name: lastname
in: query
required: false
schema:
type: string
description: User's lastname (if not set, will take the same value as shortname)
- name: phonenumber
in: query
required: false
schema:
type: string
description: Phone number in E.164 format. End user will receive a verification
code on this phone number for 2 factor authentication if they wish to securely
access the data of their program in the withings app in the future (recommended)
- name: recovery_code
in: query
required: false
schema:
type: string
description: Recovery code can be used by end user as a 2nd authentication
factor in the withings app if they wish to securely access the data of their
program in the future. You will be responsible of securely providing this
recovery code to your user if he asks for it.
- name: goals
in: query
required: false
schema:
type: json
description: Goals (cf. [Goals](#tag/models/Goals) model).
- name: redirect_uri
in: query
required: false
schema:
type: partner_redirect_uri
description: |2-
The URI we should redirect the user to after choosing to authorize or not your app. This URI must be set as ```Callback Url``` in your partner application. It is possible to use multiple URLs by separating them with a comma.
Examples:
- Callbacks: https://mydomain.com/
- Callback: https://mydomain.com/,https://mydomain2.com/
- Valid URL: https://mydomain.com/relative_path?args=value
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
user:
type: object
properties:
code:
type: string
description: Authorization Code that must be used to retrieve
access_token and refresh_token. (Read the "Get access
to your user's data" section of your [integration guide](/developer-guide/v3/withings-solutions/integration-guides)
to learn more about how to get this parameter.)
example: 490ed603fe9bd2ce10027bdba0c932069cd27085
external_id:
type: string
description: Unique identifier used by partner to identify
the end-user.
example: 3b7a6db0-ec7e-479b-9675-2a3d8d6a7e51
devices:
type: array
items:
$ref: '#/components/schemas/user_device_mac_object'
x-codeSamples:
- lang: PHP
source: " 'activate',\n\t'client_id'
=> 'client_id',\n\t'nonce' => 'string',\n\t'signature' => 'signature',\n\t'mailingpref'
=> 'mailingpref',\n\t'birthdate' => 1563746400,\n\t'measures' => 'measures',\n\t'gender'
=> 'int',\n\t'preflang' => 'en_EN',\n\t'unit_pref' => 'unit_pref',\n\t'email'
=> 'email',\n\t'timezone' => 'Europe/Paris',\n\t'shortname' => 'shortname',\n\t'external_id'
=> 'external_id',\n\t'mac_addresses' => '[\"00:24:e4:xx:xx:xx\",\"00:24:e4:xx:xx:xx\"]',\n\t'firstname'
=> 'firstname',\n\t'lastname' => 'lastname',\n\t'phonenumber' => 'string',\n\t'recovery_code'
=> 'string',\n\t'goals' => 'json',\n\t'redirect_uri' => 'redirect_uri'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=activate&client_id=client_id&nonce=string&signature=signature&mailingpref=mailingpref&birthdate=1563746400&measures=measures&gender=int&preflang=en_EN&unit_pref=unit_pref&email=email&timezone=Europe/Paris&shortname=shortname&external_id=external_id&mac_addresses=["00:24:e4:xx:xx:xx","00:24:e4:xx:xx:xx"]&firstname=firstname&lastname=lastname&phonenumber=string&recovery_code=string&goals=json&redirect_uri=redirect_uri"
'https://wbsapi.withings.net/v2/user '
'https://wbsapi.withings.net/v2/user ':
post:
tags:
- user
description: 'This API allows you to add an existing user to the Withings Remote
Patient Monitoring platform as a patient. Note: A Withings Remote Patient
Monitoring contract is required to use this API.'
summary: User v2 - Addtorpm
operationId: userv2-addtorpm
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```addtorpm```.
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: userid
in: query
required: true
schema:
type: rawint32
description: User's identifier.
- name: programid
in: query
required: true
schema:
type: integer
description: The Care team you would like your patient to be created in. You
can find the programid in the URL of your withings dashboard when connected
to a specific care team /team/{programid}
- name: sms_onboarding
in: query
required: false
schema:
type: boolean
description: A sequence of SMS text message will be sent to the patient to
help them follow shipment and give instructions on the device setup
- name: assistance_onboarding
in: query
required: false
schema:
type: boolean
description: Withings team will automatically contact patients with issues
during their setup after a few days to help them finalize the installation.
- name: icdcodeids
in: query
required: false
schema:
type: array of integer
description: 'Should be a json encoded array. Each item should correspond
to an id create for your program. Exemple: [66, 307, 4]'
- name: external_ids
in: query
required: false
schema:
type: array of object
description: 'IDs from your software or EHR (MRN or other external id useful
to uniquely identify your patient in the Withings RPM platform). Exemple:
[{"type": "MRN", "identifier": "BB8C3P0R2D2"}]'
- name: category
in: query
required: false
schema:
type: integer
description: 'The section in which your patient will appear in the Withings
RPM platform. Accepted value are: 0 (patient is in the program and doesn''t
have alert) or -6 (patient need manual validation)'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
user:
type: object
properties:
preflang:
type: string
description: 'User''s language preference. Examples: en_EN
/ en_US / de_DE / es_ES / fr_FR / it_IT / ja_JA / ko_KR
/ nl_NL / pt_PT / ru_RU / zh_CN'
example: fr_FR
height:
type: object
properties:
value_measure:
type: integer
example: 180
unit_measure:
type: integer
example: -2
type_measure:
type: integer
example: 4
sms_reminder:
type: boolean
example: true
sms_onboarding:
type: boolean
example: true
assistance_onboarding:
type: boolean
example: true
category:
type: integer
example: -6
device_types:
type: array
example: '[1231,5675]'
items:
type: integer
device_models:
type: array
example: '[765,15]'
items:
type: integer
external_ids:
type: array
items:
$ref: '#/components/schemas/user_add_to_rpm_external_ids'
sms_notification:
type: boolean
example: true
icd_codes:
type: array
example: '[66,455]'
items:
type: integer
userid:
type: integer
description: The id of the user.
example: 363
program:
type: object
properties:
id:
type: integer
example: 50
cohortid:
type: integer
example: 18035
name:
type: string
example: Glucose Care Team
timezone:
type: string
description: Timezone for the date.
example: Europe/Paris
x-codeSamples:
- lang: PHP
source: " 'addtorpm',\n\t'signature'
=> 'signature',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'userid'
=> 'rawint32',\n\t'programid' => 'int',\n\t'sms_onboarding' => 'boolean',\n\t'assistance_onboarding'
=> 'boolean',\n\t'icdcodeids' => 'array of integer',\n\t'external_ids' =>
'array of object',\n\t'category' => 'category'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=addtorpm&signature=signature&client_id=client_id&nonce=string&userid=rawint32&programid=int&sms_onboarding=boolean&assistance_onboarding=boolean&icdcodeids=array
of integer&external_ids=array of object&category=category" 'https://wbsapi.withings.net/v2/user '
https://wbsapi.withings.net/v2/user:
post:
tags:
- user
description: |-
Returns user information.
**For data privacy reasons, this webservice is only available for integration solutions for which the provider is responsible for the account creation (ie Withings Cellular Solutions and Withings Mobile SDK integrations).**
**This webservice will return an error the above condition is not met.**
summary: User v2 - Get
operationId: userv2-get
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```get```.
- name: client_id
in: query
required: true
schema:
type: string
description: Id of the client
- name: nonce
in: query
required: true
schema:
type: string
description: A random token used to prevent replay attacks (Cf. [Signature
v2 - Getnonce](#operation/signaturev2-getnonce))
- name: signature
in: query
required: true
schema:
type: string
description: Hash of params (Cf. [Signature hash protocol](/developer-guide/v3/get-access/sign-your-requests)).
- name: email
in: query
required: false
schema:
type: email
description: User's email address
- name: userid
in: query
required: false
schema:
type: rawint32
description: User's identifier.
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
user:
type: object
properties:
email:
type: string
description: User's email address
example: john.doe@my.email
firstname:
type: string
description: User's firstname
example: John
lastname:
type: string
description: User's lastname
example: Doe
shortname:
type: string
description: User's shortname
example: JDO
gender:
type: integer
description: 'User''s gender (0: man, 1: woman)'
birthdate:
type: integer
description: Unix timestamp of user's birthdate
example: 1577829600
preflang:
type: string
description: 'User''s language preference. Examples: en_EN
/ en_US / de_DE / es_ES / fr_FR / it_IT / ja_JA / ko_KR
/ nl_NL / pt_PT / ru_RU / zh_CN'
example: fr_FR
timezone:
type: string
description: 'User''s timezone. Examples: "Europe/Paris"
/ "America/New_York". A complete list of all possible
timezones can be found on the "TZ database name" column
of this page : https://en.wikipedia.org/wiki/List_of_tz_database_time_zones'
example: Europe/Paris
mailingpref:
type: boolean
description: 'User consent to receiving sales and marketing
communication from Withings (0: user does not consent,
1: user does consent)'
example: true
unit_pref:
type: object
description: User's unit preferences (cf. [Unit preferences](#tag/models/Unit-preferences)
model).
properties:
weight:
type: integer
example: 1
height:
type: integer
example: 6
temperature:
type: integer
example: 11
distance:
type: integer
example: 6
phonenumber:
type: string
description: User's phone number. *(Only if set)*
example: "+33612345678"
x-codeSamples:
- lang: PHP
source: " 'get',\n\t'client_id' => 'client_id',\n\t'nonce' => 'string',\n\t'signature'
=> 'signature',\n\t'email' => 'email',\n\t'userid' => 'rawint32'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: curl --data "action=get&client_id=client_id&nonce=string&signature=signature&email=email&userid=rawint32"
'https://wbsapi.withings.net/v2/user'
'https://wbsapi.withings.net/v2/user ':
post:
tags:
- user
description: Returns the list of user linked devices.
summary: User v2 - Getdevice
operationId: userv2-getdevice
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getdevice```.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
devices:
type: array
items:
$ref: '#/components/schemas/user_device_object'
x-codeSamples:
- lang: PHP
source: " 'getdevice'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getdevice"
''https://wbsapi.withings.net/v2/user '''
'https://wbsapi.withings.net/v2/user ':
post:
tags:
- user
description: Returns the goals of a user.
summary: User v2 - Getgoals
operationId: userv2-getgoals
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```getgoals```.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
goals:
type: object
properties:
steps:
type: integer
description: Number of steps per day.
example: 10000
sleep:
type: integer
description: Sleep duration (seconds).
example: 28800
weight:
type: object
description: Weight.
properties:
value:
type: integer
description: |-
Value for the measure in S.I. units (kilograms, meters etc...). Value should be multiplied by 10 to the power of ```units``` to get the real value.
For ```meastype``` **130** (Atrial fibrillation result), the value is a classification integer and does not represent a physical measurement:
| Value | Description |
|---|---|
|0 | Negative |
|1 | Positive |
|2 | Inconclusive |
|3 | No signal |
|4 | Other |
|5 | Noise |
|6 | Low Heart Rate |
|7 | High Heart Rate |
|8 | Inconclusive US |
|9 | Negative normal HR |
|10 | Negative high HR |
|11 | Positive normal HR |
|12 | Positive high HR |
|13 | No Diagnosis |
example: 70500
unit:
type: integer
description: 'Power of ten to multiply the ```value```
field to get the real value.
Formula: ```value
* 10^unit = real value```.
Eg: ```value = 20
and unit = -1 => real value = 2```.'
example: -3
x-codeSamples:
- lang: PHP
source: " 'getgoals'\n]));\n\n$rsp
= curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=getgoals"
''https://wbsapi.withings.net/v2/user '''
'https://wbsapi.withings.net/v2/user ':
post:
tags:
- user
description: |-
Links the devices related to the provided ```mac_addresses``` and the user related to the provided ```access_token```. If a cellular device is listed in the ```mac_address``` field, it will activate this device's cellular service and invoicing.
**Important**:
- Please note that the devices need to be authorized to be linked by API by the Partner. Please [contact Withings](mailto:partner-api@withings.com) for more information on device authorization.
summary: User v2 - Link
operationId: userv2-link
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```link```.
- name: mac_addresses
in: query
required: true
schema:
type: macaddress
description: 'List of Withings device MAC addresses that will be linked to
the created user. Example: ["00:24:e4:xx:xx:xx","00:24:e4:xx:xx:xx"]'
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties:
devices:
type: array
items:
$ref: '#/components/schemas/user_device_mac_object'
x-codeSamples:
- lang: PHP
source: " 'link',\n\t'mac_addresses'
=> '[\"00:24:e4:xx:xx:xx\",\"00:24:e4:xx:xx:xx\"]'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=link&mac_addresses=["00:24:e4:xx:xx:xx","00:24:e4:xx:xx:xx"]"
''https://wbsapi.withings.net/v2/user '''
'https://wbsapi.withings.net/v2/user ':
post:
tags:
- user
description: Unlinks the device related to the provided ```mac_address``` and
the user related to the provided ```access_token```.
summary: User v2 - Unlink
operationId: userv2-unlink
parameters:
- name: action
in: query
required: true
schema:
type: string
description: Service action name. Must take the string value ```unlink```.
- name: mac_address
in: query
required: true
schema:
type: macaddress
description: The mac address of the target device.
- name: Authorization
in: header
required: true
schema:
type: string
description: 'Used to pass your access token. Must take value: ```Bearer {your
access_token}``` Replace {your access_token} with the access_token'
responses:
200:
description: ' (Click to unfold)'
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status. See Status
section for details.
body:
type: object
description: Response data.
properties: []
x-codeSamples:
- lang: PHP
source: " 'unlink',\n\t'mac_address'
=> 'macaddress'\n]));\n\n$rsp = curl_exec($ch);\ncurl_close($ch);\n\nvar_dump($rsp);\n\n?>"
- lang: CURL
source: 'curl --header "Authorization: Bearer YOUR_ACCESS_TOKEN" --data "action=unlink&mac_address=macaddress"
''https://wbsapi.withings.net/v2/user '''
components:
schemas:
activity_object:
type: object
properties:
date:
type: string
description: Date of the aggregated data.
example: "2020-06-24"
timezone:
type: string
description: Timezone for the date.
example: Europe/Paris
deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
hash_deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
brand:
type: integer
description: Specifies if data comes from Withings (device or mobile application
tracker) or an external way (Value is 1 for Withings and 18 for external)
example: 18
is_tracker:
type: boolean
description: Is true if data was tracked by a Withings tracker (such as
Pulse, Go and Watches) otherwise data was tracked by a mobile application
or an external way
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1594257200
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Withings WBS01 | Scale|
|WS30 | Scale|
|Kid Scale | Scale|
|Smart Body Analyzer | Scale|
|Body+ | Scale|
|Body Cardio | Scale|
|Body | Scale|
|Body Scan | Scale|
|Body Pro | Scale|
|WBS10 | Scale|
|WBS11 | Scale|
|Body Comp | Scale|
|Smart Baby Monitor | Babyphone|
|Withings Home | Babyphone|
|Withings Blood Pressure Monitor V1 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V2 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V3 | Blood Pressure Monitor|
|BPM Core | Blood Pressure Monitor|
|BPM Connect | Blood Pressure Monitor|
|BPM Connect Pro | Blood Pressure Monitor|
|BPM Pro 2 | Blood Pressure Monitor|
|BPM Vision | Blood Pressure Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Thermo | Smart Connected Thermometer|
|BeamO | Smart Connected Thermometer|
|WUP01 | Gateway|
|Iglucose glucometer | iGlucose|
|iOS step tracker | HealthKit Apple|
|HealthKit step iPhone tracker | HealthKit Apple|
|HealthKit step Apple Watch tracker | HealthKit Apple|
|HealthKit other step tracker | HealthKit Apple|
|Android step tracker | HealthKit Google|
|GoogleFit tracker | HealthKit Google|
|Samsung Health tracker | HealthKit Google|
|Google Health Connect | HealthKit Google|
|Huawei tracker | HealthKit Huawei|
|Lingo Sensor | Lingo|
example: Pulse HR
modelid:
type: integer
description: |2
| Value | Description|
|---|---|
|1 | Withings WBS01|
|2 | WS30|
|3 | Kid Scale|
|4 | Smart Body Analyzer|
|5 | Body+|
|6 | Body Cardio|
|7 | Body|
|10 | Body Scan|
|9 | Body Pro|
|11 | WBS10|
|12 | WBS11|
|18 | Body Comp|
|21 | Smart Baby Monitor|
|22 | Withings Home|
|41 | Withings Blood Pressure Monitor V1|
|42 | Withings Blood Pressure Monitor V2|
|43 | Withings Blood Pressure Monitor V3|
|44 | BPM Core|
|45 | BPM Connect|
|46 | BPM Connect Pro|
|47 | BPM Pro 2|
|48 | BPM Vision|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|70 | Thermo|
|71 | BeamO|
|100 | WUP01|
|1061 | Iglucose glucometer|
|1051 | iOS step tracker|
|1052 | iOS step tracker|
|1057 | HealthKit step iPhone tracker|
|1058 | HealthKit step Apple Watch tracker|
|1059 | HealthKit other step tracker|
|1053 | Android step tracker|
|1054 | Android step tracker|
|1055 | GoogleFit tracker|
|1056 | Samsung Health tracker|
|1060 | Google Health Connect|
|1062 | Huawei tracker|
|1063 | Lingo Sensor|
example: 59
steps:
type: integer
description: Number of steps. *(Use 'data_fields' to request this data.)*
example: 6200
distance:
type: number
description: Distance travelled (in meters). *(Use 'data_fields' to request
this data.)*
example: 3000
elevation:
type: number
description: Number of floors climbed. *(Use 'data_fields' to request this
data.)*
example: 100
soft:
type: integer
description: Duration of soft activities (in seconds). *(Use 'data_fields'
to request this data.)*
example: 800
moderate:
type: integer
description: Duration of moderate activities (in seconds). *(Use 'data_fields'
to request this data.)*
example: 1000
intense:
type: integer
description: Duration of intense activities (in seconds). *(Use 'data_fields'
to request this data.)*
example: 700
active:
type: integer
description: Sum of intense and moderate activity durations (in seconds).
*(Use 'data_fields' to request this data.)*
example: 2300
calories:
type: number
description: Active calories burned (in Kcal). Calculated by mixing fine
granularity calories estimation, workouts estimated calories and calories
manually set by the user. *(Use 'data_fields' to request this data.)*
example: 1200
totalcalories:
type: number
description: Total calories burned (in Kcal). Obtained by adding active
calories (see ```calories```) and passive calories.
example: 3500
hr_average:
type: integer
description: Average heart rate. (beats per minute).*(Use 'data_fields'
to request this data.)*
example: 80
hr_min:
type: integer
description: Minimal heart rate (beats per minute). *(Use 'data_fields'
to request this data.)*
example: 70
hr_max:
type: integer
description: Maximal heart rate (beats per minute).. *(Use 'data_fields'
to request this data.)*
example: 80
hr_zone_0:
type: integer
description: Duration in seconds when heart rate was in a light zone (cf.
Glossary). *(Use 'data_fields'
to request this data.)*
example: 100
hr_zone_1:
type: integer
description: Duration in seconds when heart rate was in a moderate zone
(cf. Glossary). *(Use 'data_fields'
to request this data.)*
example: 200
hr_zone_2:
type: integer
description: Duration in seconds when heart rate was in an intense zone
(cf. Glossary). *(Use 'data_fields'
to request this data.)*
example: 300
hr_zone_3:
type: integer
description: Duration in seconds when heart rate was in maximal zone (cf.
Glossary). *(Use 'data_fields'
to request this data.)*
example: 400
measuregrp_object:
type: object
properties:
grpid:
type: integer
description: Unique identifier of the measure group.
format: int64
example: 12
attrib:
type: integer
description: |
The way the measure was attributed to the user:
| Value | Description|
|---|---|
|0 | The measuregroup has been captured by a device and is known to belong to this user (and is not ambiguous)|
|1 | The measuregroup has been captured by a device but may belong to other users as well as this one (it is ambiguous)|
|2 | The measuregroup has been entered manually for this particular user|
|4 | The measuregroup has been entered manually during user creation (and may not be accurate)|
|5 | Measure auto, it's only for the Blood Pressure Monitor. This device can make many measures and computed the best value|
|7 | Measure confirmed. You can get this value if the user confirmed a detected activity|
|8 | Same as attrib 0|
|15 | The measure has been performed in specific guided conditions. Apply to Nerve Health Score|
example: 1
date:
type: integer
description: UNIX timestamp when measures were taken.
format: timestamp
example: 1594245600
created:
type: integer
description: UNIX timestamp when measures were stored.
format: timestamp
example: 1594246600
modified:
type: integer
description: UNIX timestamp when measures were last updated.
format: timestamp
example: 1594257200
category:
type: integer
description: Category for the measures in the group (see category input
parameter).
example: 1594257200
deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
hash_deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
measures:
type: array
description: List of measures in the group.
items:
$ref: '#/components/schemas/measure_object'
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Withings WBS01 | Scale|
|WS30 | Scale|
|Kid Scale | Scale|
|Smart Body Analyzer | Scale|
|Body+ | Scale|
|Body Cardio | Scale|
|Body | Scale|
|Body Scan | Scale|
|Body Pro | Scale|
|WBS10 | Scale|
|WBS11 | Scale|
|Body Comp | Scale|
|Smart Baby Monitor | Babyphone|
|Withings Home | Babyphone|
|Withings Blood Pressure Monitor V1 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V2 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V3 | Blood Pressure Monitor|
|BPM Core | Blood Pressure Monitor|
|BPM Connect | Blood Pressure Monitor|
|BPM Connect Pro | Blood Pressure Monitor|
|BPM Pro 2 | Blood Pressure Monitor|
|BPM Vision | Blood Pressure Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Thermo | Smart Connected Thermometer|
|BeamO | Smart Connected Thermometer|
|WUP01 | Gateway|
|Iglucose glucometer | iGlucose|
|iOS step tracker | HealthKit Apple|
|HealthKit step iPhone tracker | HealthKit Apple|
|HealthKit step Apple Watch tracker | HealthKit Apple|
|HealthKit other step tracker | HealthKit Apple|
|Android step tracker | HealthKit Google|
|GoogleFit tracker | HealthKit Google|
|Samsung Health tracker | HealthKit Google|
|Google Health Connect | HealthKit Google|
|Huawei tracker | HealthKit Huawei|
|Lingo Sensor | Lingo|
example: Body Cardio
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|1 | Withings WBS01|
|2 | WS30|
|3 | Kid Scale|
|4 | Smart Body Analyzer|
|5 | Body+|
|6 | Body Cardio|
|7 | Body|
|10 | Body Scan|
|9 | Body Pro|
|11 | WBS10|
|12 | WBS11|
|18 | Body Comp|
|21 | Smart Baby Monitor|
|22 | Withings Home|
|41 | Withings Blood Pressure Monitor V1|
|42 | Withings Blood Pressure Monitor V2|
|43 | Withings Blood Pressure Monitor V3|
|44 | BPM Core|
|45 | BPM Connect|
|46 | BPM Connect Pro|
|47 | BPM Pro 2|
|48 | BPM Vision|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|70 | Thermo|
|71 | BeamO|
|100 | WUP01|
|1061 | Iglucose glucometer|
|1051 | iOS step tracker|
|1052 | iOS step tracker|
|1057 | HealthKit step iPhone tracker|
|1058 | HealthKit step Apple Watch tracker|
|1059 | HealthKit other step tracker|
|1053 | Android step tracker|
|1054 | Android step tracker|
|1055 | GoogleFit tracker|
|1056 | Samsung Health tracker|
|1060 | Google Health Connect|
|1062 | Huawei tracker|
|1063 | Lingo Sensor|
example: 6
comment:
type: string
description: Deprecated. This property will always be empty.
example: A measurement comment
measure_object:
type: object
properties:
value:
type: integer
description: |-
Value for the measure in S.I. units (kilograms, meters etc...). Value should be multiplied by 10 to the power of ```units``` to get the real value.
For ```meastype``` **130** (Atrial fibrillation result), the value is a classification integer and does not represent a physical measurement:
| Value | Description |
|---|---|
|0 | Negative |
|1 | Positive |
|2 | Inconclusive |
|3 | No signal |
|4 | Other |
|5 | Noise |
|6 | Low Heart Rate |
|7 | High Heart Rate |
|8 | Inconclusive US |
|9 | Negative normal HR |
|10 | Negative high HR |
|11 | Positive normal HR |
|12 | Positive high HR |
|13 | No Diagnosis |
example: 65750
type:
type: integer
description: Type of the measure. See ```meastype``` input parameter.
example: 1
unit:
type: integer
description: 'Power of ten to multiply the ```value``` field to get the
real value.
Formula: ```value * 10^unit = real value```.
Eg: ```value
= 20 and unit = -1 => real value = 2```.'
example: -3
algo:
type: integer
description: Deprecated.
example: 3425
fm:
type: integer
description: Deprecated.
position:
type: integer
description: |
The device's position during the measure.
| Value | Description|
|---|---|
|0 | Right Wrist|
|1 | Left Wrist|
|2 | Right Arm|
|3 | Left Arm|
|4 | Right Foot|
|5 | Left Foot|
|6 | Between Legs|
|8 | Left part of the body|
|9 | Right part of the body|
|10 | Left leg|
|11 | Right leg|
|12 | Torso|
|13 | Left hand|
|14 | Right hand|
|15 | Cardiovascular aortic area|
|16 | Cardiovascular pulmonic area|
|17 | Cardiovascular tricuspid area|
|18 | Cardiovascular mitral area|
|19 | Cardiovascular apex area|
|20 | Pulmonary front upper right area|
|21 | Pulmonary front upper left area|
|22 | Pulmonary front bottom right area|
|23 | Pulmonary front bottom left area|
|24 | Pulmonary back upper left area|
|25 | Pulmonary back upper right area|
|26 | Pulmonary back bottom left area|
|27 | Pulmonary back bottom right area|
|28 | Wide mode area|
|29 | Between arms|
|30 | Hold Right|
|31 | Hold Left|
example: 1
sleep_summary_object:
type: object
properties:
id:
type: integer
example: 12345
timezone:
type: string
description: Timezone for the date.
example: Europe/Paris
model:
type: integer
description: The source for sleep data. Value can be 16 for a tracker or
32 for a Sleep Monitor.
example: 16
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
example: 51
startdate:
type: integer
description: The starting datetime for the sleep state data.
format: timestamp
example: 1594245600
enddate:
type: integer
description: The end datetime for the sleep data. A single call can span
up to 7 days maximum. To cover a wider time range, you will need to perform
multiple calls.
format: timestamp
example: 1594257200
date:
type: string
description: Date at which the measure was taken or entered.
example: "2020-07-09"
created:
type: integer
format: timestamp
example: 1594257200
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1594257200
hash_deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
completed:
type: boolean
example: true
data:
type: object
description: Details of sleep.
properties:
total_timeinbed:
type: integer
description: Total time spent in bed (seconds). *(Use 'data_fields'
to request this data.)*
total_sleep_time:
type: integer
description: Total time spent asleep. Sum of light, deep and rem durations
(seconds). *(Use 'data_fields' to request this data.)*
asleepduration:
type: integer
description: Duration of sleep when night comes from external source
(seconds).
Light, Deep and Rem sleep durations are null in this
case. *(Use 'data_fields' to request this data.)*
lightsleepduration:
type: integer
description: Duration in state light sleep (seconds). *(Use 'data_fields'
to request this data.)*
remsleepduration:
type: integer
description: Duration in state REM sleep (seconds). *(Use 'data_fields'
to request this data.)*
deepsleepduration:
type: integer
description: Duration in state deep sleep (seconds). *(Use 'data_fields'
to request this data.)*
sleep_efficiency:
type: number
description: Ratio of the total sleep time over the time spent in bed.
*(Use 'data_fields' to request this data.)*
sleep_latency:
type: integer
description: Time spent in bed before falling asleep (seconds). *(Use
'data_fields' to request this data.)*
wakeup_latency:
type: integer
description: Time spent in bed after waking up (seconds). *(Use 'data_fields'
to request this data.)*
wakeupduration:
type: integer
description: Time spent awake (seconds). *(Use 'data_fields' to request
this data.)*
wakeupcount:
type: integer
description: Number of times the user woke up while in bed. Does not
include the number of times the user got out of bed. *(Use 'data_fields'
to request this data.)*
waso:
type: integer
description: Time spent awake in bed after falling asleep for the 1st
time during the night (seconds). *(Use 'data_fields' to request this
data.)*
nb_rem_episodes:
type: integer
description: Count of the REM sleep phases. *(Use 'data_fields' to request
this data.)*
durationtosleep:
type: integer
description: Time to sleep (seconds). (deprecated) *(Use 'data_fields'
to request this data.)*
durationtowakeup:
type: integer
description: Time to wake up (seconds). (deprecated) *(Use 'data_fields'
to request this data.)*
out_of_bed_count:
type: integer
description: Number of times the user got out of bed during the night.
*(Use 'data_fields' to request this data.)*
hr_average:
type: integer
description: Average heart rate. (beats per minute).*(Use 'data_fields'
to request this data.)*
hr_min:
type: integer
description: Minimal heart rate (beats per minute). *(Use 'data_fields'
to request this data.)*
hr_max:
type: integer
description: Maximal heart rate (beats per minute).. *(Use 'data_fields'
to request this data.)*
rr_average:
type: integer
description: Average respiration rate (breaths per minute). *(Use 'data_fields'
to request this data.)*
rr_min:
type: integer
description: Minimal respiration rate (breaths per minute). *(Use 'data_fields'
to request this data.)*
rr_max:
type: integer
description: Maximal respiration rate (breaths per minute). *(Use 'data_fields'
to request this data.)*
breathing_quality_assessment:
type: integer
description: 'Intensity of breathing
disturbances.
Available for all Sleep and Sleep Analyzer devices
(wellness metric). '
breathing_disturbances_intensity:
type: integer
description: 'Intensity of breathing
disturbances.
Available for all Sleep and Sleep Analyzer devices
(wellness metric). '
snoring:
type: integer
description: Total snoring time (seconds).
snoringepisodecount:
type: integer
description: Numbers of snoring episodes of at least one minute.
sleep_score:
type: integer
description: Sleep score
night_events:
type: array
description: "Summary of sleep events that happened during the sleep
activity.\n\nIt is structured as a dictionary, where keys are the
type of event, and the value is an array of timestamps relative to
the activity startdate.\n\nTypes of events can be one of the following
: \n\n| Value | Description |
| 1 | got
in bed |
| 2 | fell asleep |
| 3 | woke
up |
| 4 | got out of bed |
| 5 | start
of asleep period that was manually input |
| 6 | start
of awake period that was manually input |
\n\n"
apnea_hypopnea_index:
type: integer
description: 'Medical grade AHI. Average number of hypopnea and apnea
episodes per hour, that occured during sleep time.
Only available
for devices purchased in Europe and Australia, with the sleep apnea
detection feature activated. '
mvt_score_avg:
type: integer
description: Track the average movement score in bed throughout the
night. The score ranges from 0 to 255, representing the intensity
of movement. This metric is only available for Sleep Analyzer devices
in the EU and prescription-based devices in the US (Sleep Rx).
mvt_active_duration:
type: integer
description: Track the duration (in seconds) of movement in bed. Only
available for Sleep Analyzer devices (EU) and devices under prescriptions
in the US (Sleep Rx)
rmssd_start_avg:
type: number
description: Heart rate variability - Start average
rmssd_end_avg:
type: number
description: Heart rate variability - End average
chest_movement_rate_wellness_average:
type: integer
description: Average respiration rate (breaths per minute). *(Use 'data_fields'
to request this data.)*
chest_movement_rate_wellness_min:
type: integer
description: Minimal respiration rate (breaths per minute). *(Use 'data_fields'
to request this data.)*
chest_movement_rate_wellness_max:
type: integer
description: Maximal respiration rate (breaths per minute). *(Use 'data_fields'
to request this data.)*
withings_index:
type: integer
description: |-
Withings Sleep Rx (FDA Cleared) allows to estimate gaps in breathing sounds and to generate an index. This index corresponds to the number of breathing events per hour.
| Value | Description |
| 0-15 (events per hour on average) | No/Mild |
| 15-30 (events per hour on average) | Moderate |
| > 30 (events per hour on average) | Severe |
Note: 5 hours of sleep are required in order to calculate the Withings Index.
breathing_sounds:
type: integer
description: Total time when breathing sounds were tracked. (seconds)
*(Use 'data_fields' to request this data.)*
breathing_sounds_episode_count:
type: integer
description: Numbers of breathing sounds episodes of at least one minute.
*(Use 'data_fields' to request this data.)*
chest_movement_rate_average:
type: integer
description: Average chest movement rate (events per minute). *(Use
'data_fields' to request this data.)*
chest_movement_rate_min:
type: integer
description: Minimal chest movement rate (events per minute). *(Use
'data_fields' to request this data.)*
chest_movement_rate_max:
type: integer
description: Maximal chest movement rate (events per minute). *(Use
'data_fields' to request this data.)*
core_body_temperature_min:
type: number
description: Minimal core body temperature (in celsius degrees). *(Use
'data_fields' to request this data.)*
core_body_temperature_max:
type: number
description: Maximal core body temperature (in celsius degrees). *(Use
'data_fields' to request this data.)*
core_body_temperature_avg:
type: number
description: Avenage core body temperature (in celsius degrees). *(Use
'data_fields' to request this data.)*
core_body_temperature_status:
type: string
description: "Status of the temperature. *(Use 'data_fields' to request
this data)* Value can be: 'unknown', 'usual' or 'elevated'.\n \n\n|
Value|\n|---|\n|unknown|\n|usual|\n|elevated|\n"
workout_object:
type: object
properties:
id:
type: integer
example: 12345
category:
type: integer
description: "Category of workout: \n\n\n| Value | Description|\n|---|---|\n|1
| Walk|\n|2 | Run|\n|3 | Hiking|\n|4 | Skating|\n|5 | BMX|\n|6 | Bicycling|\n|7
| Swimming|\n|8 | Surfing|\n|9 | Kitesurfing|\n|10 | Windsurfing|\n|11
| Bodyboard|\n|12 | Tennis|\n|13 | Table tennis|\n|14 | Squash|\n|15 |
Badminton|\n|16 | Lift weights|\n|17 | Fitness|\n|18 | Elliptical|\n|19
| Pilates|\n|20 | Basket-ball|\n|21 | Soccer|\n|22 | Football|\n|23 |
Rugby|\n|24 | Volley-ball|\n|25 | Waterpolo|\n|26 | Horse riding|\n|27
| Golf|\n|28 | Yoga|\n|29 | Dancing|\n|30 | Boxing|\n|31 | Fencing|\n|32
| Wrestling|\n|33 | Martial arts|\n|34 | Skiing|\n|35 | Snowboarding|\n|36
| Other|\n|128 | No activity|\n|187 | Rowing|\n|188 | Zumba|\n|191 | Baseball|\n|192
| Handball|\n|193 | Hockey|\n|194 | Ice hockey|\n|195 | Climbing|\n|196
| Ice skating|\n|272 | Multi-sport|\n|306 | Indoor walk|\n|307 | Indoor
running|\n|308 | Indoor cycling|\n|455 | Standup Paddleboarding|\n|456
| Padel|\n|457 | Gaming|\n|490 | Beach volleyball|\n|491 | Stair Stepper|\n|492
| Skateboarding|\n|493 | Parkour|\n|494 | Kayaking|\n|495 | Canoeing|\n|496
| Sailing|\n|497 | Fishing|\n|498 | Trail Running|\n|499 | Snowshoeing|\n|500
| Paintball|\n|501 | Archery|\n|502 | Scuba Diving|\n|503 | Baseball Training|\n|504
| Biathlon|\n|505 | Bocce|\n|506 | P\xE9tanque|\n|507 | Paragliding|\n|508
| Frisbee|\n|509 | Skydiving|\n|510 | Pickleball|\n|511 | Cornhole|\n|512
| Dodgeball|\n|513 | Ultimate|\n|514 | Teqball|\n|515 | Pushing a Wheelchair
(Running Pace)|\n|516 | Pushing a Wheelchair (Walking Pace)|\n|517 | Athletics|\n|518
| Track Cycling|\n|519 | Pentathlon|\n|520 | Sport Shooting|\n|521 | Triathlon|\n|522
| Diving|\n|523 | Mountain Biking|\n|524 | Gravel Biking|\n|525 | E-Biking|\n|526
| E-Mountain Biking|\n|527 | Handcycling|\n|528 | Velomobile|\n|529 |
Backcountry Skiing|\n|530 | Nordic Skiing|\n|531 | Roller Skiing|\n|532
| Racquetball|\n|534 | Hip Hop|\n|535 | Muaythai|\n|536 | Taekwondo|\n|537
| Judo|\n|538 | Trampoline|\n|539 | Standing Frame|\n|540 | Seated Strenght|\n|541
| Seated Cardio|\n|542 | Walk With Walker|\n|543 | Walk With Cane|\n|544
| Breaking|\n|545 | Chores|\n|546 | Crossfit|\n|547 | Spinclass|\n|548
| Cricket|\n|549 | Flamenco Dancing|\n|550 | HIIT|\n|551 | Meditation|\n|552
| Stretching|\n|553 | Yard Work Gardening|\n|554 | Cleaning|\n|555 | Public
Speaking|\n|556 | Spikeball|\n|557 | Lacrosse|\n|558 | Baby Wearing|\n|559
| Dog Walking|\n|560 | Breathing excercises|\n|561 | Balance Drills|\n|562
| Pushing a Stroller|\n|563 | Toddler Wearing|\n|564 | Bowling|\n|565
| Lasertag|\n|566 | Nordic Walking|\n|567 | Sumo Wrestling|\n|568 | Cooking|\n"
example: 36
timezone:
type: string
description: Timezone for the date.
example: Europe/Paris
model:
type: integer
description: |
Source for the workout. Value can be:
| Value | Description|
|---|---|
|1 | Withings WBS01, type: 1|
|2 | Withings WBS03, type: 1|
|3 | Kid Scale, type: 1|
|4 | Withings WBS02, type: 1|
|5 | Body+, type: 1|
|6 | Body Cardio, type: 1|
|7 | Body, type: 1|
|13 | Body+, type: 1|
|21 | Smart Baby Monitor, type: 2|
|22 | Withings Home, type: 2|
|41 | Withings Blood Pressure V1, type: 4|
|42 | Withings Blood Pressure V2, type: 4|
|43 | Withings Blood Pressure V3, type: 4|
|44 | BPM Core, type: 4|
|45 | BPM Connect, type: 4|
|51 | Pulse, type: 16|
|52 | Activite, type: 16|
|53 | Activite (Pop, Steel), type: 16|
|54 | Withings Go, type: 16|
|55 | Activite Steel HR, type: 16|
|58 | Pulse HR, type: 16|
|59 | Activite Steel HR Sport Edition, type: 16|
|60 | Aura dock, type: 32|
|61 | Aura sensor, type: 32|
|62 | Aura dock, type: 32|
|63 | Sleep sensor, type: 32|
|70 | Thermo, type: 64|
|91 | Move ECG|
|92 | Move ECG|
|1051 | iOS step tracker, type 16|
|1052 | iOS step tracker, type 16|
|1053 | Android step tracker, type 16|
|1054 | Android step tracker, type 16|
|1055 | GoogleFit tracker, type 16|
|1056 | Samsung Health tracker, type 16|
|1057 | HealthKit step iPhone tracker, type 16|
|1058 | HealthKit step Apple Watch tracker, type 16|
|1059 | HealthKit other step tracker, type 16|
|1060 | Google Health Connect, type 16|
|1062 | Huawei tracker, type 16|
|1063 | Lingo Sensor, type 1007|
example: 59
attrib:
type: integer
description: |
The way the measure was attributed to the user:
| Value | Description|
|---|---|
|0 | The measuregroup has been captured by a device and is known to belong to this user (and is not ambiguous)|
|1 | The measuregroup has been captured by a device but may belong to other users as well as this one (it is ambiguous)|
|2 | The measuregroup has been entered manually for this particular user|
|4 | The measuregroup has been entered manually during user creation (and may not be accurate)|
|5 | Measure auto, it's only for the Blood Pressure Monitor. This device can make many measures and computed the best value|
|7 | Measure confirmed. You can get this value if the user confirmed a detected activity|
|8 | Same as attrib 0|
|15 | The measure has been performed in specific guided conditions. Apply to Nerve Health Score|
startdate:
type: integer
description: The starting datetime for workouts data.
format: timestamp
example: 1594245600
enddate:
type: integer
description: The ending datetime for workouts data.
format: timestamp
example: 1594257200
date:
type: string
description: Date at which the measure was taken or entered.
example: "2020-07-09"
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1594257200
deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
data:
type: object
description: Details of workout.
properties:
algo_pause_duration:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Total pause time in seconds detected by Withings
device (swim only)'
calories:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Active calories burned (in Kcal). *(Use ''data_fields''
to request this data.)*'
core_body_temperature_avg:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Avenage core body temperature (in celsius degrees).
*(Use ''data_fields'' to request this data.)*'
core_body_temperature_max:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Maximal core body temperature (in celsius degrees).
*(Use ''data_fields'' to request this data.)*'
core_body_temperature_min:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Minimal core body temperature (in celsius degrees).
*(Use ''data_fields'' to request this data.)*'
core_body_temperature_status:
type: integer
description: "*Available for all categories except Multi-sport, Breathing
excercises*
Status of the temperature. *(Use 'data_fields'
to request this data)* Value can be: 'unknown', 'usual' or 'elevated'.\n
\n\n| Value|\n|---|\n|unknown|\n|usual|\n|elevated|\n"
distance:
type: integer
description: '*Available for all categories except Swimming, Multi-sport,
Breathing excercises*
Distance travelled (in meters). *(Use
''data_fields'' to request this data.)*'
elevation:
type: integer
description: '*Available for all categories except Swimming, Multi-sport,
Breathing excercises*
Number of floors climbed. *(Use ''data_fields''
to request this data.)*'
hr_average:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Average heart rate. (beats per minute).*(Use ''data_fields''
to request this data.)*'
hr_max:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Maximal heart rate (beats per minute).. *(Use ''data_fields''
to request this data.)*'
hr_min:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Minimal heart rate (beats per minute). *(Use ''data_fields''
to request this data.)*'
hr_zone_0:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Duration in seconds when heart rate was in a light
zone (cf. Glossary).
*(Use ''data_fields'' to request this data.)*'
hr_zone_1:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Duration in seconds when heart rate was in a moderate
zone (cf. Glossary).
*(Use ''data_fields'' to request this data.)*'
hr_zone_2:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Duration in seconds when heart rate was in an intense
zone (cf. Glossary).
*(Use ''data_fields'' to request this data.)*'
hr_zone_3:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Duration in seconds when heart rate was in maximal
zone (cf. Glossary).
*(Use ''data_fields'' to request this data.)*'
intensity:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Intensity of the workout, from 0 to 100, as inputed
by the user. If the user didn''t manually give the intensity of his
workout, the value will be 0.'
manual_calories:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Active calories burned manually entered by user
(in Kcal). *(Use ''data_fields'' to request this data.)*'
manual_distance:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Distance travelled manually entered by user (in
meters). *(Use ''data_fields'' to request this data.)*'
manual_intensity:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Intensity of the workout, from 0 to 100, entered
by the user. If the user didn''t manually give the intensity of his
workout, the value will be 0.'
pause_duration:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Total pause time in second filled by user'
pool_laps:
type: integer
description: '*Available only for Swimming*
Number of pool laps.
*(Use ''data_fields'' to request this data.)*'
pool_length:
type: integer
description: '*Available only for Swimming*
Length of the pool.
*(Use ''data_fields'' to request this data.)*'
spo2_average:
type: integer
description: '*Available for all categories except Multi-sport, Breathing
excercises*
Average percent of SpO2 percent value during a
workout'
steps:
type: integer
description: '*Available for all categories except Swimming, Multi-sport,
Breathing excercises*
Number of steps. *(Use ''data_fields''
to request this data.)*'
strokes:
type: integer
description: '*Available only for Swimming*
Number of strokes.
*(Use ''data_fields'' to request this data.)*'
notify_object:
type: object
properties:
appli:
type: integer
description: |
Refer to the [Notifications section](/developer-guide/v3/data-api/notifications/notification-overview/) to know the meaning of each values.
example: 1
callbackurl:
type: string
description: Callback url of the notification.
example: https://www.withings.com
comment:
type: string
description: Comment entered when creating the notification configuration.
example: My notification subscription
user_device_object:
type: object
properties:
type:
type: string
description: |
Type of the device. Value can be:
| Value|
|---|
|Scale|
|Babyphone|
|Blood Pressure Monitor|
|Activity Tracker|
|Sleep Monitor|
|Smart Connected Thermometer|
|Gateway|
|iGlucose|
|HealthKit Apple|
|HealthKit Google|
|HealthKit Huawei|
|Lingo|
example: Scale
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Withings WBS01 | Scale|
|WS30 | Scale|
|Kid Scale | Scale|
|Smart Body Analyzer | Scale|
|Body+ | Scale|
|Body Cardio | Scale|
|Body | Scale|
|Body Scan | Scale|
|Body Pro | Scale|
|WBS10 | Scale|
|WBS11 | Scale|
|Body Comp | Scale|
|Smart Baby Monitor | Babyphone|
|Withings Home | Babyphone|
|Withings Blood Pressure Monitor V1 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V2 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V3 | Blood Pressure Monitor|
|BPM Core | Blood Pressure Monitor|
|BPM Connect | Blood Pressure Monitor|
|BPM Connect Pro | Blood Pressure Monitor|
|BPM Pro 2 | Blood Pressure Monitor|
|BPM Vision | Blood Pressure Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Thermo | Smart Connected Thermometer|
|BeamO | Smart Connected Thermometer|
|WUP01 | Gateway|
|Iglucose glucometer | iGlucose|
|iOS step tracker | HealthKit Apple|
|HealthKit step iPhone tracker | HealthKit Apple|
|HealthKit step Apple Watch tracker | HealthKit Apple|
|HealthKit other step tracker | HealthKit Apple|
|Android step tracker | HealthKit Google|
|GoogleFit tracker | HealthKit Google|
|Samsung Health tracker | HealthKit Google|
|Google Health Connect | HealthKit Google|
|Huawei tracker | HealthKit Huawei|
|Lingo Sensor | Lingo|
example: Body Cardio
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|1 | Withings WBS01|
|2 | WS30|
|3 | Kid Scale|
|4 | Smart Body Analyzer|
|5 | Body+|
|6 | Body Cardio|
|7 | Body|
|10 | Body Scan|
|9 | Body Pro|
|11 | WBS10|
|12 | WBS11|
|18 | Body Comp|
|21 | Smart Baby Monitor|
|22 | Withings Home|
|41 | Withings Blood Pressure Monitor V1|
|42 | Withings Blood Pressure Monitor V2|
|43 | Withings Blood Pressure Monitor V3|
|44 | BPM Core|
|45 | BPM Connect|
|46 | BPM Connect Pro|
|47 | BPM Pro 2|
|48 | BPM Vision|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|70 | Thermo|
|71 | BeamO|
|100 | WUP01|
|1061 | Iglucose glucometer|
|1051 | iOS step tracker|
|1052 | iOS step tracker|
|1057 | HealthKit step iPhone tracker|
|1058 | HealthKit step Apple Watch tracker|
|1059 | HealthKit other step tracker|
|1053 | Android step tracker|
|1054 | Android step tracker|
|1055 | GoogleFit tracker|
|1056 | Samsung Health tracker|
|1060 | Google Health Connect|
|1062 | Huawei tracker|
|1063 | Lingo Sensor|
example: 6
battery:
type: string
description: 'Battery level: high (> 75%), medium (> 30%) or low'
example: medium
deviceid:
type: string
description: ID of the device. This ID is returned in other services to
know which device tracked a data. Then device's model or type can be known
using this information.
example: 892359876fd8805ac45bab078c4828692f0276b1
mac_address:
type: string
description: Mac address of the device (advanced partners only).
example: 00:24:e4:69:b2:30
fw:
type: string
description: Device's firmware (advanced partners only).
example: "1124"
network:
type: string
description: Network used by the device (advanced partners only).
example: "1"
last_used_network:
type: string
description: Last network used by the device (advanced partners only).
example: "1"
hash_deviceid:
type: string
description: ID of the device. This ID is returned in other services to
know which device tracked a data. Then device's model or type can be known
using this information.
example: 892359876fd8805ac45bab078c4828692f0276b1
timezone:
type: string
description: Timezone of the device.
example: Europe/Paris
first_session_date:
type: integer
description: The timestamp of the first server connection of the device
format: timestamp
example: 1594159644
last_session_date:
type: integer
description: The timestamp of the last server connection of the device
format: timestamp
example: 1594159644
sim_status:
type: string
example: STANDBY
user_device_mac_object:
type: object
properties:
mac_address:
type: string
description: Mac address of the device.
example: 00:24:e4:69:b2:30
type:
type: string
description: |
Type of the device. Value can be:
| Value|
|---|
|Scale|
|Babyphone|
|Blood Pressure Monitor|
|Activity Tracker|
|Sleep Monitor|
|Smart Connected Thermometer|
|Gateway|
|iGlucose|
|HealthKit Apple|
|HealthKit Google|
|HealthKit Huawei|
|Lingo|
example: Scale
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Withings WBS01 | Scale|
|WS30 | Scale|
|Kid Scale | Scale|
|Smart Body Analyzer | Scale|
|Body+ | Scale|
|Body Cardio | Scale|
|Body | Scale|
|Body Scan | Scale|
|Body Pro | Scale|
|WBS10 | Scale|
|WBS11 | Scale|
|Body Comp | Scale|
|Smart Baby Monitor | Babyphone|
|Withings Home | Babyphone|
|Withings Blood Pressure Monitor V1 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V2 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V3 | Blood Pressure Monitor|
|BPM Core | Blood Pressure Monitor|
|BPM Connect | Blood Pressure Monitor|
|BPM Connect Pro | Blood Pressure Monitor|
|BPM Pro 2 | Blood Pressure Monitor|
|BPM Vision | Blood Pressure Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Thermo | Smart Connected Thermometer|
|BeamO | Smart Connected Thermometer|
|WUP01 | Gateway|
|Iglucose glucometer | iGlucose|
|iOS step tracker | HealthKit Apple|
|HealthKit step iPhone tracker | HealthKit Apple|
|HealthKit step Apple Watch tracker | HealthKit Apple|
|HealthKit other step tracker | HealthKit Apple|
|Android step tracker | HealthKit Google|
|GoogleFit tracker | HealthKit Google|
|Samsung Health tracker | HealthKit Google|
|Google Health Connect | HealthKit Google|
|Huawei tracker | HealthKit Huawei|
|Lingo Sensor | Lingo|
example: Body Cardio
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|1 | Withings WBS01|
|2 | WS30|
|3 | Kid Scale|
|4 | Smart Body Analyzer|
|5 | Body+|
|6 | Body Cardio|
|7 | Body|
|10 | Body Scan|
|9 | Body Pro|
|11 | WBS10|
|12 | WBS11|
|18 | Body Comp|
|21 | Smart Baby Monitor|
|22 | Withings Home|
|41 | Withings Blood Pressure Monitor V1|
|42 | Withings Blood Pressure Monitor V2|
|43 | Withings Blood Pressure Monitor V3|
|44 | BPM Core|
|45 | BPM Connect|
|46 | BPM Connect Pro|
|47 | BPM Pro 2|
|48 | BPM Vision|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|70 | Thermo|
|71 | BeamO|
|100 | WUP01|
|1061 | Iglucose glucometer|
|1051 | iOS step tracker|
|1052 | iOS step tracker|
|1057 | HealthKit step iPhone tracker|
|1058 | HealthKit step Apple Watch tracker|
|1059 | HealthKit other step tracker|
|1053 | Android step tracker|
|1054 | Android step tracker|
|1055 | GoogleFit tracker|
|1056 | Samsung Health tracker|
|1060 | Google Health Connect|
|1062 | Huawei tracker|
|1063 | Lingo Sensor|
example: 6
battery:
type: string
description: 'Battery level: high (> 75%), medium (> 30%) or low'
example: medium
deviceid:
type: string
description: ID of the device. This ID is returned in other services to
know which device tracked a data. Then device's model or type can be known
using this information.
example: 892359876fd8805ac45bab078c4828692f0276b1
timezone:
type: string
description: Timezone of the device.
example: Europe/Paris
last_session_date:
type: integer
description: The timestamp of the last server connection of the device
format: timestamp
example: 1594159644
serial_number:
type: string
description: Serial number of the device.
example: SN-001122334455
heart_measurement_object:
type: object
properties:
deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
model:
type: integer
description: |
The source of the recording.
| Value | Description|
|---|---|
|44 | BPM Core|
|91 | Move ECG|
example: 44
ecg:
type: object
properties:
signalid:
type: integer
description: Id of the signal.
example: 48
afib:
type: integer
description: |
Atrial fibrillation classification.
| Value | Description|
|---|---|
|0 | Negative|
|1 | Positive|
|2 | Inconclusive|
example: 1
bloodpressure:
type: object
properties:
diastole:
type: integer
description: Diastole value.
example: 100
systole:
type: integer
description: Systole value.
example: 101
stetho:
type: object
properties:
signalid:
type: integer
description: Id of the signal.
example: 48
vhd:
type: integer
heart_rate:
type: integer
description: Average recorded heart rate.
example: 82
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1594159644
timestamp:
type: integer
description: Timestamp of the recording.
format: timestamp
example: 1594159644
stetho_measurement_object:
type: object
properties:
hash_deviceid:
type: string
description: 'ID of device that tracked the data. To retrieve information
about this device, refer to : User
v2 - Getdevice.'
example: 892359876fd8805ac45bab078c4828692f0276b1
signalid:
type: integer
description: Id of the signal.
example: 1
vhd:
type: integer
example: 1
timestamp:
type: integer
description: Timestamp of the recording.
format: timestamp
example: 1594159644
timezone:
type: string
description: Timezone for the date.
example: Europe/Paris
dropshipment_create_order_object:
type: object
properties:
order_id:
type: string
description: Withings generated identifier used to track your order.
example: D12345678
customer_ref_id:
type: string
description: Random identifier you must provide in input parameters. It
is used to track your order and must be unique.
example: MOUVEMENTREFERENCE12345678
dropshipmentorderid:
type: string
description: Unique identifier of the dropshipment order.
example: "32948634"
status:
type: string
description: |
Status of the order. Value can be:
| Value|
|---|
|CREATED|
|ADDRESS VERIFICATION|
|ADDRESS ERROR|
|VERIFIED|
|PROCESSING|
|FAILED|
|OPEN|
|SHIPPED|
|TRASHED|
|BACKHOLD|
example: ADDRESS VERIFICATION
products:
type: array
items:
$ref: '#/components/schemas/dropshipment_create_order_product_object'
dropshipment_get_order_status_object:
type: object
properties:
order_id:
type: string
description: Withings generated identifier used to track your order.
example: D12345678
customer_ref_id:
type: string
description: Random identifier you must provide in input parameters. It
is used to track your order and must be unique.
example: MOUVEMENTREFERENCE12345678
status:
type: string
description: |
Status of the order. Value can be:
| Value|
|---|
|CREATED|
|ADDRESS VERIFICATION|
|ADDRESS ERROR|
|VERIFIED|
|PROCESSING|
|FAILED|
|OPEN|
|SHIPPED|
|TRASHED|
|BACKHOLD|
example: SHIPPED
products:
type: array
items:
$ref: '#/components/schemas/dropshipment_get_order_status_product_object'
carrier:
type: string
description: Carrier. *(Only if order has been shipped)*
example: UPS Parcel
carrier_service:
type: string
description: Carrier service. *(Only if order has been shipped)*
example: Next Day Air
tracking_number:
type: string
description: Tracking number. *(Only if order has been shipped)*
example: 1ZY1111111
parcel_status:
type: string
description: |
Status of the parcel. *(Only if order has been shipped)* Value can be:
| Value|
|---|
|pending|
|info_received|
|in_transit|
|failed_attempt|
|exception|
|delayed|
|pickup|
|delivered|
|return|
|expired|
example: in_transit
ship_date:
type: string
description: 'Date on which the order was shipped (format: YYYY-MM-DD).'
example: "2024-03-15"
is_replacement:
type: boolean
description: Indicates whether this order is a replacement for a previous
order.
original_customer_ref:
type: string
description: The customer reference of the original order this replacement
was created for.
example: MOUVEMENTREFERENCE00000001
dropshipment_create_order_product_object:
type: object
properties:
ean:
type: string
description: EAN of the product.
example: "3700546702518"
partner_ref:
type: string
example: REF-12345
quantity:
type: integer
description: Quantity of products.
example: 3
dropshipment_get_order_status_product_object:
type: object
properties:
ean:
type: string
description: EAN of the product.
example: "3700546702518"
partner_ref:
type: string
example: REF-12345
devices:
type: array
items:
$ref: '#/components/schemas/dropshipment_get_order_status_product_device_object'
quantity:
type: integer
description: Quantity of products.
example: 3
mac_addresses:
type: array
description: List of device MAC addresses. *(Only if order has been shipped)*
example:
- 00:24:e4:xx:xx:xx
- 00:24:e4:xx:xx:xx
- 00:24:e4:xx:xx:xx
items:
type: macaddress
hash_deviceids:
type: array
example:
- 892359876fd8805ac45bab078c4828692f0276b1
- a1b2c3d4e5f6
serial_numbers:
type: array
example:
- SN-001122334455
- SN-001122334456
dropshipment_get_order_status_product_device_object:
type: object
properties:
serial_number:
type: string
description: Serial number of the device.
example: 00:24:e4:xx:xx:xx
mac_address:
type: string
description: Mac address of the device.
example: 00:24:e4:xx:xx:xx
hash_deviceid:
type: string
description: ID of the device. This ID is returned in other services to
know which device tracked a data. Then device's model or type can be known
using this information.
example: 892359876fd8805ac45bab078c4828692f0276b1
model:
type: string
description: |
Device model. Value can be:
| Value | Description|
|---|---|
|Withings WBS01 | Scale|
|WS30 | Scale|
|Kid Scale | Scale|
|Smart Body Analyzer | Scale|
|Body+ | Scale|
|Body Cardio | Scale|
|Body | Scale|
|Body Scan | Scale|
|Body Pro | Scale|
|WBS10 | Scale|
|WBS11 | Scale|
|Body Comp | Scale|
|Smart Baby Monitor | Babyphone|
|Withings Home | Babyphone|
|Withings Blood Pressure Monitor V1 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V2 | Blood Pressure Monitor|
|Withings Blood Pressure Monitor V3 | Blood Pressure Monitor|
|BPM Core | Blood Pressure Monitor|
|BPM Connect | Blood Pressure Monitor|
|BPM Connect Pro | Blood Pressure Monitor|
|BPM Pro 2 | Blood Pressure Monitor|
|BPM Vision | Blood Pressure Monitor|
|Pulse | Activity Tracker|
|Activite | Activity Tracker|
|Activite (Pop, Steel) | Activity Tracker|
|Withings Go | Activity Tracker|
|Activite Steel HR | Activity Tracker|
|Activite Steel HR Sport Edition | Activity Tracker|
|Pulse HR | Activity Tracker|
|Move | Activity Tracker|
|Move ECG | Activity Tracker|
|ScanWatch | Activity Tracker|
|ScanWatch 2 | Activity Tracker|
|ScanWatch Light | Activity Tracker|
|Aura Dock | Sleep Monitor|
|Aura Sensor | Sleep Monitor|
|Aura Sensor V2 | Sleep Monitor|
|Thermo | Smart Connected Thermometer|
|BeamO | Smart Connected Thermometer|
|WUP01 | Gateway|
|Iglucose glucometer | iGlucose|
|iOS step tracker | HealthKit Apple|
|HealthKit step iPhone tracker | HealthKit Apple|
|HealthKit step Apple Watch tracker | HealthKit Apple|
|HealthKit other step tracker | HealthKit Apple|
|Android step tracker | HealthKit Google|
|GoogleFit tracker | HealthKit Google|
|Samsung Health tracker | HealthKit Google|
|Google Health Connect | HealthKit Google|
|Huawei tracker | HealthKit Huawei|
|Lingo Sensor | Lingo|
example: Pulse
model_id:
type: integer
description: |2
| Value | Description|
|---|---|
|1 | Withings WBS01|
|2 | WS30|
|3 | Kid Scale|
|4 | Smart Body Analyzer|
|5 | Body+|
|6 | Body Cardio|
|7 | Body|
|10 | Body Scan|
|9 | Body Pro|
|11 | WBS10|
|12 | WBS11|
|18 | Body Comp|
|21 | Smart Baby Monitor|
|22 | Withings Home|
|41 | Withings Blood Pressure Monitor V1|
|42 | Withings Blood Pressure Monitor V2|
|43 | Withings Blood Pressure Monitor V3|
|44 | BPM Core|
|45 | BPM Connect|
|46 | BPM Connect Pro|
|47 | BPM Pro 2|
|48 | BPM Vision|
|51 | Pulse|
|52 | Activite|
|53 | Activite (Pop, Steel)|
|54 | Withings Go|
|55 | Activite Steel HR|
|59 | Activite Steel HR Sport Edition|
|58 | Pulse HR|
|90 | Move|
|91 | Move ECG|
|92 | Move ECG|
|93 | ScanWatch|
|94 | ScanWatch 2|
|95 | ScanWatch Light|
|60 | Aura Dock|
|61 | Aura Sensor|
|63 | Aura Sensor V2|
|70 | Thermo|
|71 | BeamO|
|100 | WUP01|
|1061 | Iglucose glucometer|
|1051 | iOS step tracker|
|1052 | iOS step tracker|
|1057 | HealthKit step iPhone tracker|
|1058 | HealthKit step Apple Watch tracker|
|1059 | HealthKit other step tracker|
|1053 | Android step tracker|
|1054 | Android step tracker|
|1055 | GoogleFit tracker|
|1056 | Samsung Health tracker|
|1060 | Google Health Connect|
|1062 | Huawei tracker|
|1063 | Lingo Sensor|
example: 51
lastupdate_object:
type: object
properties:
id:
type: integer
description: Id of the user
example: 1234
measure:
type: integer
description: Most recent modified date of user measures
format: timestamp
example: 1594159644
rawdata_get_rawdata_object:
type: object
properties:
data:
type: string
example: JSON of rawdata
hash_deviceid:
type: string
description: ID of the device. This ID is returned in other services to
know which device tracked a data. Then device's model or type can be known
using this information.
example: 892359876fd8805ac45bab078c4828692f0276b1
type:
type: integer
description: Type of the measure. See ```meastype``` input parameter.
example: 2
format_version:
type: integer
example: 1
firmware_version:
type: integer
example: 2561
sensor_name:
type: string
example: MAX86142_RAW
startdate:
type: integer
description: The starting datetime for the sleep state data.
format: timestamp
enddate:
type: integer
description: The end datetime for the sleep data. A single call can span
up to 7 days maximum. To cover a wider time range, you will need to perform
multiple calls.
format: timestamp
nudge:
type: object
properties:
id:
type: integer
example: 9
iconids:
type: array of integers
example:
- 3
content:
type: array of strings
example:
- Line 1
- Line 2
campaignids:
type: array of integers
model:
type: integer
example: 17
position:
type: string
description: |
The device's position during the measure.
| Value | Description|
|---|---|
|0 | Right Wrist|
|1 | Left Wrist|
|2 | Right Arm|
|3 | Left Arm|
|4 | Right Foot|
|5 | Left Foot|
|6 | Between Legs|
|8 | Left part of the body|
|9 | Right part of the body|
|10 | Left leg|
|11 | Right leg|
|12 | Torso|
|13 | Left hand|
|14 | Right hand|
|15 | Cardiovascular aortic area|
|16 | Cardiovascular pulmonic area|
|17 | Cardiovascular tricuspid area|
|18 | Cardiovascular mitral area|
|19 | Cardiovascular apex area|
|20 | Pulmonary front upper right area|
|21 | Pulmonary front upper left area|
|22 | Pulmonary front bottom right area|
|23 | Pulmonary front bottom left area|
|24 | Pulmonary back upper left area|
|25 | Pulmonary back upper right area|
|26 | Pulmonary back bottom left area|
|27 | Pulmonary back bottom right area|
|28 | Wide mode area|
|29 | Between arms|
|30 | Hold Right|
|31 | Hold Left|
example: first
created:
type: integer
format: timestamp
example: 1712008821
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1712008821
nudge_campaign:
type: object
properties:
id:
type: integer
example: 3
nudgeid:
type: integer
example: 4
max_display_count:
type: integer
example: 5
startdate:
type: integer
description: The starting datetime for the sleep state data.
format: timestamp
example: 1712106335
enddate:
type: integer
description: The end datetime for the sleep data. A single call can span
up to 7 days maximum. To cover a wider time range, you will need to perform
multiple calls.
format: timestamp
example: 1735689600
user_count:
type: integer
example: 2
created:
type: integer
format: timestamp
example: 1712016369
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1712016369
user_campaign:
type: object
properties:
userid:
type: integer
description: The id of the user.
example: 102
campaignid:
type: integer
example: 9
completion_date:
type: integer
format: timestamp
example: 1712008821
display_count:
type: integer
example: 15
deliver_count:
type: integer
example: 10
created:
type: integer
format: timestamp
example: 1712008389
modified:
type: integer
description: The timestamp of the last modification.
format: timestamp
example: 1712286130
user_add_to_rpm_external_ids:
type: object
properties:
type:
type: string
description: Type of the measure. See ```meastype``` input parameter.
identifier:
type: string
survey_list_users:
type: object
properties:
userid:
type: integer
description: The id of the user.
example: 102
activation_date:
type: integer
description: Timestamp when the survey has been activated for the user
format: timestamp
example: 1712008389
survey_list:
type: object
properties:
id:
type: integer
example: 3
name:
type: string
example: Survey name
description:
type: string
example: Survey description
trigger_type:
type: integer
example: 1
trigger_conditions:
type: array
category:
type: integer
example: 1
answers_type:
type: integer
example: 1
answers_list:
type: object
properties:
surveyid:
type: integer
example: 102
grpid:
type: integer
description: Unique identifier of the measure group.
example: 42
answers:
type: array
timestamp:
type: integer
description: Timestamp of the recording.
format: timestamp
example: 1712008389
TokenRequestWithSignature:
type: object
required:
- action
- client_id
- nonce
- signature
- grant_type
- code
- redirect_uri
properties:
action:
type: string
description: Must take the string value ```requesttoken```.
client_id:
type: string
description: Your Client ID.
nonce:
type: string
description: A random token used to prevent replay attacks (Cf. Signature
v2 - Getnonce).
signature:
type: string
description: Hash of params (Cf. Signature hash protocol).
grant_type:
type: string
enum:
- authorization_code
description: Must take the constant string value authorization_code.
code:
type: string
description: The Authorization Code you got from previous step.
redirect_uri:
type: string
description: The URI you use in the first call.
TokenRequestWithClientSecret:
type: object
required:
- action
- client_id
- client_secret
- grant_type
- code
- redirect_uri
properties:
action:
type: string
description: Must take the string value ```requesttoken```.
client_id:
type: string
description: Your Client ID.
client_secret:
type: string
description: Your Client Secret.
grant_type:
type: string
enum:
- authorization_code
description: Must take the constant string value authorization_code.
code:
type: string
description: The Authorization Code you got from previous step.
redirect_uri:
type: string
description: The URI you use in the first call.
TokenRequestRefreshWithSignature:
type: object
required:
- action
- client_id
- nonce
- signature
- grant_type
- refresh_token
properties:
action:
type: string
description: Must take the string value ```requesttoken```.
client_id:
type: string
description: Your Client ID.
nonce:
type: string
description: A random token used to prevent replay attacks (Cf. Signature
v2 - Getnonce).
signature:
type: string
description: Hash of params (Cf. Signature hash protocol).
grant_type:
type: string
enum:
- refresh_token
description: Must take the constant string value refresh_token.
refresh_token:
type: string
description: The current valid refresh_token.
TokenRequestRefreshWithClientSecret:
type: object
required:
- action
- client_id
- client_secret
- grant_type
- refresh_token
properties:
action:
type: string
description: Must take the string value ```requesttoken```.
client_id:
type: string
description: Your Client ID.
client_secret:
type: string
description: Your Client Secret.
grant_type:
type: string
enum:
- refresh_token
description: Must take the constant string value refresh_token.
refresh_token:
type: string
description: The current valid refresh_token.
...