Overview
Share911 accepts requests to check-in via our REST API.
In order to use the API your user account will need 2 things:
- Check-in permission
- An API key
To receive your API key, please contact support@share911.com.
API
Endpoint
REST Endpoint: https://api.share911.com/v1/checkins/
NOTE: The slash "/" at the end of the URL is required! Visiting this URL through a browser will not allow check-ins to be submitted. This URL is only for REST calls.
Authentication
Basic authentication. The username is always "api". The password is the API key provided by Share911 Support.
Payload
The REST request should include data in JSON format. The fields are:
channelId
Channel ID of the target communication channel, in string format. To find the Channel ID, log in to Share911 and select the appropriate channel. Then open your user menu and tap Manage Channel, then Channel Info.
Share911 also supports Custom Channel IDs. The custom code can be any alphanumeric string, typically customers would use the same code that their HR or SIS uses for the building. Custom Channel IDs can be configured on the Manage Channel => Registration page.
integrationId
An ID identifying the integration / partner / company which is sending the alert, in string format. This is used to prevent re-triggering the corresponding system when 2-way integration is enabled.
status
A number representing the type of check-in. Available statuses are:
THREAT: 1
TRAPPED: 2
SECURE: 4
EVACUATED: 5
OFF_SITE: 6
MEDICAL_EMERGENCY: 7
SECURITY_NEEDED: 17
SAFE: 22
NOTE: It is important that the status field in the payload is a number and not a string.
message
An optional message to include in the broadcast, in string format.
location
A JSON object representing the location of the user submitting the check-in.
Sub-fields:
name: string, representing the user's location
customLocation: boolean, always true for API use
clientTimeStamp
A string representing the current time on the client device, in ISO 8601 format.
Examples
GENERIC
curl --user 'api:<YOUR API KEY>' \
https://api.share911.com/v1/checkins/ \
-H "Content-Type: application/json" \
-d '{
"channelId": <CHANNEL_ID>,
"integrationId": <INTEGRATION_ID>,
"status": <STATUS_NUMBER>,
"message": <MESSAGE>,
"location": {
"name": <LOCATION_NAME>,
"customLocation": true
},
"clientTimeStamp": <ISO8061_DATE>
}'
THREAT NEARBY
curl --user 'api:91567870-ffa6-4665-8188-ca0a4b820a21' \
https://api.share911.com/v1/checkins/ \
-H "Content-Type: application/json" \
-d '{
"channelId": "sharevilledemo/eastbranch",
"integrationId": "acme",
"status": 1,
"message": "Someone breaking in",
"location": {
"name": "Front Desk",
"customLocation": true
},
"clientTimeStamp": "2025-03-17T23:55:58+0000"
}'
SECURITY NEEDED
curl --user 'api:91567870-ffa6-4665-8188-ca0a4b820a21' \
https://api.share911.com/v1/checkins/ \
-H "Content-Type: application/json" \
-d '{
"channelId": "sharevilledemo/eastbranch",
"integrationId": "acme",
"status": 17,
"message": "Aggressive Parent",
"location": {
"name": "Front Desk",
"customLocation": true
},
"clientTimeStamp": "2025-03-17T23:55:58+0000"
}'
SAFE
curl --user 'api:91567870-ffa6-4665-8188-ca0a4b820a21' \
https://api.share911.com/v1/checkins/ \
-H "Content-Type: application/json" \
-d '{
"channelId": "sharevilledemo/eastbranch",
"integrationId": "acme",
"status": 22,
"message": "Evacuated",
"location": {
"name": "Soccer Field",
"customLocation": true
},
"clientTimeStamp": "2025-03-17T23:55:58+0000"
}'
NOTES
* Repeated duplicate requests are ignored.
* An ALL CLEAR broadcast will clear active check-ins. Check-in activity can be reviewed in Share911 after being cleared via the After Action Report.