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
# https://share1.dexcom.com/
* 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}` HTTP/1.1
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` 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:_ `{"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