--- 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 \ \n \n \n \n \ \n \n \n \ \n \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \ \n \ \n \n \n \n \n \n \n \n \n \n \ \n \ \n \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \ \n \n
ValueDescription
0Operation was successful
100..102Authentication failed
200Authentication failed
201..213Invalid params
214Unauthorized
215An error occurred
216..218Invalid params
219An error occurred
220...221Invalid params
222An error occurred
223Invalid params
224An error occurred
225Invalid params
226An error occurred
227..230Invalid params
231..233An error occurred
234..236Invalid params
237An error occurred
238Invalid params
240..252Invalid params
253An error occurred
254Invalid params
255..259An error occurred
260..267Invalid params
268..270An error occurred
271..272Invalid params
273..274An error occurred
275..276Invalid params
277Unauthorized
278..282An error occurred
283..288Invalid params
289An error occurred
290Invalid params
291..292An error occurred
293..295Invalid params
296An error occurred
297Invalid params
298An error occurred
300..304Invalid params
305..320An error occurred
321Invalid params
322An error occurred
323..353Invalid params
370..375An error occurred
380..382Invalid params
383An error occurred
391An error occurred
400Invalid params
401Authentication failed
402An error occurred
501..511Invalid params
516..521An error occurred
522Timeout
523Invalid params
524Bad state
525..531An error occurred
532Invalid params
533An error occurred
601Too many request
602An error occurred
700An error occurred
1051..1054An error occurred
2551..2552An error occurred
2553Unauthorized
2554Not implemented
2555Unauthorized
2556..2559An error occurred
3000..3016An error occurred
3017..3019Invalid params
3020..3024An error occurred
5000..5006An error occurred
6000An error occurred
6010..6011An error occurred
9000An error occurred
10000An error occurred
" - 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" - 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.
ValueDescription
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.
ValueDescription
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
ValueDescription
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
ValueDescription
1got in bed
2fell asleep
3woke up
4got out of bed
5start of asleep period that was manually input
6start 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
ValueDescription
1got in bed
2fell asleep
3woke up
4got out of bed
5start of asleep period that was manually input
6start 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.
ValueDescription
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. ...