openapi: 3.2.0 info: title: inform-data-resources Organizations API version: '2.0' servers: - url: https://api.v2.validic.com security: - sec0: [] tags: - name: Organizations paths: /organizations/{org_id}/users?token={token}: post: summary: Provision a User description: 'Creates the user and returns an id, uid, marketplace information, and created_at parameters for the user. POST /organizations/:org_id/users?token=:token' operationId: provision-a-user parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: token in: query description: Developer Key as supplied by Validic. schema: type: string requestBody: content: application/json: schema: type: object properties: uid: type: string description: The UID you defined when provisioning the client. RAW_BODY: type: string responses: '201': description: '201' content: application/json: examples: Result: value: id: 598518fd8a5da50001578157 uid: 277040620-wcwflair marketplace: token: c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47 url: https://syncmydevice.com/?token=c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47 mobile: token: 0a811c9b0cf0af663eda6e2b496a3b9c location: timezone: America/New_York country_code: US sources: [] status: active created_at: '2026-01-05T01:01:49Z' updated_at: '2026-01-05T01:01:49Z' schema: type: object properties: id: type: string example: 598518fd8a5da50001578157 uid: type: string example: 277040620-wcwflair marketplace: type: object properties: token: type: string example: c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47 url: type: string example: https://syncmydevice.com/?token=c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47 mobile: type: object properties: token: type: string example: 0a811c9b0cf0af663eda6e2b496a3b9c location: type: object properties: timezone: type: string example: America/New_York country_code: type: string example: US sources: type: array items: type: object properties: {} status: type: string example: active created_at: type: string example: '2017-08-05T01:01:49Z' updated_at: type: string example: '2017-08-05T01:01:49Z' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: application/json: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '422': description: '422' content: application/json: examples: Result: value: "{\n \"message\": \"An error occurred and an error response has been sent with details.\"\n}" schema: type: object properties: message: type: string example: An error occurred and an error response has been sent with details. deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl --request POST \\\n --url 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896' \\\n --header 'content-type: application/json' \\\n --data '{ \n \"uid\":\"277040620-wcwflair\",\n \"location\":{ \n \"timezone\":\"America/New_York\",\n \"country_code\":\"US\"\n }\n}'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["content-type"] = ''application/json'' request.body = "{ \n \"uid\":\"277040620-wcwflair\",\n \"location\":{ \n \"timezone\":\"America/New_York\",\n \"country_code\":\"US\"\n }\n}" response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} payload = "{ \n \"uid\":\"277040620-wcwflair\",\n \"location\":{ \n \"timezone\":\"America/New_York\",\n \"country_code\":\"US\"\n }\n}" headers = {''content-type'': ''application/json''} response = requests.request("POST", url, data=payload, headers=headers, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\tpayload := strings.NewReader(\"{ \\n \\\"uid\\\":\\\"277040620-wcwflair\\\",\\n \\\"location\\\":{ \\n \\\"timezone\\\":\\\"America/New_York\\\",\\n \\\"country_code\\\":\\\"US\\\"\\n }\\n}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => \"{ \\n \\\"uid\\\":\\\"277040620-wcwflair\\\",\\n \\\"location\\\":{ \\n \\\"timezone\\\":\\\"America/New_York\\\",\\n \\\"country_code\\\":\\\"US\\\"\\n }\\n}\",\n CURLOPT_HTTPHEADER => array(\n \"content-type: application/json\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations get: summary: Get All Users description: "Returns all end users and includes profiles (minus connected devices) based on the organization ID. \n\nGET /organizations/:org_id/users?token=:token" operationId: get-all-user-profiles parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"data\": [\n {\n \"id\": \"59b02bdef758800001e13e8c\",\n \"uid\": \"vpt12345sp\",\n \"marketplace\": {\n \"token\": \"ae4fdfd364e42137af14b207e8efd5SAMPLE7b99e3e49361e6289701eb0d\",\n \"url\": \"https://syncmydevice.com?token=ae4fdfd364e42137af14b207SAMPLEbcdefaae7b99e3e49361e6289701eb0d\"\n },\n \"mobile\": {\n \"token\": \"facbce6ccdSAMPLE86800024ee0d96d2\"\n },\n \"location\": {\n \"timezone\": \"Asia/Kolkata\",\n \"country_code\": \"VG\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-09-06T17:09:50Z\",\n \"updated_at\": \"2017-12-01T05:24:24Z\"\n },\n {\n \"id\": \"59b0664cf758800001e13ea9\",\n \"uid\": \"277040620sol3\",\n \"marketplace\": {\n \"token\": \"ee889ef9d7fb7a9644c97ef969SAMPLEa0be23352bdee46a775c066ef0f890\",\n \"url\": \"https://syncmydevice.com?token=ee889ef9d7fb7a9644c97ef9d69b99c846a0be23352bdee46a775c066ef0f890\"\n },\n \"mobile\": {\n \"token\": \"7c001f84255SAMPLE18c168ba563035\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-09-06T21:19:08Z\",\n \"updated_at\": \"2017-09-06T21:19:08Z\"\n },\n {\n \"id\": \"59c2e19cf758800001bf2fb2\",\n \"uid\": \"277040620sol4\",\n \"marketplace\": {\n \"token\": \"d984f67288b84825115232dac3SAMPLE84449065cf74cfd51bb4df3de6a1053b\",\n \"url\": \"https://syncmydevice.com?token=d984f67288b84825115232dac302d75384449065cf74cfd51bb4df3de6a1053b\"\n },\n \"mobile\": {\n \"token\": \"505ce9bd93SAMPLEdf18e42872dff0b\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-09-20T21:46:04Z\",\n \"updated_at\": \"2017-09-22T16:44:32Z\"\n },\n {\n \"id\": \"59c539c0164f25000199c47d\",\n \"uid\": \"se178982\",\n \"marketplace\": {\n \"token\": \"55c28385e0f449d3de01ff5fd3c8SAMPLE4d8de5b95d6d98fa4524d5ea54b23\",\n \"url\": \"https://syncmydevice.com?token=55c28385e0f449d3de01ff5fd3SAMPLEc54d8de5b95d6d98fa4524d5ea54b23\"\n },\n \"mobile\": {\n \"token\": \"38152fSAMPLE7478ebc36a6be1d3256\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-09-22T16:26:40Z\",\n \"updated_at\": \"2017-09-22T16:26:40Z\"\n },\n {\n \"id\": \"59ca5d83f758800001bf312b\",\n \"uid\": \"se178981\",\n \"marketplace\": {\n \"token\": \"4b02ae8eea61598e789d70525400fSAMPLESAMPLEdfc11c1e6ea22a4aa6d926e24f74\",\n \"url\": \"https://syncmydevice.com?token=4b02ae8eea61598e789d70525SAMPLE292dfc11c1e6ea22a4aa6d926e24f74\"\n },\n \"mobile\": {\n \"token\": \"8b23389a32SAMPLE18e89528a56db9ac1\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-09-26T14:00:35Z\",\n \"updated_at\": \"2017-09-26T14:00:35Z\"\n },\n {\n \"id\": \"59ca83d6f758800001bf312f\",\n \"uid\": \"se17898331\",\n \"marketplace\": {\n \"token\": \"51df01284fe51fe109c16ebfb52SAMPLE57c3c4d11b8fc5a7c2e997f7227aab\",\n \"url\": \"https://syncmydevice.com?token=51df01284fe51fe109cSAMPLE923fcb57c3c4d11b8fc5a7c2e997f7227aab\"\n },\n \"mobile\": {\n \"token\": \"9096df475bSAMPLEa5bbb43812324b00\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-09-26T16:44:06Z\",\n \"updated_at\": \"2017-09-26T16:44:06Z\"\n },\n {\n \"id\": \"59f0e82c214197000182bf59\",\n \"uid\": \"mrm344ees4343eeks\",\n \"marketplace\": {\n \"token\": \"af64c6d8d66f048bb8ae4dSAMPLEa07912972a792308fb71ab368a7eb82ae7\",\n \"url\": \"https://syncmydevice.com?token=af64c6d8d66f048bb8aeSAMPLE07912972a792308fb71ab368a7eb82ae7\"\n },\n \"mobile\": {\n \"token\": \"0c708f770SAMPLE41ae54217b6eabe29d\"\n },\n \"location\": {\n \"timezone\": null,\n \"country_code\": null\n },\n \"status\": \"active\",\n \"created_at\": \"2017-10-25T19:38:20Z\",\n \"updated_at\": \"2017-12-28T19:33:05Z\"\n },\n {\n \"id\": \"59f9d8ca214197000169373e\",\n \"uid\": \"josdsde2322h\",\n \"marketplace\": {\n \"token\": \"0a365cc6d748cfd66df675588aSAMPLE26ab308ae27f06a958b0b47ffd2b30e\",\n \"url\": \"https://syncmydevice.com?token=0a365cc6d748cfd6SAMPLEdd001626ab308ae27f06a958b0b47ffd2b30e\"\n },\n \"mobile\": {\n \"token\": \"31a4b9110SAMPLE838fe61d9b41af14\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": null\n },\n \"status\": \"active\",\n \"created_at\": \"2017-11-01T14:23:06Z\",\n \"updated_at\": \"2017-11-01T17:01:18Z\"\n },\n {\n \"id\": \"59f9d90021419700018d407c\",\n \"uid\": \"jowrww334223st\",\n \"marketplace\": {\n \"token\": \"a126b4cf22c6bd5939ef27b9SAMPLEcfe6400725b879a772aecf3193eae8d9\",\n \"url\": \"https://syncmydevice.com?token=a126b4cf22c6bd5939ef27b9SAMPLEfe6400725b879a772aecf3193eae8d9\"\n },\n \"mobile\": {\n \"token\": \"bc45dfd559SAMPLE0bd6562a9adf3a487\"\n },\n \"location\": {\n \"timezone\": null,\n \"country_code\": null\n },\n \"status\": \"active\",\n \"created_at\": \"2017-11-01T14:24:00Z\",\n \"updated_at\": \"2017-11-01T14:24:00Z\"\n },\n {\n \"id\": \"5a145447214197000169392f\",\n \"uid\": \"277040620sol55\",\n \"marketplace\": {\n \"token\": \"3a341f3a92a01b005e92dc2dcdSAMPLE55d25ee8f7926153e43e445bf04cf9\",\n \"url\": \"https://syncmydevice.com?token=3a341f3a92a01b005e92dc2dcdSAMPLE9c055d25ee8f7926153e43e445bf04cf9\"\n },\n \"mobile\": {\n \"token\": \"fdc9537SAMPLE38857263265e5151c\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2017-11-21T16:28:55Z\",\n \"updated_at\": \"2017-11-21T16:28:55Z\"\n },\n {\n \"id\": \"5a6eac8e2141970001ca751a\",\n \"uid\": \"samw2242rqst\",\n \"marketplace\": {\n \"token\": \"67f32c74edcd220ce3cf6a726b01SAMPLEe1f1ec87200bf584da21ac01a8fec\",\n \"url\": \"https://syncmydevice.com?token=67f32c74edcd220ceSAMPLE6b0168343a1e1f1ec87200bf584da21ac01a8fec\"\n },\n \"mobile\": {\n \"token\": \"ed4ed17SAMPLEf7856f05300089a2ab\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"status\": \"active\",\n \"created_at\": \"2018-01-29T05:09:34Z\",\n \"updated_at\": \"2018-01-29T05:09:34Z\"\n }\n ],\n \"meta\": {\n \"offset\": 0,\n \"limit\": 25,\n \"total\": 11,\n \"sort\": [\n \"created_at ASC\"\n ]\n }\n}" schema: type: object properties: data: type: array items: type: object properties: id: type: string example: 59b02bdef758800001e13e8c uid: type: string example: vpt12345sp marketplace: type: object properties: token: type: string example: ae4fdfd364e42137af14b207e8efd5SAMPLE7b99e3e49361e6289701eb0d url: type: string example: https://syncmydevice.com?token=ae4fdfd364e42137af14b207SAMPLEbcdefaae7b99e3e49361e6289701eb0d mobile: type: object properties: token: type: string example: facbce6ccdSAMPLE86800024ee0d96d2 location: type: object properties: timezone: type: string example: Asia/Kolkata country_code: type: string example: VG status: type: string example: active created_at: type: string example: '2017-09-06T17:09:50Z' updated_at: type: string example: '2017-12-01T05:24:24Z' meta: type: object properties: offset: type: integer example: 0 default: 0 limit: type: integer example: 25 default: 0 total: type: integer example: 11 default: 0 sort: type: array items: type: string example: created_at ASC '404': description: '404' content: application/json: examples: Result: value: An error occurred and an error response has been sent with details. deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896' \\\n --header 'content-type: application/json'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["content-type"] = ''application/json'' response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} headers = {''content-type'': ''application/json''} response = requests.request("GET", url, headers=headers, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n CURLOPT_HTTPHEADER => array(\n \"content-type: application/json\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}?token={token}: get: summary: Get User Profile description: "Returns an end users profile and connected devices, based on the uid of the user for the organization. \n\nGET /organizations/:org_id/users/:uid?token=:token" operationId: get-user-profile parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: id: 59b02bdef758800001e13e8c uid: 277040620-sel marketplace: token: 4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929 url: https://syncmydevice.com/?token=4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929 mobile: token: facbce6ccd524cc68fdfd024ee0d96d2 location: timezone: America/New_York country_code: null sources: - type: strava connected_at: '2025-09-06T20:55:22Z' last_processed_at: '2025-10-06T20:55:22Z' - type: omron connected_at: '2025-09-06T18:42:31Z' last_processed_at: '2025-10-06T20:55:22Z' - type: ihealth connected_at: '2025-09-06T18:39:09Z' last_processed_at: '2025-10-06T20:55:22Z' - type: garmin connected_at: '2025-09-06T18:32:04Z' last_processed_at: '2025-10-06T20:55:22Z' - type: fitbit connected_at: '2025-09-06T18:23:10Z' last_processed_at: '2025-10-06T20:55:22Z' created_at: '2025-09-06T17:09:50Z' updated_at: '2025-09-06T18:35:19Z' schema: type: object properties: id: type: string example: 59b02bdef758800001e13e8c uid: type: string example: 277040620-sel marketplace: type: object properties: token: type: string example: 4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929 url: type: string example: https://syncmydevice.com/?token=4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929 mobile: type: object properties: token: type: string example: facbce6ccd524cc68fdfd024ee0d96d2 location: type: object properties: timezone: type: string example: America/New_York country_code: {} sources: type: array items: type: object properties: type: type: string example: strava connected_at: type: string example: '2017-09-06T20:55:22Z' last_processed_at: type: string example: '2017-10-06T20:55:22Z' created_at: type: string example: '2017-09-06T17:09:50Z' updated_at: type: string example: '2017-09-06T18:35:19Z' '404': description: '404' content: application/json: examples: Result: value: An error occurred and an error response has been sent with details. security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/?token=6f46db36dd6543d2b82d91698fcd0896' \\\n --header 'content-type: application/json'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) request["content-type"] = ''application/json'' response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} headers = {''content-type'': ''application/json''} response = requests.request("GET", url, headers=headers, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n CURLOPT_HTTPHEADER => array(\n \"content-type: application/json\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations put: summary: Update User description: 'Updates users profile information and return an id, uid, marketplace information, and created_at parameters for the user. PUT /organizations/:org_id/users/:uid/' operationId: update-user parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true requestBody: content: application/json: schema: type: object properties: timezone: type: array description: Used to populate timezone and country_code country_code: type: array responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"id\": \"597769108a5da500014a1fa8\",\n \"uid\": \"277040620-sel\",\n \"marketplace\": {\n \"token\": \"4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929\",\n \"url\": \"https://syncmydevice.com/?token=4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"sources\": [\n {\n \"type\": \"strava\",\n \"connected_at\": \"2017-07-26T18:49:24Z\",\n \"last_processed_at\": \"2017-10-06T20:55:22Z\"\n },\n {\n \"type\": \"misfit\",\n \"connected_at\": \"2017-07-25T15:57:30Z\",\n \"last_processed_at\": \"2017-10-06T20:55:22Z\"\n },\n {\n \"type\": \"withings\",\n \"connected_at\": \"2017-07-25T15:52:36Z\",\n \"last_processed_at\": \"2017-10-06T20:55:22Z\"\n },\n {\n \"type\": \"jawbone\",\n \"connected_at\": \"2017-07-25T15:52:16Z\",\n \"last_processed_at\": \"2017-10-06T20:55:22Z\"\n }\n ],\n \"created_at\": \"2017-07-25T15:51:44Z\",\n \"updated_at\": \"2017-07-25T15:51:44Z\"\n}" schema: type: object properties: id: type: string example: 597769108a5da500014a1fa8 uid: type: string example: 277040620-sel marketplace: type: object properties: token: type: string example: 4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929 url: type: string example: https://syncmydevice.com/?token=4deee4c7c81e9b652d22c8999beaf7c972daa513c6cf6aaa6af636f8117bf929 location: type: object properties: timezone: type: string example: America/New_York country_code: type: string example: US sources: type: array items: type: object properties: type: type: string example: strava connected_at: type: string example: '2017-07-26T18:49:24Z' last_processed_at: type: string example: '2017-10-06T20:55:22Z' created_at: type: string example: '2017-07-25T15:51:44Z' updated_at: type: string example: '2017-07-25T15:51:44Z' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: application/json: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl -X PUT \\\n 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel?token=6f46db36dd6543d2b82d91698fcd0896' \\\n -H 'cache-control: no-cache' \\\n -H 'content-type: application/json' \\\n -H 'postman-token: 2d101c97-769c-39a1-13b6-f49a0895ee11' \\\n -d '{\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n }\n}\n'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Put.new(url) request["content-type"] = ''application/json'' request["cache-control"] = ''no-cache'' request["postman-token"] = ''d7ca6024-b749-0057-7372-287379565566'' request.body = "{\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n }\n}\n" response = http.request(request) puts response.read_body' - language: python code: "import http.client\n\nconn = http.client.HTTPSConnection(\"api.v2.validic.com\")\n\npayload = \"{\\n \\\"location\\\": {\\n \\\"timezone\\\": \\\"America/New_York\\\",\\n \\\"country_code\\\": \\\"US\\\"\\n }\\n}\\n\"\n\nheaders = {\n 'content-type': \"application/json\",\n 'cache-control': \"no-cache\",\n 'postman-token': \"4ae61f50-78a1-cf25-0ae9-2c6e6b082f05\"\n }\n\nconn.request(\"PUT\", \"/organizations/597752338a5da500014a1f9a/users/277040620-sel?token=6f46db36dd6543d2b82d91698fcd0896\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))" - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\tpayload := strings.NewReader(\"{\\n \\\"location\\\": {\\n \\\"timezone\\\": \\\"America/New_York\\\",\\n \\\"country_code\\\": \\\"US\\\"\\n }\\n}\\n\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"cache-control\", \"no-cache\")\n\treq.Header.Add(\"postman-token\", \"c7d2110a-a568-3e89-a482-59a9ff30d3f7\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: "setUrl('https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel');\n$request->setMethod(HTTP_METH_PUT);\n\n$request->setQueryData(array(\n 'token' => '6f46db36dd6543d2b82d91698fcd0896'\n));\n\n$request->setHeaders(array(\n 'postman-token' => '5869bff7-ecc2-be4d-c8d4-9e2c51f8fab4',\n 'cache-control' => 'no-cache',\n 'content-type' => 'application/json'\n));\n\n$request->setBody('{\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n }\n}\n');\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}" - language: http code: "PUT /organizations/597752338a5da500014a1f9a/users/277040620-sel?token=6f46db36dd6543d2b82d91698fcd0896 HTTP/1.1\nHost: api.v2.validic.com\nContent-Type: application/json\nCache-Control: no-cache\nPostman-Token: 1eee6c40-8268-6661-3bf7-3b9ba5d10a95\n\n{\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n }\n}" samples-languages: - curl - ruby - python - go - php - http tags: - Organizations delete: summary: Delete User description: "Deletes a user. Deleting a user will permanently remove user data access. Per HIPAA guidelines, data is retained for 7 years and is available upon special request. \n\nDELETE /organizations/:org_id/users/:uid?token=:token" operationId: delete-user parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"id\": \"598518fd8a5da50001578157\",\n \"uid\": \"277040620-wcwflair\",\n \"marketplace\": {\n \"token\": \"c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47\",\n \"url\": \"https://syncmydevice.com/?token=c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47\"\n },\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n },\n \"sources\": [],\n \"created_at\": \"2017-08-05T01:01:49Z\",\n \"updated_at\": \"2017-08-05T01:01:49Z\",\n \"deleted_at\": \"2017-08-05T01:16:23Z\"\n}" schema: type: object properties: id: type: string example: 598518fd8a5da50001578157 uid: type: string example: 277040620-wcwflair marketplace: type: object properties: token: type: string example: c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47 url: type: string example: https://syncmydevice.com/?token=c7ff3922e30c048f6e2fbd099ee1358d5871e3861419c16d195b0fc313b09c47 location: type: object properties: timezone: type: string example: America/New_York country_code: type: string example: US sources: type: array items: type: object properties: {} created_at: type: string example: '2017-08-05T01:01:49Z' updated_at: type: string example: '2017-08-05T01:01:49Z' deleted_at: type: string example: '2017-08-05T01:16:23Z' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: application/json: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials '404': description: '404' content: application/json: examples: Result: value: "{\n \"errors\": [\n \"not found\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: not found deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl --request DELETE \\\n --url 'https://api.v2.validic.com/organizations//597752338a5da500014a1f9a/users/277040620-wcwflair?token=6f46db36dd6543d2b82d91698fcd0896' \\\n --header 'content-type: application/json'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations//597752338a5da500014a1f9a/users/277040620-wcwflair?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Delete.new(url) request["content-type"] = ''application/json'' response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations//597752338a5da500014a1f9a/users/277040620-wcwflair" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} payload = "" headers = {''content-type'': ''application/json''} response = requests.request("DELETE", url, data=payload, headers=headers, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations//597752338a5da500014a1f9a/users/277040620-wcwflair?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations//597752338a5da500014a1f9a/users/277040620-wcwflair?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"DELETE\",\n CURLOPT_POSTFIELDS => \"\",\n CURLOPT_HTTPHEADER => array(\n \"content-type: application/json\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}/marketplace?token={token}: post: summary: Refresh Marketplace Token description: 'Generates a new Marketplace token and URL for the user. A user''s existing connected sources are not impacted. Any previous Marketplace tokens or URLs persisted by the customer will need to be updated. POST /organizations/:org_id/users/:uid/marketplace?token=:token' operationId: generate-new-marketplace-token parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '201': description: '201' content: application/json: examples: Result: value: "{\n \"marketplace\": {\n \"token\": \"17f3aa037e431cc9bc40a94393d38d108d344e7a1bb0a057dbe2359cef8bcd31\",\n \"url\": \"https://syncmydevice.com/?token=17f3aa037e431cc9bc40a94393d38d108d344e7a1bb0a057dbe2359cef8bcd31\"\n }\n}" schema: type: object properties: marketplace: type: object properties: token: type: string example: 17f3aa037e431cc9bc40a94393d38d108d344e7a1bb0a057dbe2359cef8bcd31 url: type: string example: https://syncmydevice.com/?token=17f3aa037e431cc9bc40a94393d38d108d344e7a1bb0a057dbe2359cef8bcd31 '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl --request POST \\\n --url 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/marketplace?token=6f46db36dd6543d2b82d91698fcd0896' \\\n --header 'content-type: application/json'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/marketplace?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) request["content-type"] = ''application/json'' response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/marketplace" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} payload = "" headers = {''content-type'': ''application/json''} response = requests.request("POST", url, data=payload, headers=headers, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/marketplace?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/marketplace?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"POST\",\n CURLOPT_POSTFIELDS => \"\",\n CURLOPT_HTTPHEADER => array(\n \"content-type: application/json\"\n ),\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" - language: http code: "PUT /organizations/597752338a5da500014a1f9a/users/277040620-sel?token=6f46db36dd6543d2b82d91698fcd0896 HTTP/1.1\nHost: api.v2.validic.com\nContent-Type: application/json\nCache-Control: no-cache\nPostman-Token: 1eee6c40-8268-6661-3bf7-3b9ba5d10a95\n\n{\n \"location\": {\n \"timezone\": \"America/New_York\",\n \"country_code\": \"US\"\n }\n}" samples-languages: - curl - ruby - python - go - php - http tags: - Organizations /organizations/{org_id}/users/{uid}/summaries?token={token}: get: summary: Summaries description: 'Returns a list of summaries for a given user. GET /organizations/:org_id/users/:uid/summaries' operationId: summaries parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=fitbit,garmin” or “...?source=fitbit”' schema: type: string - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: data: - category: daily checksum: 3dc1a50e1c7043578bcef544adc71675 created_at: '2026-04-19T16:48:10.059Z' deleted_at: null end_time: '2026-04-20T04:59:59Z' id: 407bef9cff3SAMPLEbecc8f0f76c434 log_id: '2026-04-19' metrics: - type: active_duration origin: device unit: s value: 2820 - type: fairly_active_duration origin: device unit: s value: 660 - type: lightly_active_duration origin: device unit: s value: 3300 - type: very_active_duration origin: device unit: s value: 2160 - type: active_energy_burned origin: device unit: kcal value: 809 - type: basal_energy_burned origin: device unit: kcal value: 993 - type: distance origin: device unit: m value: 4390 - type: energy_burned origin: device unit: kcal value: 1686 - type: steps origin: device unit: count value: 6392 - type: heart_rate_zone_very_low origin: device unit: s value: 8400 - type: heart_rate_zone_low origin: device unit: s value: 5220 - type: heart_rate_zone_medium origin: device unit: s value: 1500 - type: heart_rate_zone_high origin: device unit: s value: 0 - type: resting_heart_rate origin: device unit: bpm value: 70 offset_origin: profile segments: [] source: type: fitbit device: null start_time: '2026-04-19T05:00:00Z' tags: [] type: summary user: organization_id: 597752338a5da500014a1f9a user_id: 5c1003SAMPLE0012a6fc1 uid: 277040620-sel user_notes: [] utc_offset: -18000 version: '1.0' schema: type: object properties: data: type: array items: type: object properties: category: type: string example: daily checksum: type: string example: 3dc1a50e1c7043578bcef544adc71675 created_at: type: string example: '2019-12-19T16:48:10.059Z' deleted_at: {} end_time: type: string example: '2019-12-20T04:59:59Z' id: type: string example: 407bef9cff3SAMPLEbecc8f0f76c434 log_id: type: string example: '2019-12-19' metrics: type: array items: type: object properties: type: type: string example: active_duration origin: type: string example: device unit: type: string example: s value: type: integer example: 2820 default: 0 offset_origin: type: string example: profile segments: type: array items: type: object properties: {} source: type: object properties: type: type: string example: fitbit device: {} start_time: type: string example: '2019-12-19T05:00:00Z' tags: type: array items: type: object properties: {} type: type: string example: summary user: type: object properties: organization_id: type: string example: 597752338a5da500014a1f9a user_id: type: string example: 5c1003SAMPLE0012a6fc1 uid: type: string example: 277040620-sel user_notes: type: array items: type: object properties: {} utc_offset: type: integer example: -18000 default: 0 version: type: string example: '1.0' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/summaries?start_date=2026-03-29&token=6f46db36dd6543d2b82d91698fcd0896'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/summaries?start_date=2026-03-29&token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/summaries" querystring = {"start_date":"2026-03-29","token":"6f46db36dd6543d2b82d91698fcd0896"} response = requests.request("GET", url, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/summaries?start_date=2026-03-29&token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/summaries?start_date=2026-03-29&token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}/measurements?token={token}: get: summary: Measurements description: "Returns a list of measurements for a given user \n\nGET /organizations/:org_id/users/:uid/measurements" operationId: measurements parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=fitbit,garmin” or “...?source=fitbit”' schema: type: string - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: data: - checksum: 11c7c5a7833f3ea41fd3fc173544fe3e created_at: '2026-03-11T17:06:09.473Z' deleted_at: null end_time: '2026-03-10T03:59:59Z' id: 3af2f56dSAMPLE39ec002d3d1f2ffd5 log_id: '1568073599000' metrics: - type: body_weight origin: unknown unit: kg value: 130.2 - type: bmi origin: unknown unit: kg/m2 value: 44.96 offset_origin: profile source: type: fitbit device: null start_time: '2026-03-10T03:59:59Z' tags: [] type: measurement user: organization_id: 59b02bbdfSample0001e13e75 user_id: 59b02bdeSAMPLE0001e13e8c uid: vpt12345sp user_notes: [] utc_offset: -14400 version: '1.0' - checksum: b70c984c9ec56eb631e71b27d615a299 created_at: '2026-03-24T16:22:16.010Z' deleted_at: null end_time: '2026-03-24T16:21:00Z' id: 702d5fc3SAMPLE1517279486e245d5 log_id: '1616804489' metrics: - type: diastolic origin: manual unit: mmHg value: 75 - type: systolic origin: manual unit: mmHg value: 137 - type: pulse origin: manual unit: bpm value: 55 offset_origin: source source: type: nokia device: null start_time: '2026-03-24T16:21:00Z' tags: [] type: measurement user: organization_id: 59b02bbdfSample0001e13e75 user_id: 59b02bdeSAMPLE0001e13e8c uid: vpt12345sp user_notes: [] utc_offset: -14400 version: '1.0' - checksum: d8346c70a16d728f265d0ec0adb76b46 created_at: '2026-03-24T16:21:59.634Z' deleted_at: null end_time: '2026-03-24T16:21:43Z' id: 5d4c89623fdSAMPLEe8d98b604a387 log_id: '1616804353' metrics: - type: pulse origin: device unit: bpm value: 55 offset_origin: source source: type: nokia device: null start_time: '2026-03-24T16:21:43Z' tags: [] type: measurement user: organization_id: 59b02bbdfSample0001e13e75 user_id: 59b02bdeSAMPLE0001e13e8c uid: vpt12345sp user_notes: [] utc_offset: -14400 version: '1.0' schema: type: object properties: data: type: array items: type: object properties: checksum: type: string example: 11c7c5a7833f3ea41fd3fc173544fe3e created_at: type: string example: '2019-10-11T17:06:09.473Z' deleted_at: {} end_time: type: string example: '2019-09-10T03:59:59Z' id: type: string example: 3af2f56dSAMPLE39ec002d3d1f2ffd5 log_id: type: string example: '1568073599000' metrics: type: array items: type: object properties: type: type: string example: body_weight origin: type: string example: unknown unit: type: string example: kg value: type: number example: 130.2 default: 0 offset_origin: type: string example: profile source: type: object properties: type: type: string example: fitbit device: {} start_time: type: string example: '2019-09-10T03:59:59Z' tags: type: array items: type: object properties: {} type: type: string example: measurement user: type: object properties: organization_id: type: string example: 59b02bbdfSample0001e13e75 user_id: type: string example: 59b02bdeSAMPLE0001e13e8c uid: type: string example: vpt12345sp user_notes: type: array items: type: object properties: {} utc_offset: type: integer example: -14400 default: 0 version: type: string example: '1.0' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/59b02bbdfSample0001e13e75/users/vpt12345sp/measurements?token=6f46db36d54sample91698fcd0896'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/measurements?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/measurements" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} response = requests.request("GET", url, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/measurements?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/measurements?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}/nutrition?token={token}: get: summary: Nutrition description: 'Returns a list of nutrition for specified user GET /organizations/:org_id/users/:uid/nutrition' operationId: nutrition parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=fitbit,garmin” or “...?source=fitbit”' schema: type: string - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: data: - category: other checksum: fa410e0f007ca9d73533a36149559dc4 created_at: '2026-01-16T17:10:44.370Z' deleted_at: null end_time: '2026-01-17T04:59:59Z' id: a08a2a394Samplea47ef43802 log_id: '2026-01-16' metrics: - type: energy_consumed origin: unknown unit: kcal value: 1963 - type: dietary_fiber origin: unknown unit: g value: 14.94 - type: water origin: unknown unit: mL value: 0 - type: carbohydrate origin: unknown unit: g value: 225.46 - type: fat origin: unknown unit: g value: 94.13 - type: protein origin: unknown unit: g value: 81.04 - type: sodium origin: unknown unit: mg value: 3101.43 name: Unknown offset_origin: profile segments: - name: Breakfast Summary metrics: - type: energy_consumed origin: unknown unit: kcal value: 338 - type: dietary_fiber origin: unknown unit: g value: 0 - type: carbohydrate origin: unknown unit: g value: 0.5 - type: fat origin: unknown unit: g value: 14.31 - type: protein origin: unknown unit: g value: 6.2 - type: sodium origin: unknown unit: mg value: 405.77 food: - name: Toast, Whole Wheat brand: La Cena metrics: - type: energy_consumed origin: unknown unit: kcal value: 70 serving: amount: 2 unit_name: piece - name: Bacon brand: '' metrics: - type: energy_consumed origin: unknown unit: kcal value: 158 - type: dietary_fiber origin: unknown unit: g value: 0 - type: carbohydrate origin: unknown unit: g value: 0.5 - type: fat origin: unknown unit: g value: 14.31 - type: protein origin: unknown unit: g value: 6.2 - type: sodium origin: unknown unit: mg value: 405.77 serving: amount: 2 unit_name: slice - name: Orange Juice brand: Simply Orange metrics: - type: energy_consumed origin: unknown unit: kcal value: 110 serving: amount: 8 unit_name: fl oz - name: Lunch Summary metrics: - type: energy_consumed origin: unknown unit: kcal value: 767 - type: dietary_fiber origin: unknown unit: g value: 4.69 - type: carbohydrate origin: unknown unit: g value: 50.26 - type: fat origin: unknown unit: g value: 22.85 - type: protein origin: unknown unit: g value: 5.04 - type: sodium origin: unknown unit: mg value: 259.96 food: - name: Chick-fil-A Nuggets, 6-Count brand: Chick-Fil-A metrics: - type: energy_consumed origin: unknown unit: kcal value: 190 serving: amount: 6 unit_name: nugget - name: Pepsi Cola brand: Pepsi metrics: - type: energy_consumed origin: unknown unit: kcal value: 150 serving: amount: 12 unit_name: fl oz - name: French Fries brand: '' metrics: - type: energy_consumed origin: unknown unit: kcal value: 427 - type: dietary_fiber origin: unknown unit: g value: 4.69 - type: carbohydrate origin: unknown unit: g value: 50.26 - type: fat origin: unknown unit: g value: 22.85 - type: protein origin: unknown unit: g value: 5.04 - type: sodium origin: unknown unit: mg value: 259.96 serving: amount: 1 unit_name: medium - name: Dinner Summary metrics: - type: energy_consumed origin: unknown unit: kcal value: 718 - type: dietary_fiber origin: unknown unit: g value: 5.25 - type: carbohydrate origin: unknown unit: g value: 63.7 - type: fat origin: unknown unit: g value: 39.980000000000004 - type: protein origin: unknown unit: g value: 41.8 - type: sodium origin: unknown unit: mg value: 1500.7 food: - name: Baked Potato brand: '' metrics: - type: energy_consumed origin: unknown unit: kcal value: 259 - type: dietary_fiber origin: unknown unit: g value: 5.25 - type: carbohydrate origin: unknown unit: g value: 48.2 - type: fat origin: unknown unit: g value: 14.5 - type: protein origin: unknown unit: g value: 6.5 - type: sodium origin: unknown unit: mg value: 841.2 serving: amount: 1 unit_name: serving - name: Green Beans, Cut brand: Green Giant metrics: - type: energy_consumed origin: unknown unit: kcal value: 30 serving: amount: 0 unit_name: cup - name: Milk brand: '' metrics: - type: energy_consumed origin: unknown unit: kcal value: 184 - type: dietary_fiber origin: unknown unit: g value: 0 - type: carbohydrate origin: unknown unit: g value: 15.5 - type: fat origin: unknown unit: g value: 8.48 - type: protein origin: unknown unit: g value: 12 - type: sodium origin: unknown unit: mg value: 159.5 serving: amount: 1 unit_name: serving - name: Chicken, Roasted brand: '' metrics: - type: energy_consumed origin: unknown unit: kcal value: 245 - type: dietary_fiber origin: unknown unit: g value: 0 - type: carbohydrate origin: unknown unit: g value: 0 - type: fat origin: unknown unit: g value: 17 - type: protein origin: unknown unit: g value: 23.3 - type: sodium origin: unknown unit: mg value: 500 serving: amount: 100 unit_name: gram - name: Snack Summary metrics: - type: energy_consumed origin: unknown unit: kcal value: 140 food: - name: Breyers Chocolate Ice Cream brand: Domino's metrics: - type: energy_consumed origin: unknown unit: kcal value: 140 serving: amount: 0 unit_name: cup source: type: fitbit device: null start_time: '2026-01-16T05:00:00Z' tags: [] type: nutrition user: organization_id: 59775233sample014a1f9a user_id: 5dcf7145Sample0001b11f51 uid: ewdw08420ds user_notes: [] utc_offset: -18000 version: '1.0' schema: type: object properties: data: type: array items: type: object properties: category: type: string example: other checksum: type: string example: fa410e0f007ca9d73533a36149559dc4 created_at: type: string example: '2020-01-16T17:10:44.370Z' deleted_at: {} end_time: type: string example: '2020-01-17T04:59:59Z' id: type: string example: a08a2a394Samplea47ef43802 log_id: type: string example: '2020-01-16' metrics: type: array items: type: object properties: type: type: string example: energy_consumed origin: type: string example: unknown unit: type: string example: kcal value: type: integer example: 1963 default: 0 name: type: string example: Unknown offset_origin: type: string example: profile segments: type: array items: type: object properties: name: type: string example: Breakfast Summary metrics: type: array items: type: object properties: type: type: string example: energy_consumed origin: type: string example: unknown unit: type: string example: kcal value: type: integer example: 338 default: 0 food: type: array items: type: object properties: name: type: string example: Toast, Whole Wheat brand: type: string example: La Cena metrics: type: array items: type: object properties: type: type: string example: energy_consumed origin: type: string example: unknown unit: type: string example: kcal value: type: integer example: 70 default: 0 serving: type: object properties: amount: type: integer example: 2 default: 0 unit_name: type: string example: piece source: type: object properties: type: type: string example: fitbit device: {} start_time: type: string example: '2020-01-16T05:00:00Z' tags: type: array items: type: object properties: {} type: type: string example: nutrition user: type: object properties: organization_id: type: string example: 59775233sample014a1f9a user_id: type: string example: 5dcf7145Sample0001b11f51 uid: type: string example: ewdw08420ds user_notes: type: array items: type: object properties: {} utc_offset: type: integer example: -18000 default: 0 version: type: string example: '1.0' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/59775233sample014a1f9a/users/ewdw08420ds/nutrition?token=6f46db36dd6543d2b82d91698fcd0896'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/nutrition?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/nutrition" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} response = requests.request("GET", url, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/nutrition?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/nutrition?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}/intraday?token={token}: get: summary: Intraday description: 'Returns a list of time series activity data for a given user. GET /organizations/:org_id/users/:uid/intraday' operationId: intraday-2 parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=fitbit,garmin” or “...?source=dexcom”' schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "\"data\": [\n {\n \"checksum\": \"a2a82dea4dc0668a361a5f4695ff41fb\",\n \"created_at\": \"2026-03-17T19:53:37.632Z\",\n \"deleted_at\": null,\n \"end_time\": \"2026-03-17T16:35:11Z\",\n \"granularity\": {\n \"interval\": 5,\n \"unit\": \"min\"\n },\n \"id\": \"7f9e3d58fbfe5aa7f106cba2178c3e28\",\n \"log_id\": \"b5846a9a9e42c29dadee8c72e1f37704\",\n \"metrics\": [\n {\n \"type\": \"blood_glucose\",\n \"origin\": \"device\",\n \"unit\": \"mg/dL\",\n \"data_points\": [\n {\n \"value\": 125,\n \"time\": \"2026-03-17T16:35:11Z\"\n },\n {\n \"value\": 125,\n \"time\": \"2026-03-17T16:30:11Z\"\n },\n {\n \"value\": 122,\n \"time\": \"2026-03-17T16:25:10Z\"\n },\n {\n \"value\": 120,\n \"time\": \"2026-03-17T16:20:10Z\"\n },\n {\n \"value\": 120,\n \"time\": \"2026-03-17T16:15:11Z\"\n },\n {\n \"value\": 123,\n \"time\": \"2026-03-17T16:10:11Z\"\n },\n {\n \"value\": 123,\n \"time\": \"2026-03-17T16:05:10Z\"\n },\n {\n \"value\": 122,\n \"time\": \"2026-03-17T16:00:10Z\"\n },\n {\n \"value\": 122,\n \"time\": \"2026-03-17T15:55:11Z\"\n }\n ]\n }\n ],\n \"offset_origin\": \"user_defined\",\n \"source\": {\n \"type\": \"dexcom\",\n \"device\": null\n },\n \"start_time\": \"2026-03-17T15:55:11Z\",\n \"type\": \"intraday\",\n \"user\": {\n \"organization_id\": \"59ba7cdSAMPLE001c29216\",\n \"user_id\": \"5bb4d8e1sample012409f5\",\n \"uid\": \"277040620-sel\"\n },\n \"utc_offset\": -25200,\n \"version\": \"1.0\"\n }," '400': description: '400' content: application/json: examples: Result: value: Indicates that there was an error with request '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: text/plain: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/59ba7cdSAMPLE001c29216/users/277040620-sel/intraday?start_date=2018-10-17&token=d330c6f543da460890d193ef0b6fa9fe'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/59ba7cdaf758800001c29216/users/277040620-sel/intraday?start_date=2018-10-14&token=d330c6f543da460890d193ef0b6fa9fe") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/59ba7cdaf758800001c29216/users/277040620-sel/intraday" querystring = {"start_date":"2018-10-14","token":"d330c6f543da460890d193ef0b6fa9fe"} response = requests.request("GET", url, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/59ba7cdaf758800001c29216/users/277040620-sel/intraday?start_date=2018-10-14&token=d330c6f543da460890d193ef0b6fa9fe\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/59ba7cdaf758800001c29216/users/277040620-sel/intraday?start_date=2018-10-14&token=d330c6f543da460890d193ef0b6fa9fe\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}/cgm?token={token}: get: summary: CGM description: Returns a list of time series CGM data for a given user. operationId: cgm parameters: - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=abbott,dexcom” or “...?source=dexcom”' schema: type: string - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: type: cgm checksum: 51502ff934e3b47b3df8284494f814b8 created_at: '2026-03-05T18:23:33.220Z' deleted_at: null end_time: '2026-03-04T23:59:59Z' id: 7db302193cc6b9b80405f189be67b9c8 log_id: '2026-03-04' metrics: - origin: device type: blood_glucose unit: mg/dL reading_log: - time: '2026-03-04T01:04:48Z' value: 204 display_time: '2026-03-04T07:04:48-08:00' scheduled: true device_id: cdb4f8eea4392295413c64... - time: '2026-03-04T01:09:48Z' value: 197 display_time: '2026-03-04T07:09:48-08:00' scheduled: true device_id: 69bbc1b66cfe49597c5eff1376... source: type: dexcom devices: cdb4f8eea4392295413c64...: id: cdb4f8eea4392295413c64... manufacturer: Dexcom model: G7 69bbc1b66cfe49597c5eff1376...: id: 69bbc1b66cfe49597c5eff1376... manufacturer: Dexcom model: G7 start_time: '2026-03-04T00:00:00Z' tags: [] user: organization_id: 6584a3e40f32d5000fc254a7 uid: 7fd835687f1f41ed8b125ca0ebfeaeb8 user_id: 66be73022d30800011ae066e user_notes: [] utc_offset: -18000 offset_origin: user_defined version: '1.0' schema: type: object properties: type: type: string example: cgm checksum: type: string example: 51502ff934e3b47b3df8284494f814b8 created_at: type: string example: '2024-09-05T18:23:33.220Z' deleted_at: {} end_time: type: string example: '2024-09-04T23:59:59Z' id: type: string example: 7db302193cc6b9b80405f189be67b9c8 log_id: type: string example: '2024-09-04' metrics: type: array items: type: object properties: origin: type: string example: device type: type: string example: blood_glucose unit: type: string example: mg/dL reading_log: type: array items: type: object properties: time: type: string example: '2024-09-04T01:04:48Z' value: type: integer example: 204 default: 0 display_time: type: string example: '2024-09-04T07:04:48-08:00' scheduled: type: boolean example: true default: true device_id: type: string example: cdb4f8eea4392295413c64... source: type: object properties: type: type: string example: dexcom devices: type: object properties: cdb4f8eea4392295413c64...: type: object properties: id: type: string example: cdb4f8eea4392295413c64... manufacturer: type: string example: Dexcom model: type: string example: G7 69bbc1b66cfe49597c5eff1376...: type: object properties: id: type: string example: 69bbc1b66cfe49597c5eff1376... manufacturer: type: string example: Dexcom model: type: string example: G7 start_time: type: string example: '2024-09-04T00:00:00Z' tags: type: array items: type: object properties: {} user: type: object properties: organization_id: type: string example: 6584a3e40f32d5000fc254a7 uid: type: string example: 7fd835687f1f41ed8b125ca0ebfeaeb8 user_id: type: string example: 66be73022d30800011ae066e user_notes: type: array items: type: object properties: {} utc_offset: type: integer example: -18000 default: 0 offset_origin: type: string example: user_defined version: type: string example: '1.0' '400': description: '400' content: application/json: examples: Result: value: Indicates that there was an error with request '401': description: '401' content: application/json: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/59ba7cdSAMPLE001c29216/users/277040620-sel/cgm?start_date=2018-10-17&token=d330c6f543da460890d193ef0b6fa9fe'" samples-languages: - curl tags: - Organizations /organizations/{org_id}/connections?token={token}: get: summary: Get Connection Events By OrgID description: '' operationId: get-connection-events-by-orgid parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve connection data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to connection user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "\"connections\": [\n {\n \"action\": \"create\",\n \t\"id\": \"5e998abf2b6960a007592dbfda106644\",\n\t\t\t\t\t\t\"source\": {\n \"type\": \"tenovi\"\n },\n \"user\": {\n \"user_id\": \"648cb24d949c76000fb93eb0\",\n \"uid\": \"test1\",\n \"organization_id\": \"60c76d42c31ed7000192642e\"\n },\n \"created_at\": \"2025-06-04T16:53:12.292Z\",\n \"event_time\": \"2025-06-04T16:53:12.292Z\",\n \"deleted_at\": null,\n \"deleted_reason\": null\n },\n {\n \t\"action\": \"create\",\n\t\t\t\t\t\t\"id\": \"7e998abf2b6960a007592dbfda103214\",\n \"source\": {\n \"type\": \"stel\"\n },\n \"user\": {\n \"user_id\": \"6750ae52afd5260011dca633\",\n \"uid\": \"test2\",\n \"organization_id\": \"60c76d42c31ed7000192642e\"\n },\n \"created_at\": \"2025-06-10T18:56:34.583Z\",\n \"event_time\": \"2025-06-10T18:56:34.583Z\",\n \"deleted_at\": null,\n \"deleted_reason\": null\n },\n {\n \t\t\"action\": \"delete\",\n\t\t\t\t\t\t\"id\": \"3e998abf2b6960a007592dbfda188907\",\n \"source\": {\n \"type\": \"stel\"\n },\n \"user\": {\n \"user_id\": \"6750ae52afd5260011dca633\",\n \"uid\": \"test2\",\n \"organization_id\": \"60c76d42c31ed7000192642e\"\n },\n \"created_at\": \"2025-06-10T18:56:34.583Z\",\n \"event_time\": \"2025-06-10T18:56:37.368Z\",\n \"deleted_at\": \"2025-06-10T18:56:37.368Z\",\n \"deleted_reason\": \"User manually disconnected\"\n }\n ],\n \"meta\": {\n \"limit\": 25,\n \"page\": 0,\n \"total\": 3\n }\n}" '400': description: '400' content: text/plain: examples: Result: value: Indicates that there was an error with request '401': description: '401' content: application/json: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials security: [] tags: - Organizations /organizations/{org_id}/unified_sources?token={token}: get: summary: Get Sources By OrgID description: '' operationId: get-sources-by-orgid responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Organizations /organizations/{org_id}/users/{uid}/unified_sources?token={token}: get: summary: Get Sources By UserID description: '' operationId: get-sources-by-userid responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Organizations /organizations/{org_id}/users/{uid}/workouts?token={token}: get: summary: Workouts description: "Returns a list of workouts for a given user. \n\nGET /organizations/:org_id/users/:uid/workouts" operationId: workouts parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=fitbit,garmin” or “...?source=fitbit”' schema: type: string - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: data: - category: other checksum: e8bea2cb19e0eec6c65f4e983ae8246a created_at: '2026-03-19T16:48:08.557Z' deleted_at: null end_time: '2026-03-19T11:00:05Z' id: 93f93f0bSAMPLE8d3c650cbb8249a log_id: '27505018834' metrics: - type: active_duration origin: device unit: s value: 2407 - type: steps origin: device unit: count value: 3638 - type: energy_burned origin: device unit: kcal value: 460 - type: avg_heart_rate origin: device unit: bpm value: 122 - type: heart_rate_zone_high origin: device unit: s value: 0 - type: heart_rate_zone_low origin: device unit: s value: 960 - type: heart_rate_zone_medium origin: device unit: s value: 1500 - type: heart_rate_zone_very_low origin: device unit: s value: 0 - type: fairly_active_duration origin: device unit: s value: 360 - type: lightly_active_duration origin: device unit: s value: 0 - type: very_active_duration origin: device unit: s value: 2100 name: Elliptical offset_origin: profile segments: [] source: type: fitbit device: null start_time: '2026-03-19T10:19:58Z' tags: [] type: workout user: organization_id: 59ba7cdaf758800001c29216 user_id: 5c100SAMPLE9700012a6fc1 uid: 277040620-sel user_notes: [] utc_offset: -18000 version: '1.0' schema: type: object properties: data: type: array items: type: object properties: category: type: string example: other checksum: type: string example: e8bea2cb19e0eec6c65f4e983ae8246a created_at: type: string example: '2019-12-19T16:48:08.557Z' deleted_at: {} end_time: type: string example: '2019-12-19T11:00:05Z' id: type: string example: 93f93f0bSAMPLE8d3c650cbb8249a log_id: type: string example: '27505018834' metrics: type: array items: type: object properties: type: type: string example: active_duration origin: type: string example: device unit: type: string example: s value: type: integer example: 2407 default: 0 name: type: string example: Elliptical offset_origin: type: string example: profile segments: type: array items: type: object properties: {} source: type: object properties: type: type: string example: fitbit device: {} start_time: type: string example: '2019-12-19T10:19:58Z' tags: type: array items: type: object properties: {} type: type: string example: workout user: type: object properties: organization_id: type: string example: 59ba7cdaf758800001c29216 user_id: type: string example: 5c100SAMPLE9700012a6fc1 uid: type: string example: 277040620-sel user_notes: type: array items: type: object properties: {} utc_offset: type: integer example: -18000 default: 0 version: type: string example: '1.0' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/workouts?token=6f46db36dd6543d2b82d91698fcd0896'" - language: ruby code: 'require ''uri'' require ''net/https'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/workouts?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["content-type"] = ''application/json'' response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/workouts" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} response = requests.request("GET", url, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/workouts?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/277040620-sel/workouts?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/users/{uid}/sleep?token={token}: get: summary: Sleep description: 'Returns a list of sleep records for a given user GET /organizations/:org_id/users/:uid/sleep' operationId: sleep parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: uid in: path description: The UID you defined when provisioning the client. schema: type: string required: true - name: start_date in: query description: 'The start date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: end_date in: query description: 'The end date to retrieve user data for. Format: YYYY-MM-DD. Default is current UTC day. Max date range is 30 days.' schema: type: string - name: source in: query description: 'Used to filter records to source(s). Example: “...?source=fitbit,garmin” or “...?source=fitbit”' schema: type: string - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: data: - checksum: 94fa73326faabeefc2382978ce806330 created_at: '2026-01-16T12:41:42.352Z' deleted_at: null end_time: '2026-01-16T12:39:00Z' id: 87736f14SAMPLE644f884fae9895fe log_id: '1579160100' metrics: - type: rem_sleep origin: unknown unit: s value: 1620 - type: awake_duration origin: unknown unit: s value: 2880 - type: light_sleep origin: unknown unit: s value: 6600 - type: deep_sleep origin: unknown unit: s value: 7140 - type: awake_count origin: unknown unit: count value: 0 - type: time_to_fall_asleep origin: unknown unit: s value: 2160 - type: sleep_duration origin: unknown unit: s value: 15360 offset_origin: source source: type: nokia device: null start_time: '2026-01-16T07:35:00Z' tags: [] type: sleep user: organization_id: 597752sample00014a1f9a user_id: 59b02bdeszample0001e13e8c uid: demotestuser1 user_notes: [] utc_offset: -18000 version: '1.0' schema: type: object properties: data: type: array items: type: object properties: checksum: type: string example: 94fa73326faabeefc2382978ce806330 created_at: type: string example: '2020-01-16T12:41:42.352Z' deleted_at: {} end_time: type: string example: '2020-01-16T12:39:00Z' id: type: string example: 87736f14SAMPLE644f884fae9895fe log_id: type: string example: '1579160100' metrics: type: array items: type: object properties: type: type: string example: rem_sleep origin: type: string example: unknown unit: type: string example: s value: type: integer example: 1620 default: 0 offset_origin: type: string example: source source: type: object properties: type: type: string example: nokia device: {} start_time: type: string example: '2020-01-16T07:35:00Z' tags: type: array items: type: object properties: {} type: type: string example: sleep user: type: object properties: organization_id: type: string example: 597752sample00014a1f9a user_id: type: string example: 59b02bdeszample0001e13e8c uid: type: string example: demotestuser1 user_notes: type: array items: type: object properties: {} utc_offset: type: integer example: -18000 default: 0 version: type: string example: '1.0' '400': description: '400' content: text/plain: examples: Result: value: 'Indicates that there was an error with request ' '401': description: '401' content: text/plain: examples: Result: value: "{\n \"errors\": [\n \"Token is not authorized to access organization\"\n ]\n}" schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials security: [] x-readme: code-samples: - language: curl code: "curl --request GET \\\n --url 'https://api.v2.validic.com/organizations/597752sample00014a1f9a/users/demotestuser1/sleep?token=6f46db36dd6543d2b82d91698fcd0896'" - language: ruby code: 'require ''uri'' require ''net/http'' url = URI("https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/sleep?token=6f46db36dd6543d2b82d91698fcd0896") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body' - language: python code: 'import requests url = "https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/sleep" querystring = {"token":"6f46db36dd6543d2b82d91698fcd0896"} response = requests.request("GET", url, params=querystring) print(response.text)' - language: go code: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/sleep?token=6f46db36dd6543d2b82d91698fcd0896\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - language: php code: " \"https://api.v2.validic.com/organizations/597752338a5da500014a1f9a/users/demotestuser1/sleep?token=6f46db36dd6543d2b82d91698fcd0896\",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => \"\",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo \"cURL Error #:\" . $err;\n} else {\n echo $response;\n}" samples-languages: - curl - ruby - python - go - php tags: - Organizations /organizations/{org_id}/devices/activate?token={token}: put: summary: Copy of Get Connection Events By OrgID description: '' operationId: get-connection-events-by-orgid-1 parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: '' '400': description: '400' content: text/plain: examples: Result: value: Indicates that there was an error with request '401': description: '401' content: application/json: examples: Result: value: errors: - Unable to activate this device schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false security: [] requestBody: content: application/json: schema: type: object properties: device_id: type: string description: The device identifier to activate source: type: string description: The cellular vendor/source required: - device_id - source tags: - Organizations /organizations/{org_id}/devices/suspend?token={token}: put: summary: Copy of Copy of Get Connection Events By OrgID description: '' operationId: get-connection-events-by-orgid-1-1 parameters: - name: org_id in: path description: Organization ID provided to you by Validic. schema: type: string required: true - name: token in: path description: Developer Key as supplied by Validic. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: '' '400': description: '400' content: text/plain: examples: Result: value: Indicates that there was an error with request '401': description: '401' content: application/json: examples: Result: value: errors: - Unable to activate this device schema: type: object properties: errors: type: array items: type: string example: Token is not authorized to access organization '403': description: '403' content: application/json: examples: Result: value: "{\n \"message\": \"Invalid authentication credentials\"\n}" schema: type: object properties: message: type: string example: Invalid authentication credentials deprecated: false security: [] requestBody: content: application/json: schema: type: object properties: device_id: type: string description: The device identifier to activate source: type: string description: The cellular vendor/source required: - device_id - source examples: New Example: summary: New Example value: {} tags: - Organizations components: securitySchemes: sec0: type: apiKey in: query name: api_key x-readme: headers: [] explorer-enabled: true proxy-enabled: true x-readme-fauxas: true