Allegion website screenshot

Allegion

Allegion plc is a global security products company with $3.8B in 2024 revenue, 13,000+ employees, and 30+ brands across 120 countries (Schlage, Von Duprin, LCN, CISA, Steelcraft, Interflex, SimonsVoss, Yonomi). The Allegion Developer Portal exposes two documented integration surfaces - the Schlage Home API V2 (residential WiFi smart locks) and the ENGAGE Cloud Credentialing API (commercial BLE mobile credentials), plus iOS and Android Device Communication and BLE Mobile Access SDKs gated behind an Allegion Security Token Agreement.

2 APIs 14 Features
Access ControlSmart LockSmart HomeMobile CredentialsBluetoothBLEIoTSecurityWebhooksOAuthSchlageVon DuprinENGAGE

APIs

Schlage Home API

REST + webhook API for the Schlage Home residential smart-lock platform. Designed for business and commercial integrations (partner apps, smart-home automation platforms) that s...

ENGAGE Cloud Credentialing API

REST API on the Allegion Device Management and Mobile Access Cloud (Engage Cloud) for managing BLE Mobile Credentials used to unlock ENGAGE Gen 2 hardware (Schlage Control B, ND...

Collections

Pricing Plans

Allegion Plans Pricing

3 plans

PLANS

Rate Limits

Allegion Rate Limits

7 limits

RATE LIMITS

FinOps

Features

Schlage Home API V2 OAuth 2.0 Authorization Code flow against https://account.schlage.com
WebHooks subscription API for device state, access code, command, and account events (HTTPS only, 30s validation window)
202 ACCEPTED asynchronous command pattern for POST / PUT / DELETE device operations
DST-offset-aware Access Code Webhooks (April 2026)
Access Code Synchronization to reconcile lock-stored codes with cloud (July 2025)
WiFi signal strength surfaced in GET Device endpoint (March 2025)
ENGAGE Cloud Credentialing API for BLE Mobile Credential upload, delete, list using alle-subscription-key header + Basic Auth
Allegion Device Communication SDK (iOS, Android) for ENGAGE device commissioning and door file distribution
Allegion BLE Mobile Access SDK (iOS, Android) for credential download, BLE discovery, pre-connection unlock
Supports Schlage Encode Deadbolt, Encode Plus, Encode Levers (WiFi residential)
Supports Gen 2 ENGAGE hardware (Control BE467B / FE410B, NDEB, LEBMS / LEBMD, MTKB readers)
Webhook signature verification via public key
HTTPS-only callback URLs, 200-299 success range
Onboarding requires Schlage Home Representative approval (residential) or Allegion Security Token Agreement (mobile credentials)

Semantic Vocabularies

Allegion Context

10 classes · 36 properties

JSON-LD

API Governance Rules

Allegion API Rules

6 rules · 2 errors 4 warnings

SPECTRAL

Allegion API Rules

7 rules · 1 errors 6 warnings

SPECTRAL

JSON Structure

Engage Credential Structure

0 properties

JSON STRUCTURE

Schlage Home Device Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🌐
DeveloperPortal
DeveloperPortal
🌐
Portal
Portal
🔗
Login
Login
🔗
Documentation
Documentation
🔗
Overview
Overview
📄
ReleaseNotes
ReleaseNotes
💬
Support
Support
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
📦
SDKs
SDKs
📰
Blog
Blog
🔗
CorporateSite
CorporateSite
🔗
About
About
🔗
ConsumerBrand
ConsumerBrand
🔗
ConsumerBrand
ConsumerBrand
🔗
ConsumerBrand
ConsumerBrand
🔗
ConsumerBrand
ConsumerBrand
🔗
ConsumerBrand
ConsumerBrand
🔗
Partners
Partners
🔗
LinkedIn
LinkedIn
🔗
X
X
🔗
Investors
Investors
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Schlage Home API
  version: '2.0'
request:
  auth:
    type: oauth2
    flow: authorization_code
    authorizationUrl: https://account.schlage.com/OAuth2/authorize
    accessTokenUrl: https://account.schlage.com/OAuth2/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: Devices
    type: folder
  items:
  - info:
      name: List Devices
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/devices
    docs: Returns the WiFi-enabled Schlage Home devices the authenticated user account has authorized for this integration.
  - info:
      name: Get Device
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/devices/:deviceId
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
    docs: Returns a single device including lock state, battery level, WiFi signal strength, firmware, and connectivity state.
  - info:
      name: Update Device
      type: http
    http:
      method: PUT
      url: https://api.allegion.com/schlage-home/devices/:deviceId
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
      body:
        type: json
        data: '{}'
    docs: Update device configuration (name, default lock timer, vacation mode). Returns 202 ACCEPTED and emits a command
      that completes asynchronously.
  - info:
      name: Lock Device
      type: http
    http:
      method: POST
      url: https://api.allegion.com/schlage-home/devices/:deviceId/lock
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
    docs: Issue an asynchronous lock command. Returns 202 ACCEPTED with a command id; final state surfaces via webhook.
  - info:
      name: Unlock Device
      type: http
    http:
      method: POST
      url: https://api.allegion.com/schlage-home/devices/:deviceId/unlock
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
    docs: Issue an asynchronous unlock command. Returns 202 ACCEPTED with a command id; final state surfaces via webhook.
- info:
    name: Access Codes
    type: folder
  items:
  - info:
      name: List Access Codes
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/devices/:deviceId/access-codes
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
    docs: List access codes currently stored on the device.
  - info:
      name: Create Access Code
      type: http
    http:
      method: POST
      url: https://api.allegion.com/schlage-home/devices/:deviceId/access-codes
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
      body:
        type: json
        data: '{}'
    docs: Create a numeric access code on the device with an Always, Temporary, or Recurring schedule. Returns 202 ACCEPTED.
  - info:
      name: Get Access Code
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/devices/:deviceId/access-codes/:accessCodeId
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
      - name: accessCodeId
        value: ''
        type: path
        description: Unique identifier for an access code on a specific device.
    docs: Get Access Code
  - info:
      name: Update Access Code
      type: http
    http:
      method: PUT
      url: https://api.allegion.com/schlage-home/devices/:deviceId/access-codes/:accessCodeId
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
      - name: accessCodeId
        value: ''
        type: path
        description: Unique identifier for an access code on a specific device.
      body:
        type: json
        data: '{}'
    docs: Update an access code name or schedule. The numeric code itself is not changed by name updates.
  - info:
      name: Delete Access Code
      type: http
    http:
      method: DELETE
      url: https://api.allegion.com/schlage-home/devices/:deviceId/access-codes/:accessCodeId
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
      - name: accessCodeId
        value: ''
        type: path
        description: Unique identifier for an access code on a specific device.
    docs: Delete Access Code
- info:
    name: Commands
    type: folder
  items:
  - info:
      name: Get Command Status
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/devices/:deviceId/commands/:commandId
      params:
      - name: deviceId
        value: ''
        type: path
        description: Unique identifier for a Schlage Home device.
      - name: commandId
        value: ''
        type: path
    docs: Retrieve the current status of a previously issued device command. Error messages are populated on failure.
- info:
    name: Webhook Subscriptions
    type: folder
  items:
  - info:
      name: List Webhook Subscriptions
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/webhooks/subscriptions
    docs: List Webhook Subscriptions
  - info:
      name: Create Webhook Subscription
      type: http
    http:
      method: POST
      url: https://api.allegion.com/schlage-home/webhooks/subscriptions
      body:
        type: json
        data: '{}'
    docs: 'Register an HTTPS callback URL for one or more event types. On subscription

      creation an OPTIONS validation request is sent to the URL and must receive

      a 2xx response within 30 seconds or the subscription is not created.

      '
  - info:
      name: Get Webhook Subscription
      type: http
    http:
      method: GET
      url: https://api.allegion.com/schlage-home/webhooks/subscriptions/:subscriptionId
      params:
      - name: subscriptionId
        value: ''
        type: path
    docs: Get Webhook Subscription
  - info:
      name: Delete Webhook Subscription
      type: http
    http:
      method: DELETE
      url: https://api.allegion.com/schlage-home/webhooks/subscriptions/:subscriptionId
      params:
      - name: subscriptionId
        value: ''
        type: path
    docs: Delete Webhook Subscription
bundled: true