Overview
The Doors and Scheduling API for Access Control enables our customers to retrieve and control their Verkada-managed doors.
These APIs are great for integrating Verkada with third-party applications that need to control doors.
API Endpoints
Doors
- Get Doors - Retrieves a list of doors in a given organization
- Unlock Door as User - Sends a request to unlock a door with door_id as the user with the specified user_id or external_id.
- Unlock Door as Admin - Sends a request to unlock a door with door_id irrespective of user door access privileges
Door Exception Calendars
- Get All Available Door Exception Calendars - Retrieves a list of all door exception calendars
- Get Door Exception Calendar - Retrieves a door exception calendar with a specified calendar_id
- Create Door Exception Calendar - Create a new door exception calendar
- Update Door Exception Calendar - Update a door exception calendar with a specified calendar_id
- Delete Door Exception Calendar - Delete a door exception calendar with a specified calendar_id
- Get Exception on Door Exception Calendar - Retrieves an exception with a specified exception_id on a door exception calendar with a specified calendar_id
- Add Exception to Door Exception Calendar - Add a new exception to a door exception calendar with a specified calendar_id
- Update Exception on Door Exception Calendar - Update an exception with a specified exception_id on a door exception calendar with a specified calendar_id
- Delete Exception on Door Exception Calendar - Delete an exception with a specified exception_id on a door exception calendar with a specified calendar_id
Using the Doors and Scheduling API
Getting Started
Refer to the Quick Start Guide for instructions on generating a Verkada API key and making your first API requests.
For the Doors API you must use an API key that has permissions for the Access Control Endpoints. For the Exception Calendars API you must use an API key that has permissions for the Door Access Management Endpoints with the specific sites you would like to edit selected.
Before Verkada-managed doors can be unlocked using APIs, you must first enable this capability in Verkada Command. Setup instructions can be found in our support article on Unlocking Doors via API.
Example Use Cases
Integrating Third-Party Event Scheduling Software
Integrate your calendar events from a third party software with Verkada Access Control to automatically control door state. For example, a school may have holiday breaks and after school events in their classroom and event scheduling software. Using this API they can automatically schedule doors to be unlocked for the after school events and locked during holiday breaks.
Example integration steps for this use case:
- Step 1 - Retrieve your Verkada-managed doors: Call the Get Doors API to get a list of doors in your organization and their IDs, optionally filtered by Site ID or Door ID.
- Step 2 - Check what door exception calendars already exist: Call the Get All Available Door Exception Calendars API to get a list of door exception calendars that already affect your doors.
- Step 3 - Create door exception calendars: Call the Create Door Exception Calendar API multiple times for each set of doors you would like to have a separate set of exceptions applied to.
- Step 4 - Change door exception calendars as necessary: As the events change within the third-party event scheduling software, add, update, and delete door exception calendars as necessary using the Door Exception Calendars API to change door state.
Let End-Customers Unlock Doors from a Custom App
Allow your end-customers to unlock Verkada-managed doors through your own applications. For example, fitness or recreation centers may provide their members with a proprietary mobile app to manage their membership, which can also be integrated with Verkada so members can use the app to gain access to your facilities.
Example integration steps for this use case:
- Step 1 - Retrieve your Verkada-managed doors: Call the Get Doors API to get a list of doors in your organization and their IDs, optionally filtered by Site ID or Door ID.
- Step 2 (if needed) - Create User in Verkada: When a new user is registered in your app, call the Create User API to create a user account for the new user in Verkada. Optionally label the Verkada user with the ID used in your app by providing an external_id.
- Step 3 - Unlock door for user: When the user created at step 3 takes an action in your app to unlock a specific door, call the Unlock Door as User API by providing the door ID of the relevant door (obtained in step 1 above) and the Verkada user_id or external_id the user that took the action. Note that the unlock request will only be granted if the user has been given access to the door through an access level in Verkada Command.
- Step 4 - Monitor events for particular doors: Set up Access Events Webhooks to listen for events at one or more doors obtained at step 1. For example, listen for door open events to confirm that the door at step 2 was actually opened after being unlocked,
Unlock Doors from Third-Party Administrative Software
Allow third-party administrative software used by your organization to unlock Verkada-managed doors and/or track door events. For example, automate unlocking of doors based on events or activity that occurs in your administrative software.
Example integration steps for this use case:
- Step 1 - Retrieve your Verkada-managed doors: Call the Get Doors API to get a list of doors in your organization and their IDs, optionally filtered by Site ID or Door ID.
- Step 2 - Unlock door: When a relevant event occurs in your administrative software, call the Unlock Door as Admin API by providing the door ID of the relevant door (obtained in step 1 above). Note that the unlock request will be granted without respect to any access levels or door schedules, unless there is an active lockdown.
- Step 3 - Monitor events for particular doors: Set up Access Events Webhooks to listen for events at one or more doors obtained at step 1. For example, listen for door open events to confirm that the door at step 2 was actually opened after being unlocked.