Troubleshooting Verkada Third-Party App Integrations
Verkada's robust API allows for powerful integrations with a wide range of third-party applications, from analytics platforms to access control systems. These integrations can unlock immense value, but when they don't work as expected, it can be challenging to diagnose the problem. Whether you're dealing with authentication failures, data syncing problems, or webhook issues, this guide will help you troubleshoot common Verkada third-party app integration problems.
This guide is intended for administrators and developers who are setting up or maintaining these integrations.
## Common Symptoms of Integration Failure
First, let's pinpoint the issue you're encountering. Common problems often manifest in the following ways:
- The third-party application cannot authenticate with the Verkada API: You repeatedly get 'Access Denied', 'Invalid API Key', or '401 Unauthorized' errors.
- Data (like camera feeds or events) is not syncing correctly: The third-party app is empty, or it shows outdated information that doesn't match what you see in Verkada Command.
- Received an 'Invalid API Key' or 'Access Denied' error.
- The integration works intermittently or with significant delays: Data appears, but it's not in real-time, or the connection seems to drop periodically.
- Actions triggered from the third-party app are not reflected in Verkada Command: For example, trying to initiate a recording via the API doesn't work.
- Webhooks from Verkada are not being received by the third-party service: Your application is not getting notified of new events as they happen.
- The third-party app shows outdated information from Verkada.
If any of these sound familiar, follow the structured troubleshooting steps below.
## Step-by-Step Integration Troubleshooting
Let's work through the potential points of failure, from the simplest to the most complex.
### 1. Verify Your API Key and Permissions
The most common point of failure is the API key itself.
- Check the API Key: Carefully check that the API key has been copied and pasted correctly into the third-party application's configuration. Ensure there are no leading or trailing spaces.
- Confirm Key Scopes (Permissions): When you generate an API key in Verkada Command, you must assign it specific permissions (scopes). For example, if the third-party app needs to view video feeds, the key must have the 'Camera' read scope. If it needs to view events, it needs the 'Events' read scope. Go to Admin > API & Integrations > API Keys in your Command dashboard, inspect the key you are using, and ensure it has all the necessary permissions for the integration to function.
- Ensure the Key is Active: Verify that the API key has not been revoked or disabled in the Command dashboard.
- Regenerate if Necessary: If you are unsure about the key, the safest option is often to revoke the existing key and generate a new one with the correct permissions. Remember to update the third-party application with the new key.
### 2. Check Network and Firewall Settings
If the API key is correct, the next step is to investigate potential network blockages.
- Firewall Rules: The application or server that is communicating with Verkada's API needs to be able to make outbound HTTPS requests on TCP port 443. Check your corporate firewall, server security groups, and any other network filtering to ensure that traffic to
api.verkada.comis not being blocked. - Webhook Ingress: If you are using webhooks, your application's endpoint needs to be publicly accessible from the internet. Verkada's servers need to be able to send POST requests to your specified URL. Ensure your firewall allows inbound traffic from Verkada's IP ranges to your webhook listener.
### 3. Address API Rate Limiting
To ensure platform stability, Verkada's API enforces rate limits on how many requests can be made in a given period.
- Look for 429 Errors: If the integration works for a while and then stops, or if you see '429 Too Many Requests' errors in your logs, you are likely hitting a rate limit.
- Implement Exponential Backoff: The developer of the third-party integration should implement a proper backoff strategy. When a 429 error is received, the application should wait for a period of time (often specified in the
Retry-AfterHTTP header) before attempting the request again. - Optimise API Calls: Review the integration's logic. Is it making unnecessary calls? Can data be cached locally? Can requests be batched? Reducing the number of API calls is the best way to stay within the limits.
### 4. Debugging Webhooks
Webhooks can be tricky to debug because they are asynchronous.
- Use a Testing Tool: Use a service like
webhook.siteor Postman to test your endpoint. Generate a test webhook from the Verkada Command interface and point it to your test URL. This will show you the exact payload and headers being sent, which can help you verify that your application is parsing them correctly. - Check Server Logs: Inspect the logs of your webhook server. Are they showing incoming requests from Verkada? Are there any errors being thrown when the request is processed? This can help you identify bugs in your application code.
By systematically checking your API keys, network settings, and application logic, you can resolve the vast majority of Verkada integration issues. If problems persist, consulting the official Verkada API documentation and reaching out to the support team of the third-party application are the best next steps.