This guide describes how to get started with the Verkada API. If you want some inspiration for what you can build, check out our Example Use Cases.
Learn how to get started with the Verkada API
Time to Complete: 15 mins
API Keys
The Verkada API uses API keys to authenticate requests. Each API request requires an API Key as well as an organization ID to validate the authenticity of the request being made. It is important to store API keys in a secure location, similar to your username and password. If a malicious user were to gain access to your API key and Org ID, they would gain a high-level of access to the creation or deletion of certain entities in your organization (ex. profiles of interest, access users, etc..).
Only organization admins have the ability to create API keys (maximum of 10 API keys per organization). Without Organization Admin permissions, users will not have access to the Verkada API page in Command. There are two types of keys that each have their specific set of permissions:
- Read-only key: these keys are used to retrieve information from Command (ex. alerts, people count, etc..).
- Read/Write key: these keys can be used to both retrieve information from Command as well as post new information to the organization (ex. create a POI profile, create Helix events, etc...)
All changes to an API key or a Webhook config are audit logged.
Step 1: Generate a new API Key
To create a new API Key (Organization Admin only), navigate to the Verkada API tab under the Organization Settings page. Click '+ New API Key' button to add a new API key for your organization.
You will then be prompted to provide a name for the API key you are creating. Adding a name facilitates the managements of your various keys throughout your organization, although we recommend only creating API keys when required and reusing the same key for different applications as much as possible. This menu is also where you will select the level of permissions for the key (read-only or read/write) as well as the expiration of the key.
Clicking on "Generate API Key" will result in the generated key being displayed on the screen. It is important to note that the API key will only be displayed once in Command (during this step), so make sure to copy it and store it in a secure location.
Step 2: Make an API request
Select the api endpoint that corresponds to your region.
By default, your api endpoint should be https://api.verkada.com
If you are an EU based customer, your api endpoint should be https://api.eu.verkada.com
Step 3: Make an API request
All API requests must be made over HTTPS. API authentication is performed using your API key as the header (x-api-key) and including your organization ID in the path to end points.
To get a list of all your cameras from a US based Command organization, use your API key as the header and call the following endpoint: https://api.verkada.com/cameras/v1/devices
API Request:
curl --request GET --url https://api.verkada.com/cameras/v1/devices
--header ‘Accept: application/json’ --header ‘x-api-key: <api_key>’
If you are a EU-based customer, the API endpoint would be https://api.eu.verkada.com/cameras/v1/devices and the request would look like the following:
API Request:
curl --request GET --url https://api.eu.verkada.com/cameras/v1/devices
--header ‘Accept: application/json’ --header ‘x-api-key: <api_key>’
Sample Response:
{
"cameras": [
{
"camera_id": "00000000-1111-2222-3333-444444444444",
"cloud_retention": 0,
"date_added": 1649106126,
"device_retention": 30,
"firmware": "Up to date v2022.07.05.236546-arnold-4k",
"last_online": 1657749648,
"local_ip": "192.168.10.1",
"location": "Verkada HQ",
"location_angle": 0,
"location_lat": 37.56564,
"location_lon": -122.32074,
"mac": "E0:A7:00:1C:30:A8",
"model": "CD62",
"name": "Front Door",
"serial": "AAAA-BBBB-CCCC",
"site": "HQ first floor",
"status": "Live"
}
]
}
Congratulations, you are now successfully set up with Verkada APIs, and should be ready to build your own application!