Skip to main content

About Verkada

Verkada is a cloud-managed physical security platform spanning cameras, door access control, alarms, guest management, and environmental sensors, all administered through Verkada Command. The Serval integration connects to your Verkada organization with an org-scoped API key and gives workflows typed access to Verkada’s entire public API, plus a pre-built workflow for creating Verkada users. Authentication: API key. Serval stores your Verkada organization API key and exchanges it behind the scenes for short-lived API tokens (valid roughly 30 minutes), caching each token and refreshing it automatically before it expires - you never handle tokens yourself. Data sync: On-demand only. The integration performs no background syncing or data ingestion; workflows call the Verkada API live at run time.

What the Verkada integration enables

Anything defined in the Verkada API can be accessed through Serval.

Get your credentials

You need an organization API key created by a Verkada org admin in Verkada Command, plus your Verkada Organization ID. Verkada’s Quick Start Guide covers key creation in detail.
1

Open API settings in Verkada Command

In Verkada Command, go to Admin / Org Settings and open the API & Integrations tab.
2

Create a new API key

Click + Add. Name the key (for example, ServalIntegration) and select the API endpoints Serval should be able to access.
3

Choose the permission scope

Pick Read-Only if Serval only needs to retrieve data, or Read/Write if workflows will create or modify anything - including the Create Verkada User workflow.
4

Set the expiration

Choose an expiration for the key. You will need to rotate the key in Serval before it expires.
5

Generate and copy the key

Click Generate API and copy the key immediately.
6

Find your Organization ID

In Command org settings, locate your Verkada Organization ID. You will enter it in the Serval connect form.
Verkada shows the API key only once, at creation. If you lose it, you must generate a new key and update the Serval connection.
Endpoint and permission scoping happens entirely in Verkada at key-creation time. The Create Verkada User workflow requires Read/Write scope covering Verkada’s user management endpoints - a Read-Only key cannot create users.

Connect in Serval

1

Add the Verkada integration

In Serval, add a new Verkada connection. The connect form has three fields, all required and marked with an asterisk.
2

API Key (required)

Paste the organization API key you copied from Verkada Command. The field is masked as you type.
3

API Domain (required)

Enter your Verkada API domain - for standard organizations this is api.verkada.com (the field’s placeholder). You can enter the bare domain; https:// is assumed. Leaving it blank shows “This field is required”. Addresses starting with http:// are rejected with “API domain must use https:// protocol”, and values that cannot be parsed fail with an error beginning “invalid API domain format”.
4

Organization ID (required)

Enter your Verkada Organization ID from Command org settings. Leaving it blank shows “This field is required”. The Organization ID identifies the connection in Serval - one connection per Verkada organization.
5

Submit

Click Submit. If the backend rejects a value, the form shows “Failed to install integration” followed by “Invalid Verkada configuration” and the specific reason, such as “API key is required”, “API domain is required”, or “organization ID is required”. A blank API Key is caught here, at submit time, rather than by the form itself.
When you later edit the connection, the saved API key is shown masked - bullets plus its last 4 characters - with a Replace button. To rotate the key, click Replace and paste the complete new key into the “Enter new value” box. An update that leaves the API Key blank keeps the saved key, and API Domain or Organization ID left blank also keep their saved values.

Verifying the connection

The Verkada integration has no built-in health checks, so the connection’s health-check panel will be empty - this is expected and does not indicate a problem. To confirm the connection works, run a workflow that performs a small read-only request against Verkada, such as listing your camera devices, and check that it returns data.
If a verification read succeeds but a specific workflow step fails, check the API key’s scope in Verkada Command first. Keys are restricted to the endpoints and permission level chosen at creation, so a key that can list cameras may still be unable to create users or unlock doors.

Gotchas and troubleshooting

This wrapper message means one of the three fields failed backend validation. The accompanying detail tells you which: “API key is required”, “API domain is required”, “API domain must use https:// protocol”, “invalid API domain format”, or “organization ID is required”. On a first-time connect the message is prefixed with “Failed to install integration”; on an edit it is prefixed with “Failed to update integration”. Fix the named field and save again.
Use api.verkada.com as the API Domain. Verkada’s regional domains for EU and Australia, and the GovCloud domain, are not currently supported by the integration. See Verkada’s Service Regions page for background on regions, and contact support@serval.com if your organization is hosted outside the default US region.
Verkada API keys are scoped at creation to specific endpoints and to Read-Only or Read/Write. Calls outside the key’s scope fail at Verkada regardless of how Serval is configured. In particular, the Create Verkada User workflow needs Read/Write scope covering user management. To broaden access, create a new key in Verkada Command with the right scope and update the connection.
Serval exchanges your stored API key for a short-lived access token automatically, caches it, and refreshes it before it expires (tokens are valid for roughly 30 minutes). A one-off token error should resolve on the next run. Persistent authentication failures usually mean the API key itself has expired or been revoked in Verkada Command - generate a new key there and update the Serval connection.
Verkada displays a generated key a single time. If it was not copied, generate a new key in Verkada Command (Admin / Org Settings, API & Integrations tab), then edit the Serval connection, click Replace next to the masked value, and paste the complete new key.
The Organization ID identifies and names the connection inside Serval and supports one connection per Verkada organization. It is not attached to API requests - Verkada determines your organization from the API key itself. An incorrect Organization ID will not cause API errors, but it will mislabel the connection.
Serval’s Verkada API actions are generated from Verkada’s official API specification, so only endpoints in the published Verkada API reference are available. If a request is rejected as unknown, confirm the endpoint exists in Verkada’s current API documentation.

Need help? Contact support@serval.com for assistance with your Verkada integration.