Add a Dexcom Share Follower with curl

Graham Jenson
Maori Geek
Published in
2 min readAug 3, 2022

--

This is just a short set of commands that I used to add a dexcom share follower with curl. I am writing this mostly so I remember if I have to do it again, but also if someone else needs it.

This is based off the commands that listed here.

Note: use https://share1.dexcom.com if you have a US account and https://shareous1.dexcom.com for non-US account.

Authenticate

SESSION_ID=$(curl -v -H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Agent: Dexcom Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0" \
-X POST \
"https://shareous1.dexcom.com/ShareWebServices/Services/General/LoginPublisherAccountByName" -d '{
"accountName":"<username>",
"applicationId":"d8665ade-9673-4e27-9ff6-92db4ce13d13",
"password":"<password>"
}' | tr -d '"')

SESSION_ID is now used to authenticate the other calls like…

List Current Subscribers

curl -v -H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Agent: Dexcom Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0" \
-X POST \
https://shareous1.dexcom.com/ShareWebServices/Services/Publisher/ListPublisherAccountSubscriptions?sessionId=$SESSION_ID | jq

If the subscriber is not there then you need to first create a contact…

Create a Contact

CONTACT_ID=$(curl -v -H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Agent: Dexcom Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0" \
-X POST \
"https://shareous1.dexcom.com/ShareWebServices/Services/Publisher/CreateContact?sessionId=$SESSION_ID&contactName=<name>&emailAddress=<email>" \
| tr -d '"')

Then you need to send an invite to that contact

Send Invite to Contact

curl -v -H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Agent: Dexcom Share/3.0.2.11 CFNetwork/672.0.2 Darwin/14.0.0" \
-X POST \
"https://shareous1.dexcom.com/ShareWebServices/Services/Publisher/CreateSubscriptionInvitation?sessionId=$SESSION_ID&contactId=$CONTACT_ID" -d '
{
"AlertSettings": {
"HighAlert": {
"MinValue": 200,
"AlarmDelay": "PT1H",
"AlertType": 1,
"IsEnabled": false,
"RealarmDelay": "PT2H",
"Sound": "High.wav",
"MaxValue": 401
},
"LowAlert": {
"MinValue": 39,
"AlarmDelay": "PT30M",
"AlertType": 2,
"IsEnabled": false,
"RealarmDelay": "PT2H",
"Sound": "Low.wav",
"MaxValue": 70
},
"FixedLowAlert": {
"MinValue": 39,
"AlarmDelay": "PT0M",
"AlertType": 3,
"IsEnabled": true,
"RealarmDelay": "PT30M",
"Sound": "UrgentLow.wav",
"MaxValue": 55
},
"NoDataAlert": {
"MinValue": 39,
"AlarmDelay": "PT1H",
"AlertType": 4,
"IsEnabled": false,
"RealarmDelay": "PT0M",
"Sound": "NoData.wav",
"MaxValue": 401
}
},
"Permissions": 1,
"DisplayName": "<display_name>"
}
'

After this the contact should receive an email with the invite link to start following.

--

--