# Verkada Documentation
> Documentation for Verkada
## API Reference
- [Introduction](https://apidocs.verkada.com/reference/introduction.md)
- [Example Use Cases](https://apidocs.verkada.com/reference/example-use-cases.md)
- [Quick Start Guide](https://apidocs.verkada.com/reference/quick-start-guide.md)
- [Security Overview](https://apidocs.verkada.com/reference/security-overview.md)
- [Pagination](https://apidocs.verkada.com/reference/pagination.md)
- [Rate Limiting](https://apidocs.verkada.com/reference/ratelimiting.md)
- [Service Regions](https://apidocs.verkada.com/reference/service-regions.md)
- [Using Legacy API Keys](https://apidocs.verkada.com/reference/using-legacy-api-keys.md)
- [Get API Token](https://apidocs.verkada.com/reference/postloginapikeyviewv2.md): API Tokens are required to make requests to any Verkada API endpoints with the exception of the Get Streaming Token endpoints, which requires a top-level API Key for authentication, as well as the Stream Footage (live or historical) API that requires a JSON Web Token (JWT). API Tokens inherit permissions from the top-level API key used to generate them and will be limited to that same permission scope. If the API Key used to generate an API Token only has Camera Read-Only permissions, then the associated API Token would only be authorized to call Camera GET endpoints. API Tokens are valid for 30 minutes and cannot be refreshed. Users will need to call the Get API Token endpoint again to retrieve a new Token if their previous one has expired. When making a call using an expired API Token, users will receive a 401 Authentication Error as well as the following error message: {'id': '0e2d', 'message': 'Token expired', 'data': None}
- [Overview](https://apidocs.verkada.com/reference/overview.md)
- [Set up Webhooks](https://apidocs.verkada.com/reference/build-webhooks.md)
- [Authentication](https://apidocs.verkada.com/reference/securing-webhooks.md)
- [LPR Webhook Object](https://apidocs.verkada.com/reference/lpr.md)
- [Access Events Webhooks](https://apidocs.verkada.com/reference/access-events-webhooks.md)
- [New Alarms Webhook Object](https://apidocs.verkada.com/reference/new-alarms-webhook-object.md)
- [Access Credential Webhook Object](https://apidocs.verkada.com/reference/access-credential-webhook-object.md)
- [Event-Based Webhooks](https://apidocs.verkada.com/reference/event-based-webhooks.md)
- [Overview](https://apidocs.verkada.com/reference/overview-1.md)
- [Glossary](https://apidocs.verkada.com/reference/glossary.md)
- [Setting Up Verkada Helix](https://apidocs.verkada.com/reference/getting-started.md)
- [Using Verkada Helix](https://apidocs.verkada.com/reference/using-verkada-helix.md)
- [Quick Start Guide](https://apidocs.verkada.com/reference/sample-scripts.md)
- [General Troubleshooting](https://apidocs.verkada.com/reference/request-methods.md)
- [Delete a Helix Event](https://apidocs.verkada.com/reference/deletevideotaggingeventviewv1.md)
- [Get a Helix Event](https://apidocs.verkada.com/reference/getvideotaggingeventviewv1.md)
- [Update a Helix Event](https://apidocs.verkada.com/reference/patchvideotaggingeventviewv1.md)
- [Create a Helix Event](https://apidocs.verkada.com/reference/postvideotaggingeventviewv1.md)
- [Search a Helix Event](https://apidocs.verkada.com/reference/postvideotaggingeventsearchviewv1.md)
- [Delete a Helix Event Type](https://apidocs.verkada.com/reference/deletevideotaggingeventtypeviewv1.md)
- [Get List of Helix Event Types](https://apidocs.verkada.com/reference/getvideotaggingeventtypeviewv1.md)
- [Update a Helix Event Type](https://apidocs.verkada.com/reference/patchvideotaggingeventtypeviewv1.md)
- [Create a Helix Event Type](https://apidocs.verkada.com/reference/postvideotaggingeventtypeviewv1.md)
- [Create Helix Events in Batch](https://apidocs.verkada.com/reference/postvideotaggingeventbatchviewv1.md)
- [Get Helix Batch Job Status](https://apidocs.verkada.com/reference/getbatchjobstatusview.md): Returns status of Helix batch job.
- [Get Alerts](https://apidocs.verkada.com/reference/getnotificationsviewv1.md): Returns alerts for an organization within a specified time range. Alert types include camera offline, camera online, tamper, motion, crowd, and Person of Interest alerts. Motion alerts include whether people and/or vehicles were detected. Crowd alerts include the threshold set for the camera that detected the crowd and whether people or vehicles were detected. Person of Interest alerts include the label set for the person.
- [Get Max People/Vehicle Counts](https://apidocs.verkada.com/reference/getmaxobjectcountsviewv1.md): Returns the max count of people and vehicles within a specified time range.
- [Get People/Vehicle Counts](https://apidocs.verkada.com/reference/getobjectcountsviewv1.md): Returns the count of people and vehicles within a specified time range.
- [Get Occupancy Trend Data](https://apidocs.verkada.com/reference/getoccupancytrendsview.md): Returns all occupancy trends data for a particular camera over a specified time range. Responses will include the start and end time of the data requested and device information (ID, serial number) alongside the readings.
- [Get Dashboard Widget Trend Data](https://apidocs.verkada.com/reference/postdashboardwidgettrendsview-1.md): Returns all data for a particular dashboard's widgets over a specified time range. Responses will include the start and end time of the data requested and dashboard information (ID, name) alongside the readings.
- [Set Object Position MQTT Config](https://apidocs.verkada.com/reference/postoccupancytrendsmqttconfigview.md): Sets the MQTT config for a particular camera. Object Position Events from the camera will be published to the MQTT broker specified in the MQTT config.
- [Get Object Position MQTT Config](https://apidocs.verkada.com/reference/getoccupancytrendsmqttconfigviewv2.md)
- [Get seen license plates](https://apidocs.verkada.com/reference/getlprimagesview.md): Returns the timestamps, detected license plate numbers, and images of all license plates seen by a camera. Only works for cameras that are LPR enabled. Response may be paginated if page_token exists.
- [Delete a License Plate of Interest](https://apidocs.verkada.com/reference/deletelicenseplateofinterestviewv1.md): Deletes a license plate from License Plates of Interest using a specified license plate number.
- [Get All License Plates of Interest](https://apidocs.verkada.com/reference/getlicenseplateofinterestviewv1.md): Returns creation time, description, and license plate number for all License Plates of Interest for an organization.
- [Update a License of Interest](https://apidocs.verkada.com/reference/patchlicenseplateofinterestviewv1.md): Updates a license plate description from License Plates of Interest using a specified license plate number.
- [Create a License Plate of Interest](https://apidocs.verkada.com/reference/postlicenseplateofinterestviewv1.md): Creates a License Plate of Interest for an organization using a specified description and license plate number.
- [Delete the License Plates of Interest specified in the uploaded file.](https://apidocs.verkada.com/reference/deletelicenseplateofinterestbulkoperationviewv1.md)
- [Create the License Plates of Interest specified in the uploaded file.](https://apidocs.verkada.com/reference/postlicenseplateofinterestbulkoperationviewv1.md)
- [Get Timestamps for a License Plate](https://apidocs.verkada.com/reference/getlprtimestampsview.md): Returns the timestamps for a certain license plate. Only works for cameras that are LPR enabled. Response may be paginated if page_token exists.
- [Get All LPR Zones](https://apidocs.verkada.com/reference/getlprzoneviewv2.md)
- [Get LPR Zone Metrics](https://apidocs.verkada.com/reference/getlprzonemetricsviewv2.md)
- [Get LPR Zone Records](https://apidocs.verkada.com/reference/getlprzonerecordsviewv2.md)
- [Get Camera Audio Status](https://apidocs.verkada.com/reference/getcameraaudioviewv1.md): To use the Camera Audio API, you will need to generate an “Camera Audio” API key (separate from Read only and Read/write API keys).
- [Update Camera Audio Status](https://apidocs.verkada.com/reference/postcameraaudioviewv1.md): To use the Camera Audio API, you will need to generate an “Camera Audio” API key (separate from Read only and Read/write API keys). This doesn't work if Camera Audio is globally disabled (visit Feature Manager) or if audio is not supported by the camera model. Response Codes:
| Response Code | Message | Troubleshooting Steps |
| 412 | Audio is not supported by the camera | This camera model's hardware does not support audio. |
| 403 | Audio is not enabled for the organization | Check your organization's Privacy and Security settings. If audio is not enabled in the Feature Manager, you will not be able to toggle the camera's audio status. |
For standard HTTP response codes, refer to our General Troubleshooting page.
- [Get cloud backup settings for a certain camera.](https://apidocs.verkada.com/reference/getcloudbackupviewv1.md)
- [Update cloud backup settings for a certain camera.](https://apidocs.verkada.com/reference/postcloudbackupviewv1.md): If camera cloud backup has been enabled and disabled before, enable it again will start backup from last disabled time
- [Get Camera Data](https://apidocs.verkada.com/reference/getcamerainfoviewv1.md): Returns details of all cameras within the organization. Details returned per camera are name, site, location, model, serial number, camera ID, MAC address, local IP, device retention, extended cloud retention (if any), date camera added to command, firmware update status, camera status, location latitude, location longitude, and location angle (in degrees).
- [Get Occupancy Trends Cameras](https://apidocs.verkada.com/reference/getoccupancytrendscamerasviewv1.md): Returns a list of of all cameras that support occupancy trends with its line presets ids in the organization. Details returned per camera are camera_id and list of preset_ids of the line presets of the camera.
- [Get Link to Footage](https://apidocs.verkada.com/reference/gethistoryurlviewv1.md): Returns link to video footage for a specified camera which will play footage from a specified timestamp.
- [Get Thumbnail Image](https://apidocs.verkada.com/reference/getthumbnailimageviewv1.md): Returns a low-resolution or high-resolution thumbnail from a specified camera at or near a specified time. Defaults to low-resolution thumbnails.
- [Get Latest Thumbnail Image](https://apidocs.verkada.com/reference/getthumbnaillatestviewv1.md): Returns the latest thumbnail from a specified camera in either low resolution or high resolution.
- [Get Thumbnail Link](https://apidocs.verkada.com/reference/getthumbnaillinkviewv1.md): Returns a link to thumbnail image from a specified camera at a specified time.
- [Get Streaming Token](https://apidocs.verkada.com/reference/getfootagetokenviewv1.md): This is a prerequisite to stream live or historical footage. It returns a JWT (JSON Web Token) which provides access to the streaming endpoint for 30 minutes. For detailed information on streaming footage, refer to Stream Footage (Live or Historical).
- [Stream Footage (Live or Historical)](https://apidocs.verkada.com/reference/getfootagestreamviewv1.md): Introduction: Although many Verkada customers access camera footage via Command, we offer a flexible solution for integrating third-party applications with Verkada cameras. Streaming API allows users to stream both live and historical footage from cameras using the HLS (HTTP Live Streaming) protocol. HLS is an open protocol designed for streaming media content over the internet, supported by many video players. This document serves as a guide for integrating camera footage into third-party applications. Prerequisites: Before integrating with the Streaming API, ensure you have the following: - Access to the Verkada API. Read our Quick Start Guide
- An application equipped with a video player capable of streaming via HLS protocol (i.e HLS.js)
- A backend server capable of communicating with Verkada API servers
Steps to Stream Footage: Follow these steps to stream footage using the Streaming API: Step 1: Acquire a JSON Web Token (JWT) via Get Streaming Token endpoint To access the streaming endpoint, obtain a JWT via the Get Streaming Token endpoint. While the streaming endpoint doesn't require an API Key, it requires a valid JWT as a query parameter for streaming footage. Step 2: Assemble the API endpoint URL Construct the full API endpoint URL with the necessary parameters. Determine whether you're streaming live or historical footage, specify the resolution (low or high), identify the camera, and identify the organization. Refer to the parameter documentation for detailed specifications. Certain parameters must have a single value, while others don't need to be manually specified. Ensure all parameters have the correct values. Upon completing this step, you will have a fully constructed URL for the endpoint, which will return an m3u8 playlist file in response. Note: Specify the key as stream.m3u8 to start HLS streaming for live or historical footage. Step 3: Call the endpoint to stream footage Once you've assembled the endpoint URL, you can either directly call the endpoint or let compatible video players handle the streaming process. Most HLS-compatible players will automatically interact with the endpoint, manage the m3u8 playlist response, and request subsequent video segments. Alternatively, if you want to directly handle the m3u8 playlist output in your frontend code, you can parse the list of video segment files and render footage according to your application's requirements. Response Codes: | Response Code | Message | Troubleshooting Steps |
| 500 | Failed authentication step | Check if a valid JSON web token was submitted. |
| 500 | Internal Server Error | Verkada's server might be experiencing issues. Submit a support ticket if it fails repeatedly. |
| 500 | Error Fetching Live Video m3u8 | Check if all query parameters have correct values. |
| 500 | Error Fetching Historical Video m3u8 | Check if all query parameters have correct values and the footage needed (i.e. timestamp specified) is within the camera's days of retention. |
| 500 | Error Fetching Live Video Init mp4 File | Check if all query parameters have correct values. |
| 500 | Error Fetching Historical Video Init mp4 File | Check if all query parameters have correct values and the footage needed (i.e. timestamp specified) is within the camera's days of retention. |
| 500 | Error Fetching Historical Video m4s File | Check if all query parameters have correct values. |
| 500 | Error Fetching Live Video m4s File | Check if all query parameters have correct values. |
| 500 | Error Fetching Historical Video Encryption Key | Check if all query parameters have correct values. |
For standard HTTP response codes, refer to our General Troubleshooting page.
- [Delete a Person of Interest](https://apidocs.verkada.com/reference/deletepersonofinterestviewv1.md): Deletes a Person of Interest from an organization using a specified person ID.
- [Get All Person of Interest](https://apidocs.verkada.com/reference/getpersonofinterestviewv1.md): Returns the time of creation, label, last time seen, and person ID for each Person of Interest for an organization.
- [Update a Person of Interest](https://apidocs.verkada.com/reference/patchpersonofinterestviewv1.md): Updates a label of Person of Interest for an organization using a specified person ID.
- [Create a Person of Interest](https://apidocs.verkada.com/reference/postpersonofinterestviewv1.md): Creates a Person of Interest for an organization using a specified base64 encoded string of face image and label.
- [Access APIs Intro & Overview](https://apidocs.verkada.com/reference/access-api-101.md)
- [Access Users, Groups, and Credentials Guide](https://apidocs.verkada.com/reference/access-user-guide.md)
- [Access Doors and Scheduling Guide](https://apidocs.verkada.com/reference/access-doors-guide.md)
- [Access Events Guide](https://apidocs.verkada.com/reference/access-events-guide.md)
- [Access Levels Guide](https://apidocs.verkada.com/reference/access-levels-guide.md)
- [Access Scenarios Guide](https://apidocs.verkada.com/reference/access-scenarios-guide.md)
- [Get All Access Groups](https://apidocs.verkada.com/reference/getaccessgroupsviewv1.md): Retrieves a list of all access groups in a given organization. The response is a list of Access Group Objects.
- [Delete Access Group](https://apidocs.verkada.com/reference/deleteaccessgroupviewv1.md): Delete an access group with the given group identifier within the given organization.
- [Get Access Group](https://apidocs.verkada.com/reference/getaccessgroupviewv1.md): Retrieves an access group specified by its Verkada-defined unique identifier(Group ID). The response is the Access Group Metadata Object for the desired Access Group.
- [Create Access Group](https://apidocs.verkada.com/reference/postaccessgroupviewv1.md): Create an access group within the given organization using the given name. The name of the access group must be unique within the organization. This returns the Access Group Metadata Object for the created Access Group.
- [Remove User from Access Group](https://apidocs.verkada.com/reference/deleteaccessgroupuserviewv1.md): Remove an access user to an access group with the Verkada defined group ID and the user defined either by their User ID or their External ID. Both the group ID and the User ID(or External ID) are passed as query parameter in the URL.
- [Add User to Access Group](https://apidocs.verkada.com/reference/putaccessgroupuserviewv1.md): Add an access user to an access group with the Verkada defined group ID and either the user defined External ID or the Verkada defined user ID. The group ID is passed in as query parameter in the URL. The external ID or Verkada user ID(but not both) is passed in the json object in the body of the request.
- [Get All Access Users](https://apidocs.verkada.com/reference/getaccessmembersviewv1.md): This returns a list of All Access User Objects for all access members in an organization. The list is contained in a json as the value to the key "access_members". The information includes the Verkada-defined user_id, the organization-defined employee_id, the access users's email, and the access user's full name. By default, visitor users are excluded. Use the include_visitors query parameter to include them.
- [Get Access Information Object](https://apidocs.verkada.com/reference/getaccessuserviewv1.md): Given the Verkada created User Id, user defined External Id, email address, or employee ID, retrieve the Access Object Information for the specified user.
- [Activate BLE for Access User](https://apidocs.verkada.com/reference/putactivateblemethodviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), activate bluetooth unlock capability for a user. Response is updated Access Information Object.
- [Deactivate BLE for Access User](https://apidocs.verkada.com/reference/putdeactivateblemethodviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), deactivate bluetooth unlock capability for a user. Response is updated Access Information Object.
- [Set End Date for User](https://apidocs.verkada.com/reference/putaccessenddateviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), set the end date for an access users credentials to become invalid. After this time, all methods of access will be revoked. End date value will be passed as a parameter in a json payload. Returns the updated Access Information Object.
- [Remove Entry Code for User](https://apidocs.verkada.com/reference/deleteaccessuserpinviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), remove the entry code of a user. Returns the updated access information object.
- [Set Entry Code for User](https://apidocs.verkada.com/reference/putaccessuserpinviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), set the entry code for a user. Pin code value will be passed as a parameter in a json payload. Returns the updated Access Information Object.
- [Send Pass App Invite for User](https://apidocs.verkada.com/reference/postsendpassappinviteviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), send out a Pass App invite.
- [Delete Profile Photo](https://apidocs.verkada.com/reference/deleteprofilephotoviewv1.md): This deletes a profile photo for the specified user.
- [Get Profile Photo](https://apidocs.verkada.com/reference/getprofilephotoviewv1.md): This retrieves a profile photo for the specified user.
- [Upload Profile Photo](https://apidocs.verkada.com/reference/putprofilephotoviewv1.md): This uploads a profile photo for the specified user.
- [Activate Remote Unlock for User](https://apidocs.verkada.com/reference/putactivateremoteunlockviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), activate remote unlock capability for a user. Returns the updated Access Information Object.
- [Deactivate Remote Unlock for User](https://apidocs.verkada.com/reference/putdeactivateremoteunlockviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), deactivate remote unlock capability for a user. Returns the updated Access Information Object.
- [Set Start Date for User](https://apidocs.verkada.com/reference/putaccessstartdateviewv1.md): Given the user defined external ID or Verkada defined user ID (but not both), set the start date for an access users credentials to become valid. Before this time, all methods of access specified for this access user will invalid. Start date value will be passed as a parameter in a json payload. Returns the updated Access Information Object.
- [Delete Access Card](https://apidocs.verkada.com/reference/deleteaccesscardviewv1.md): Deletes an access card of a specified access user given their user_id or external_id, the org_id, and the card_id.
- [Add Card to User](https://apidocs.verkada.com/reference/postaccesscardviewv1.md): Create and add an access card for a specified user_id or external_id and org_id. Card object will be passed in the body of the request as a json. We require facility code and card number OR card_number_hex. The successful repsonse will be the created credential information.
- [Activate Access Card](https://apidocs.verkada.com/reference/putaccesscardactivateviewv1.md): Given the Verkada defined user ID (OR user defined external ID)and Card ID, activate a specific access card for a user. Returns the updated access card information.
- [Deactivate Access Card](https://apidocs.verkada.com/reference/putaccesscarddeactivateviewv1.md): Given the Verkada defined user ID (OR user defined external ID)and Card ID, deactivate a specific access card for a user. Returns the updated access card information.
- [Delete License Plate from User](https://apidocs.verkada.com/reference/deletelicenseplateviewv1.md): Deletes a license plate credential from a specified user by providing the user_id or the external_id, the org_id, and the license_plate_number.
- [Add License Plate to User](https://apidocs.verkada.com/reference/postlicenseplateviewv1.md): Add a license plate credential to a user given a specified user_id or external_id and org_id. License plate object will be passed in the body of the request as a json. We require a string of 6 alphanumeric values. The License Plate Object is returned.
- [Activate License Plate](https://apidocs.verkada.com/reference/putlicenseplateactivateviewv1.md): Given the Verkada defined user ID (OR user defined external ID)and Licence Plate Number, activate a users Licence Plate Credential. Returns the updated License Plate Object.
- [Deactivate License Plate](https://apidocs.verkada.com/reference/putlicenseplatedeactivateviewv1.md): Given the Verkada defined user ID (OR user defined external ID)and Licence Plate Number, deactivate a users Licence Plate Credential. Returns the updated License Plate Object.
- [Delete MFACode from User](https://apidocs.verkada.com/reference/deletemfacodeviewv1.md): Deletes a mfa code credential from a specified user by providing the user_id or the external_id, the org_id, and the mfa_code.
- [Add MFA Code to User](https://apidocs.verkada.com/reference/postmfacodeviewv1.md): Add a mfa code credential to a user given a specified user_id or external_id and org_id. MFA code object will be passed in the body of the request as a json. We require a string of 6 alphanumeric values. The MFA Code Object is returned.
- [Disable Face Unlock](https://apidocs.verkada.com/reference/deletefaceunlockdisableexternaluserviewv2.md): Disable face unlock for a user. This will delete their face credential and disable the face unlock access method. Any pending mobile enrollment invitations for this user will also be deleted.
- [Enable Face Unlock with Profile Photo](https://apidocs.verkada.com/reference/postfaceunlockcopyuserphotoexternaluserviewv2.md): Enable face unlock for a user by using their existing profile photo. This will create a face credential from the user's profile photo. If the user already has a face credential and overwrite is False, the request will fail. The profile photo must meet quality requirements for face recognition.
- [Enable Face Unlock with Mobile Enrollment Invitation](https://apidocs.verkada.com/reference/postfaceunlockinviteexternaluserviewv2.md): Enable face unlock for a user by sending them an invitation to enroll their face via mobile device. An email will be sent to the user with a link to complete the enrollment process. If the user already has a face credential and overwrite is False, the request will fail. When overwrite is True, the invitation is sent and the user can upload a new photo which will replace the existing credential.
- [Enable Face Unlock with Uploaded Photo](https://apidocs.verkada.com/reference/postfaceunlockuploadphotoexternaluserviewv2.md): Enable face unlock for a user by uploading a new photo. The photo must be provided as a multipart/form-data file upload in the 'file' field. If the user already has a face credential and overwrite is False, the request will fail. The uploaded photo must meet quality requirements for face recognition.
- [Disable Face Unlock](https://apidocs.verkada.com/reference/deletefaceunlockdisableuserviewv2.md): Disable face unlock for a user. This will delete their face credential and disable the face unlock access method. Any pending mobile enrollment invitations for this user will also be deleted.
- [Enable Face Unlock with Profile Photo](https://apidocs.verkada.com/reference/postfaceunlockcopyuserphotouserviewv2.md): Enable face unlock for a user by using their existing profile photo. This will create a face credential from the user's profile photo. If the user already has a face credential and overwrite is False, the request will fail. The profile photo must meet quality requirements for face recognition.
- [Enable Face Unlock with Mobile Enrollment Invitation](https://apidocs.verkada.com/reference/postfaceunlockinviteuserviewv2.md): Enable face unlock for a user by sending them an invitation to enroll their face via mobile device. An email will be sent to the user with a link to complete the enrollment process. If the user already has a face credential and overwrite is False, the request will fail. When overwrite is True, the invitation is sent and the user can upload a new photo which will replace the existing credential.
- [Enable Face Unlock with Uploaded Photo](https://apidocs.verkada.com/reference/postfaceunlockuploadphotouserviewv2.md): Enable face unlock for a user by uploading a new photo. The photo must be provided as a multipart/form-data file upload in the 'file' field. If the user already has a face credential and overwrite is False, the request will fail. The uploaded photo must meet quality requirements for face recognition.
- [Get All Available Access Levels](https://apidocs.verkada.com/reference/getaccesslevelview.md)
- [Create Access Level](https://apidocs.verkada.com/reference/postaccesslevelview.md)
- [Delete Access Level](https://apidocs.verkada.com/reference/deleteaccessleveldetailview.md)
- [Get Access Level](https://apidocs.verkada.com/reference/getaccessleveldetailview.md)
- [Update Access Level](https://apidocs.verkada.com/reference/putaccessleveldetailview.md)
- [Add Access Schedule Event to Access Level](https://apidocs.verkada.com/reference/postaccesslevelscheduleview.md)
- [Delete Access Schedule Event on Access Level](https://apidocs.verkada.com/reference/deleteaccesslevelscheduleview.md)
- [Get Access Schedule Event Details](https://apidocs.verkada.com/reference/getaccesslevelscheduleview.md)
- [Update Access Schedule Event on Access Level](https://apidocs.verkada.com/reference/putaccesslevelscheduleview.md)
- [Unlock Door as Admin](https://apidocs.verkada.com/reference/postaccessadminapiunlockviewv1.md): Sends a request to unlock a door with `door_id` irrespective of any user's door access privileges. The door_id is passed into the JSON object in the body of the request. The successful response will contain the unlocked `door_id` and the duration of the unlock.
- [Unlock Door as User](https://apidocs.verkada.com/reference/postaccessuserapiunlockviewv1.md): Sends a request to unlock a door with `door_id` as the user with the specified `user_id` or `external_id`. The door_id and one of either the external ID or Verkada user ID (but not both) are passed in the json object in the body of the request. The unlock request will only be granted if the user with the specified `user_id` has door access permissions for that `door_id` through an Access Level in Verkada Command. The successful response will contain the unlocked `door_id` and the duration of the unlock.
- [Get Doors](https://apidocs.verkada.com/reference/getaccessdoorinformationviewv1.md): Retrieves a list of all doors in the organization. The response can optionally be filtered to doors within sites with the requested `site_ids` or to the specific doors represented by the specified `door_ids`. Only one of `site_ids` or `door_ids` can be used to filter the response for a single request (not both). A successful response will contain one Door Information Object per corresponding undeleted door.
- [Get All Available Door Exception Calendars](https://apidocs.verkada.com/reference/getaccessdoorexceptioncalendarsviewv1.md)
- [Create Door Exception Calendar](https://apidocs.verkada.com/reference/postaccessdoorexceptioncalendarsviewv1.md)
- [Delete Door Exception Calendar](https://apidocs.verkada.com/reference/deleteaccessdoorexceptioncalendarviewv1.md)
- [Get Door Exception Calendar](https://apidocs.verkada.com/reference/getaccessdoorexceptioncalendarviewv1.md)
- [Update Door Exception Calendar](https://apidocs.verkada.com/reference/putaccessdoorexceptioncalendarviewv1.md)
- [Add Exception to Door Exception Calendar](https://apidocs.verkada.com/reference/postaccessdoorexceptionsviewv1.md)
- [Delete Exception on Door Exception Calendar](https://apidocs.verkada.com/reference/deleteaccessdoorexceptionviewv1.md)
- [Get Exception on Door Exception Calendar](https://apidocs.verkada.com/reference/getaccessdoorexceptionviewv1.md)
- [Update Exception on Door Exception Calendar](https://apidocs.verkada.com/reference/putaccessdoorexceptionviewv1.md)
- [Door Information Object](https://apidocs.verkada.com/reference/door-information-object.md)
- [Site Information Object](https://apidocs.verkada.com/reference/site-information-object.md)
- [Access Level Object](https://apidocs.verkada.com/reference/door-exception-calendar-object-copy.md): An Access Level that grants access to users included in `access_groups` to `doors` during the time periods specified b `access_schedule_events`. Door Exception Calendar that applies exception states defined by Door Exceptions to the Door Schedules of all doors included in `doors`.
- [Access Schedule Event Object](https://apidocs.verkada.com/reference/access-level-object-copy.md): An Access Schedule Event object that is on an Access Level.
- [Door Exception Calendar Object](https://apidocs.verkada.com/reference/door-exception-calendar-object.md): A Door Exception Calendar that applies exception states defined by Door Exceptions to the Door Schedules of all doors included in `doors`.
- [Door Exception Object](https://apidocs.verkada.com/reference/door-exception-object.md): A Door Exception Object that is on a Door Exception Calendar.
- [Recurrence Rule Object](https://apidocs.verkada.com/reference/recurrence-rule-object.md): Defines when a Door Exception Object on a Door Exception Calendar should repeat.
The data model is based on the "Recurrence Rule" value type as defined by the iCalendar standard (RFC 5545). Limitations of the Verkada Recurrence Rule Object compared to the more generic iCalendar "Recurrence Rule" are called out in-line below.
- [Access Scenario Object](https://apidocs.verkada.com/reference/access-scenario-object.md)
- [Get Access Events](https://apidocs.verkada.com/reference/geteventsviewv1.md): Returns events for an organization within a specified time range.
- [Get All Access Scenarios](https://apidocs.verkada.com/reference/getaccessscenariolistviewv1.md): Lists all access scenarios for the organization. To use this API, you need an API Key with "Read" permission for "Access Scenario Management" endpoints or an API Key with "Read" permission for "Access Control" endpoints.
- [Activate Access Scenario](https://apidocs.verkada.com/reference/postaccessscenarioactivateviewv1.md): Activates a scenario with the given `scenario_id`. To use this API, you need an API Key having "Read/Write" permission for "Access Control" endpoints. Manage via API must also be enabled for scenarios in your organization.
- [Release Access Scenario](https://apidocs.verkada.com/reference/postaccessscenarioreleaseviewv1.md): Releases a scenario with the given `scenario_id`. To use this API, you need an API Key having "Read/Write" permission for "Access Control" endpoints. Manage via API must also be enabled for scenarios in your organization.
- [Get Audit Logs](https://apidocs.verkada.com/reference/getauditlogsviewv1.md): Returns audit logs for an organization within a specified time range. All audit logs include a timestamp in ISO 8601 date time format, user info, IP address, event info and device inf.
- [Delete User](https://apidocs.verkada.com/reference/deleteuserviewv1.md): Deletes a user for an organization based on either provided user ID or an external ID set during creation.
- [Get User](https://apidocs.verkada.com/reference/getuserviewv1.md): Returns a user for an organization based on either provided user ID or an external ID set during creation.
- [Create User](https://apidocs.verkada.com/reference/postuserviewv1.md): Creates a user for in an organization. External ID required. Otherwise, the newly created user will contain a user ID which can be used for identification.
- [Update User](https://apidocs.verkada.com/reference/putuserviewv1.md): Updates a user's metadata for an organization based on either provided user ID or an external ID set during creation.
- [Get Sensor Alerts](https://apidocs.verkada.com/reference/getsensoralertsviewv1.md): Returns all alerts for all (or subset of) sensors in an org over a specified time range. The response will include a list of sensor alerts for the organization (or given devices), including the device that triggered the alert, the alert threshold, and start and end timestamp of the alert.
- [Get Sensor Data](https://apidocs.verkada.com/reference/getsensordataviewv1.md): Returns all sensor readings for a particular sensor over a specified time range. Responses will include the start and end time of the data requested and device information (ID, serial number) alongside the readings.
- [Get Guest Events for a Site](https://apidocs.verkada.com/reference/getguesteventviewv2.md): Returns a paginated list of Guest events and their event parts for a site within a time range. Guest events allow organizations to pre-register and manage visitors for specific events. See https://help.verkada.com/guest/configuration-and-setup/guest-events for more information.
- [Create a Guest Event](https://apidocs.verkada.com/reference/postguesteventviewv2.md): Creates a Guest event based on a host, guest type, invitees, and specified start and end times. Supports multi-part events by providing multiple time ranges in `event_times`. A maximum of 30 time spans may be specified. Guest events allow organizations to pre-register and manage visitors for specific events. See https://help.verkada.com/guest/configuration-and-setup/guest-events for more information.
- [Delete Event](https://apidocs.verkada.com/reference/deleteguestsingleeventviewv2.md): Deletes a Guest event by `guest_event_id`. Guest events allow organizations to pre-register and manage visitors for specific events. See https://help.verkada.com/guest/configuration-and-setup/guest-events for more information.
- [Get Guest Event by ID](https://apidocs.verkada.com/reference/getguestsingleeventviewv2.md): Get specific details for a Guest event with its event parts and invitees by `guest_event_id`. Guest events allow organizations to pre-register and manage visitors for specific events. See https://help.verkada.com/guest/configuration-and-setup/guest-events for more information.
- [Get Hosts for a Site](https://apidocs.verkada.com/reference/gethostviewv2.md): Returns hosts for a specific Guest site. If email is provided, returns the corresponding host with a matching email. Otherwise, returns a paginated list of hosts for the site.
- [Get Approved Lists](https://apidocs.verkada.com/reference/getapprovedlistsviewv2.md): Returns a paginated list of approved lists for the organization. Optionally filter by site_id to get lists for a specific site.
- [Add People to Approved Lists](https://apidocs.verkada.com/reference/patchapprovedlistaddviewv2.md): Adds one or more people to one or more approved lists. This operation is idempotent - calling it multiple times with the same data won't create duplicates. People are matched by external_id first, then by email if no external_id is provided.
- [Remove People from Approved Lists](https://apidocs.verkada.com/reference/patchapprovedlistremoveviewv2.md): Removes one or more people from one or more approved lists. If approved_list_ids is omitted, removes the person from all lists. People must be identified by either person_id or external_id.
- [Get Approved List Members](https://apidocs.verkada.com/reference/getapprovedlistmembersviewv2.md): Returns a paginated list of people on a specific approved list. Excludes expired members.
- [Reset Approved List](https://apidocs.verkada.com/reference/patchapprovedlistresetviewv2.md): Removes all members from an approved list, effectively clearing the list. Returns the count of members removed.
- [Delete a Guest Deny List](https://apidocs.verkada.com/reference/deletedenylistview.md): Deletes all deny list entries, including the CSV, POI entries, and photos from the S3 buckets.
- [Post Guest Deny List](https://apidocs.verkada.com/reference/postdenylistview.md): Uploads deny list in csv format.
- [Get Guest Sites](https://apidocs.verkada.com/reference/getguestsiteview.md): Returns a list of Guest sites in an organization.
- [Get Guest Visits](https://apidocs.verkada.com/reference/getvisitview.md): Returns a list of visits in a site.
- [Get Guest Types for a Site](https://apidocs.verkada.com/reference/getguesttypeviewv2.md): Returns a paginated list of Guest types for a specific Guest site.
- [Get Alarm Devices](https://apidocs.verkada.com/reference/getalarmsdevicesviewv1.md): Gets information about the all the devices in an alarm site specified by . Returns a subset of the alarm site's devices by specifying device_ids.
- [Get Site Information](https://apidocs.verkada.com/reference/getalarmssitesviewv1.md): Returns information about a list of alarm sites
- [Get Viewing Station Devices](https://apidocs.verkada.com/reference/getviewingstationdevicesviewv1.md): Gets information about the all the Viewing Stations in an organization.