Release Notes

Welcome to the Schlage Home - API developer portal. Here we will provide updates for new features released to the Schlage Home API.


    November 13th, 2024
    Schlage Home API Feature: Added "timezone offset" to GET History requests
    • GET History requests can now optionally provide timezone offsets in the response. New parameters have been added to toggle this - GET Device History now updated (must be logged in to view).

              {
                GET https://api.allegion.com/schlage-home/devices/{deviceId}/history?limit=int&deviceLocalTime=boolean
              }
          

              {
                {
                    "id": "string",
                    "timestamp": "2024-11-13T13:35:19.001-06:00",
                    "eventCode": "AccessCodeUserAdded",
                    "accessor": {
                        "id": "string",
                        "friendlyName": "string",
                        "accessType": "string"
                    }
                }
              }
          

      November 8th, 2024
      Schlage Home API Feature: Added "lockState" to DeviceUpdate events
      • DeviceUpdate events for locking or unlocking doors now includes a "lockState" field. This will display "Locked" or "Unlocked". Event Schema is updated.

                {
                  {
                    "method": "POST",
                    "body": {
                      "eventId": "string",
                      "trigger": "DeviceLockStateChanged",
                      "deviceId": "string",
                      "time": "timestamp",
                      "eventType": "DeviceUpdate",
                      "data": {
                        "lockState": "Locked",
                        "accessor": {
                          "id": "string",
                          "friendlyName": "string",
                          "accessType": "AccessCode"
                        }
                      },
                      "version": "2.0"
                    }
                  }
                }
            

        October 23rd, 2024
        Schlage Home API Feature: Updated format for Access Code Event webhooks
        • Access Code Event webhooks will display more information. Please sign into the Developer portal and review the updated GET Access Code API details.

                  {
                   {
                       "accessCodeId": "string",
                       "name": "string",
                       "code": "string",
                       "accessCodeLength": 0,
                       "readOnly": true,
                       "scheduleType": "Always",
                       "scheduleDetails": {
                           "startDateTime": "string",
                           "endDateTime": "string",
                           "schedules": [{
                               "startTime": "string",
                               "endTime": "string",
                               "activeWeekDays": ["Saturday"]
                           }]
                       }
                   }
                  }
              

          September 4th, 2024
          Schlage Home API Feature: "Version" field added to webhooks
          • All events will now display a new "version" field to indicate which Schlage Home version the webhook comes from. Please review the updated Schlage API documentation for more details.

                    {
                    "method": "POST",
                      "body": {
                        "eventId": "string",
                        "trigger": "string",
                        "deviceId": "string",
                        "time": "timestamp",
                        "eventType": "string",
                        "data": {
                          "lockState": "string",
                          "accessor": {
                            "id": null,
                            "accessType": "string"
                          }
                        },
                        "version": "1.0/2.0"
                      }
                    }
                

          August 15th, 2024
          Schlage Home API v2 Feature: Added more details to GET Command endpoint
          • Added more details on the GET Command endpoint including: AccessCodeId and friendlyName, Lock state (for Lock and Unlock commands), Error with statusCode, errorCode and message (if exists). For reference:

                    {
                      {
                        "commandId": "string",
                        "deviceId": "string",
                        "state": "Successful/Pending/Failed",
                        "name": "AddAccessCode/UpdateAccessCode",
                        "data": {
                            "accessCodeId": null (if failed) OR "string",
                            "friendlyName": "string",
                            "error": null (if successful) OR {
                              "statusCode": integer,
                              "errorCode": integer,
                              "errorMessage": "string"
                            }
                        }
                    }
                  }
                

                {
                  {
                    "commandId": "string",
                    "deviceId": "string",
                    "state": "Successful/Pending/Failed",
                    "name": "DeleteAccessCode",
                    "data": {
                        "accessCodeId": null (if successful or Pending) OR "string",
                        "friendlyName": null (if successful or Pending) OR "string",
                        "error": null (if successful or Pending) OR {
                          "statusCode": integer,
                          "errorCode": integer,
                          "errorMessage": "string"
                        }
                    }
                  }
                }
              

            {
              {
                "commandId": "string",
                "deviceId": "string",
                "state": "Successful/Pending/Failed",
                "name": "DeleteAllAccessCodes",
                "data": {
                    "deviceId": "string",
                    "error": null (if successful or Pending) OR {
                      "statusCode": integer,
                      "errorCode": integer,
                      "errorMessage": "string"
                    }
                }
              }
            }  
              

                  {
                    {
                      "commandId": "string",
                      "deviceId": "string",
                      "state": "Successful/Pending/Failed",
                      "name": "ChangeLockState",
                      "data": {
                          "lockState": "Locked/Unlocked/Unknown",
                          "error": null (if Successful or Pending) OR {
                                  "statusCode": "integer", 
                                  "errorCode": "integer",
                                  "errorMesage": "string"
                                }
                      }
                  }
                }
              
          Schlage Home API v2 Feature: User's access role added to Get Device List webhook
          • When a user calls the GET Device List endpoint, they can now see which role they have for a device. See more in the API documentation.

                      [{
                        "role": "string",
                        "id": "string",
                        "name": "string",
                        "type": "string",
                        "lockState": 0,
                        "batteryState": 0,
                        "modelName": "string",
                        "serialNumber": "string",
                        "percentageBatteryLevel": 0,
                        "connected": true,
                        "lastConnectedToCloud": "string",
                        "lastUpdated": "string",
                        "created": "string",
                        "timezoneOffset": "string",
                        "firmwareVersion": "string",
                        "features": {
                            "vlac": true,
                            "activityAlarm": true
                        }
                    }]
                  

          July 23rd, 2024
          Schlage Home API v2 Feature: "friendlyName" of accessor added to Webhooks
          • When a user locks or unlocks their device, they can now see the accessor's friendly name in the webhooks for better readability. For reference:

                    {
                      {
                        "method": "POST",
                        "body": {
                          "eventId": "string",
                          "trigger": "DeviceLockStateChanged",
                          "deviceId": "string",
                          "time": "string",
                          "eventType": "DeviceUpdate",
                          "data": {
                            "lockState": "Locked",
                            "accessor": {
                              "id": "string",
                              "friendlyName": "testName",
                              "accessType": "VirtualKey"
                            }
                          }
                        }
                    }
                  }
                

          May 8th, 2024
          Schlage Home API v2 Event Schema Update: Lock/unlock accessor
          • When a user subscribes to the event notifications, they can now see which accessor has locked or unlocked the device. These accessors include: "AccessCode", "VirtualKey", "AutoRelock", "Thumbturn", and "1TouchLocking". For more information, check out the Schlage Home API v2 Event Schema

          April 29th, 2024
          Schlage Home API v2 Feature: Webhook Signatures
          • Using RSA keypairs, integration partners can now verify the authenticity of requests. For more information, check out the repo
          April 11th, 2024
          Bugfix: Access Code Deletion Sync
          • When access codes would get out of sync, users would not be able to delete access code either from the device or cloud. By using the Access Code ID, you can now successfully Delete access codes no longer being used. For reference - Schlage Home - API

          March 1st, 2024
          New Webhook Notification for when users unlink via "Sign Out Everywhere
          • For improved visibility, integrations will be able to receive a webhook notification whenever their users toggle the "Sign Out Everywhere" option within their Reset password screen.

          Jan 31st, 2024
          ASCII Character Support and 24 character limit extension for Access Code Names
          • Access Codes originally had a limit of 12 characters, you can now add up to 24 ASCII characters as listed in this ASCII table.
          Jan 29th, 2024
          Exposing Timezone Offsets in the Access Code webhooks
          • The AccessCodeManagement webhook now exposes the timezone offset field. For reference:

                      {
                        "id": "string",
                        "subject": "string",
                        "data": {
                          "identifier": null,
                          "deviceId": "string",
                          "deviceName": "string",
                          "clientName": null,
                          "eventTypeId": 0,
                          "eventType": "AccessCodeCreate",
                          "accessCode": {
                            "id": "string",
                            "name": "string",
                            "accessCode": "integer",
                            "scheduleType": "Always",
                            "activeSchedules": []
                          },
                          "timezoneOffset": "-06:00",
                          "time": "20240212T20:00"
                        },
                        "eventType": "AccessCodeManagement",
                        "dataVersion": "1.0",
                        "metadataVersion": "1",
                        "eventTime": "string",
                        "topic": "string"
                      }