Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save sigmonsays/a4f8c5cd256b46d64c64a801aea11e0c to your computer and use it in GitHub Desktop.
Save sigmonsays/a4f8c5cd256b46d64c64a801aea11e0c to your computer and use it in GitHub Desktop.
DexcomShare Endpoints for the Uploader App
  • these are the calls used by the dexcom uploader app
  • these are in no particular order!

Post session Data

POST

/ShareWebServices/Services/Publisher/PostReceiverEgvRecords?sessionId={yourSessionId}

  • Host share1.dexcom.com
  • Proxy-Connection keep-alive
  • Accept-Encoding gzip, deflate
  • Content-Type application/json
  • Content-Length 125
  • Accept-Language en-us
  • Accept application/json
  • Connection keep-alive
  • User-Agent Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0\

Body: {"SN":"YourSerialNumber","Egvs":[{"Trend":4,"ST":"\/Date(1426783106000)\/","DT":"\/Date(1426754317000)\/","Value":97}],"TA":-14365}

Response: just a status, 200

Not sure what ta is...

Read Data

POST /ShareWebServices/Services/Publisher/ReadPublisherLatestGlucoseValues?sessionId={YourSessionId}&minutes=1440&maxCount=1 HTTP/1.1 Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Accept: application/json Content-Length: 0 Connection: keep-alive Accept-Language: en-us User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

Body: none

Response: [{"DT":"\/Date(1426780716000-0700)\/","ST":"\/Date(1426784306000)\/","Trend":4,"Value":99,"WT":"\/Date(1426769941000)\/"}]

Start remote monitoring session

POST

/ShareWebServices/Services/Publisher/StartRemoteMonitoringSession?sessionId={yoursessionid}&serialNumber={YourdexcomSerialNumber}

HTTP/1.1 Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 107 Accept-Language: en-us Accept: application/json Connection: keep-alive User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

body: none

response: just a status, 200

check if session status

POST

/ShareWebServices/Services/Publisher/IsRemoteMonitoringSessionActive?sessionId={YourSessionId}

HTTP/1.1 Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 107 Accept-Language: en-us Accept: application/json Connection: keep-alive User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

body: none

response: true or false (plaintext)

Stop a session

POST

/ShareWebServices/Services/Publisher/StopRemoteMonitoringSession?sessionId={YourSessionId}

HTTP/1.1 Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 107 Accept-Language: en-us Accept: application/json Connection: keep-alive User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

Body: none

Response: just a status, 200

Read Dexcoms System time clock

GET

/ShareWebServices/Services/General/SystemUtcTime

HTTP/1.1 Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 107 Accept-Language: en-us Accept: application/json Connection: keep-alive User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

Body: none

Response: {"DateTime":"\/Date(1426767421178)\/","OffsetMinutes":0}

Update Publisher information (might be fun for sending them cute messages?)

POST

/ShareWebServices/Services/Publisher/UpdatePublisherAccountRuntimeInfo

HTTP/1.1 Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 107 Accept-Language: en-us Accept: application/json Connection: keep-alive User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

Body: {"sessionId":"fe9e49df-7064-4e13-a348-39cf44439e57","runtimeInfo":{"DeviceManufacturer":"Apple","DeviceModel":"iPhone5,2","DeviceOsVersion":"7.0.2","AppVersion":"3.0.2.11","AppName":"DexcomShare","AppNumber":"SW10569","DeviceOsName":"iPhone OS"}}

Response: just a status, 200

Authenticate Publisher Account:

POST

/ShareWebServices/Services/General/AuthenticatePublisherAccount

Host: share1.dexcom.com Proxy-Connection: keep-alive Accept-Encoding: gzip, deflate Content-Type: application/json Content-Length: 107 Accept-Language: en-us Accept: application/json Connection: keep-alive User-Agent: Dexcom%20Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0

Body: {"accountName”:”yourlogin”,”applicationId":"d8665ade-9673-4e27-9ff6-92db4ce13d13","password”:”yourpassword”}

Response: in plaintext
"e3e3e6a5-coolsessionid-bro”

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment