Check-in REST API

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.