{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Uploading Data in a Continuous Session ( continuous )","llmstxt":{"hide":true}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"uploading-data-in-a-continuous-session--continuous-","__idx":0},"children":["Uploading Data in a Continuous Session (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["continuous"]},")"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"are-you-authenticated","__idx":1},"children":["Are You Authenticated?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Make sure that you have a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/quick-start#authentication"},"children":["Tidepool session token"]}," before trying to fetch data."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"open-a-new-continuous-session","__idx":2},"children":["Open A New Continuous Session"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you have previously opened a continuous session, ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#find-an-existing-continuous-session"},"children":["skip ahead"]},". Otherwise, issue the following command:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"method\": \"post\",\n  \"url\": \"https://int-api.tidepool.org/v1/users/{userId}/data_sets\",\n  \"query\": null,\n  \"headers\": {\n    \"X-Tidepool-Session-Token\": \"{sessionToken}\",\n    \"Content-Type\": \"application/json\"\n  },\n  \"body\": {\n    \"client\": {\n      \"name\": \"{clientName}\",\n      \"version\": \"{clientVersion}\"\n    },\n    \"dataSetType\": \"continuous\",\n    \"deduplicator\": {\n      \"name\": \"org.tidepool.deduplicator.dataset.delete.origin\"\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This will return an HTTP response with a JSON body. You should store ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["the value of the upload session ID"]}," to use when uploading data to this session."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","data-title":"Sample Response","header":{"title":"Sample Response","controls":{"copy":{}}},"source":"{\n  \"data\": {\n    \"createdTime\": \"2019-08-29T08:05:25.851Z\",\n    \"deduplicator\": {\n      \"name\": \"org.tidepool.deduplicator.dataset.delete.origin\",\n      \"version\": \"1.0.0\"\n    },\n    \"id\": \"{uploadSessionId}\",\n    \"modifiedTime\": \"2019-08-29T08:05:25.889Z\",\n    \"type\": \"upload\",\n    \"uploadId\": \"{uploadSessionId}\",\n    \"client\": {\n      \"name\": \"{clientName}\",\n      \"version\": \"{clientVersion}\"\n    },\n    \"dataSetType\": \"continuous\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"find-an-existing-continuous-session","__idx":3},"children":["Find An Existing Continuous Session"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you have previously opened a continuous session, you can use this request to get the session ID if you haven't cached it somewhere (if you already know your session ID, ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#upload-device-data-to-the-open-session"},"children":["skip ahead"]},"):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"method\": \"get\",\n  \"url\": \"https://int-api.tidepool.org/v1/users/{userId}/data_sets\",\n  \"query\": {\n    \"client.name\": \"{clientName}\"\n  },\n  \"headers\": {\n    \"X-Tidepool-Session-Token\": \"{sessionToken}\",\n    \"Content-Type\": \"application/json\"\n  },\n  \"body\": null\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This will return an HTTP response with a JSON body. You should temporarily store the value of the upload session ID you intend to write data to."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","data-title":"Sample Response","header":{"title":"Sample Response","controls":{"copy":{}}},"source":"[\n  {\n    \"client\": {\n      \"name\": \"{clientName}\",\n      \"version\": \"{clientVersion}\"\n    },\n    \"createdTime\": \"2019-08-28T02:54:41.869Z\",\n    \"dataSetType\": \"continuous\",\n    \"deduplicator\": {\n      \"name\": \"org.tidepool.deduplicator.dataset.delete.origin\",\n      \"version\": \"1.0.0\"\n    },\n    \"id\": \"{uploadSessionId}\",\n    \"modifiedTime\": \"2019-08-28T02:54:41.896Z\",\n    \"type\": \"upload\",\n    \"uploadId\": \"{uploadSessionId}\"\n  }\n]\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"upload-device-data-to-the-open-session","__idx":4},"children":["Upload Device Data To The Open Session"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Upload data in chunks of 1,000 records:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"method\": \"post\",\n  \"url\": \"https://int-api.tidepool.org/dataservices/v1/datasets/{uploadSessionId}/data\",\n  \"headers\": {\n    \"X-Tidepool-Session-Token\": \"{sessionToken}\",\n    \"Content-Type\": \"application/json\"\n  },\n  \"body\": [\n    // array of diabetes device data objects\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The body for this HTTP POST should be JSON, and follow the format outlined in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/device-data/data-types"},"children":["diabetes data types"]}," documentation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you upload data for a continuous session, you will also need to provide an \"origin\" field for every data object, that contains at least an ID, name and type. The ID is a unique identifier within your upload session that allows you to identify that data point."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As an example, uploading a couple of continuous blood glucose (CBG) records might look like this:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"method\": \"post\",\n  \"url\": \"https://int-api.tidepool.org/dataservices/v1/datasets/{uploadSessionId}/data\",\n  \"headers\": {\n    \"X-Tidepool-Session-Token\": \"{sessionToken}\",\n    \"Content-Type\": \"application/json\"\n  },\n  \"body\": [\n    {\n      \"time\": \"2017-02-05T13:26:51.000Z\",\n      \"timezoneOffset\": 660,\n      \"clockDriftOffset\": 0,\n      \"conversionOffset\": 0,\n      \"deviceTime\": \"2017-02-06T00:26:51\",\n      \"deviceId\": \"MMT-1711:12345678\",\n      \"type\": \"cbg\",\n      \"value\": 119,\n      \"units\": \"mg/dL\",\n      \"trendRate\": -2.2,\n      \"trendRateUnits\": \"mg/dL/minute\",\n      \"sampleInterval\": 300000,\n      \"origin\": {\n        \"id\": \"06b10116-e85c-4abe-8a35-4eca838bd484\",\n        \"name\": \"com.apple.HealthKit\",\n        \"type\": \"service\"\n      },\n      \"payload\": {\n        \"interstitialSignal\": 24.98\n      }\n    },\n    {\n      \"time\": \"2017-02-05T13:31:51.000Z\",\n      \"timezoneOffset\": 660,\n      \"clockDriftOffset\": 0,\n      \"conversionOffset\": 0,\n      \"deviceTime\": \"2017-02-06T00:31:51\",\n      \"deviceId\": \"MMT-1711:12345678\",\n      \"type\": \"cbg\",\n      \"value\": 120,\n      \"units\": \"mg/dL\",\n      \"trendRate\": -2.2,\n      \"trendRateUnits\": \"mg/dL/minute\",\n      \"sampleInterval\": 300000,\n      \"origin\": {\n        \"id\": \"1c26886a-ae52-4e43-84cf-5047afe3efc3\",\n        \"name\": \"com.apple.HealthKit\",\n        \"type\": \"service\"\n      },\n      \"payload\": {\n        \"interstitialSignal\": 25.22\n      }\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not close the session after you have uploaded your data, as you would for a normal session type. If you ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["do"]}," close a continuous session, you will not be able to write to it, and will need to open a new one."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"keep-reading","__idx":5},"children":["Keep Reading"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/device-data/data-types"},"children":["Diabetes Data Types"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/device-data"},"children":["Diabetes Device Data Model"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/quick-start/uploading-device-data/normal"},"children":["Using A Normal Upload Session"]}]}]}]},"headings":[{"value":"Uploading Data in a Continuous Session ( continuous )","id":"uploading-data-in-a-continuous-session--continuous-","depth":1},{"value":"Are You Authenticated?","id":"are-you-authenticated","depth":2},{"value":"Open A New Continuous Session","id":"open-a-new-continuous-session","depth":2},{"value":"Find An Existing Continuous Session","id":"find-an-existing-continuous-session","depth":2},{"value":"Upload Device Data To The Open Session","id":"upload-device-data-to-the-open-session","depth":2},{"value":"Keep Reading","id":"keep-reading","depth":2}],"frontmatter":{"seo":{"title":"Uploading Data in a Continuous Session ( continuous )"}},"lastModified":"2025-09-04T14:36:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/quick-start/uploading-device-data/continuous","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}