---
updatedAt: 2026-08-05T23:29:42.000Z
agentTools:
  projectIndex: https://apidocs.verkada.com/llms.txt
---

# Get Events

Returns unified events from camera, access control, and sensor devices within a specified time range.

This endpoint consolidates events from camera, access control, and sensor devices in your organization,
providing a single interface to retrieve security events, access control events, and environmental sensor events.

**Default Behavior**: Returns events from all supported product types from the last hour if no filters are specified.

### Supported Event Types

**Camera Events:**
- `camera_online`, `camera_offline` - Camera connectivity status
- `motion` - Motion detection events
- `person_of_interest` - Person of Interest detections
- `license_plate_of_interest` - License Plate of Interest detections
- `tamper` - Camera tampering events
- `crowd` - Crowd detection events
- `line_crossing` - Line crossing rule violations
- `loitering` - Loitering/dwell time violations
- `inactivity` - Inactivity/no-motion alert violations

**Access Control Events:**
- `door_opened`, `door_granted`, `door_rejected` - Access events
- `door_forced_open`, `door_held_open` - Security violations
- `door_tailgating` - Tailgating detection
- `door_tamper` - Door tampering events
- `door_offline` - Access control unit connectivity
- Plus 50+ additional access control event types for comprehensive monitoring

**Sensor Events:**
- `temperature`, `humidity` - Climate monitoring alerts
- `tvoc`, `co2`, `pm25` - Air quality alerts
- `noise` - Noise level alerts
- `sensor_motion` - Motion detection from sensors
- `air_quality` - General air quality alerts

### Filtering

Use these query parameters to filter results:
- **`product_types`**: Comma-separated product types (`camera`, `access_control`, `sensor`)
- **`device_ids`**: Comma-separated list of device IDs to filter by
- **`event_types`**: Comma-separated list of event types (see supported types above)
- **`start_time`**: Start time in ISO 8601 format (e.g., `2025-01-17T09:00:00Z`)
- **`end_time`**: End time in ISO 8601 format (defaults to current time if not specified)
- **`site_ids`**: Comma-separated list of site IDs (for access control events)

### Pagination

This endpoint uses cursor-based pagination with these parameters:
- **`limit`**: Number of events to return (1-1000, default 100)
- **`cursor`**: Pagination cursor from previous response for next page
- Continue paginating while the response includes a `cursor` value



### Examples

Get all events from the last hour:
```
GET /v2/events
```

Get only camera motion events from a specific time range:
```
GET /v2/events?product_types=camera&event_types=motion&start_time=2025-01-17T09:00:00Z&end_time=2025-01-17T17:00:00Z
```

Get access control events for specific doors:
```
GET /v2/events?product_types=access_control&device_ids=door1,door2&limit=50
```

Get sensor temperature and humidity alerts:
```
GET /v2/events?product_types=sensor&event_types=temperature,humidity&start_time=2025-01-17T09:00:00Z
```

# OpenAPI definition

````json
{
  "components": {
    "schemas": {
      "AccessEvent": {
        "additionalProperties": false,
        "description": "Access control event",
        "properties": {
          "device_id": {
            "description": "ID of the device that generated the event",
            "title": "Device Id",
            "type": "string"
          },
          "device_type": {
            "default": "access_control",
            "description": "Always 'access_control' for access events",
            "enum": [
              "access_control"
            ],
            "title": "Device Type",
            "type": "string"
          },
          "event_id": {
            "description": "Unique identifier for the event",
            "title": "Event Id",
            "type": "string"
          },
          "event_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccessEventInfo"
              }
            ],
            "description": "Access-specific event information",
            "title": "Event Info"
          },
          "event_type": {
            "description": "Type of event",
            "title": "Event Type",
            "type": "string"
          },
          "timestamp": {
            "description": "Event timestamp in RFC 3339 format (e.g., '2025-01-17T21:06:20+00:00')",
            "title": "Timestamp",
            "type": "string"
          }
        },
        "required": [
          "event_id",
          "device_id",
          "event_type",
          "timestamp"
        ],
        "title": "AccessEvent",
        "type": "object"
      },
      "AccessEventInfo": {
        "description": "Access control specific event fields",
        "properties": {
          "accepted": {
            "description": "Whether the unlock attempt was accepted",
            "title": "Accepted",
            "type": "boolean"
          },
          "access_controller_id": {
            "description": "Unique identifier of the access controller",
            "title": "Access Controller Id",
            "type": "string"
          },
          "access_controller_name": {
            "description": "Name of the access controller",
            "title": "Access Controller Name",
            "type": "string"
          },
          "aux_input_id": {
            "description": "Identifier of the auxiliary input",
            "title": "Aux Input Id",
            "type": "string"
          },
          "aux_input_name": {
            "description": "Name of the auxiliary input",
            "title": "Aux Input Name",
            "type": "string"
          },
          "building_id": {
            "description": "Identifier of the building",
            "title": "Building Id",
            "type": "string"
          },
          "building_name": {
            "description": "Name of the building",
            "title": "Building Name",
            "type": "string"
          },
          "direction": {
            "description": "Direction of access (in/out)",
            "title": "Direction",
            "type": "string"
          },
          "door_id": {
            "description": "Unique identifier of the door",
            "title": "Door Id",
            "type": "string"
          },
          "door_name": {
            "description": "Name of the door",
            "title": "Door Name",
            "type": "string"
          },
          "entity_id": {
            "description": "Identifier of the entity",
            "title": "Entity Id",
            "type": "string"
          },
          "entity_name": {
            "description": "Name of the entity",
            "title": "Entity Name",
            "type": "string"
          },
          "entity_type": {
            "description": "Type of the entity",
            "title": "Entity Type",
            "type": "string"
          },
          "floor_id": {
            "description": "Identifier of the floor",
            "title": "Floor Id",
            "type": "string"
          },
          "floor_name": {
            "description": "Name of the floor",
            "title": "Floor Name",
            "type": "string"
          },
          "floors": {
            "description": "List of floors",
            "items": {
              "$ref": "#/components/schemas/FloorInfo"
            },
            "title": "Floors",
            "type": "array"
          },
          "granted": {
            "description": "Whether access was granted (true) or denied (false)",
            "title": "Granted",
            "type": "boolean"
          },
          "input_value": {
            "description": "Value of the input",
            "title": "Input Value",
            "type": "string"
          },
          "message": {
            "description": "Event message",
            "title": "Message",
            "type": "string"
          },
          "raw_card": {
            "description": "Code or card number used in unlock attempt",
            "title": "Raw Card",
            "type": "string"
          },
          "scenario_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ScenarioInfo"
              }
            ],
            "description": "Information about scenario status (called lockdown in internal services)",
            "title": "Scenario Info"
          },
          "user_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserInfo"
              }
            ],
            "description": "Information about the user",
            "title": "User Info"
          }
        },
        "title": "AccessEventInfo",
        "type": "object"
      },
      "CameraEvent": {
        "additionalProperties": false,
        "description": "Camera event",
        "properties": {
          "device_id": {
            "description": "ID of the device that generated the event",
            "title": "Device Id",
            "type": "string"
          },
          "device_type": {
            "default": "camera",
            "description": "Always 'camera' for camera events",
            "enum": [
              "camera"
            ],
            "title": "Device Type",
            "type": "string"
          },
          "event_id": {
            "description": "Unique identifier for the event",
            "title": "Event Id",
            "type": "string"
          },
          "event_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CameraEventInfo"
              }
            ],
            "description": "Camera-specific event information",
            "title": "Event Info"
          },
          "event_type": {
            "description": "Type of event",
            "title": "Event Type",
            "type": "string"
          },
          "timestamp": {
            "description": "Event timestamp in RFC 3339 format (e.g., '2025-01-17T21:06:20+00:00')",
            "title": "Timestamp",
            "type": "string"
          }
        },
        "required": [
          "event_id",
          "device_id",
          "event_type",
          "timestamp"
        ],
        "title": "CameraEvent",
        "type": "object"
      },
      "CameraEventInfo": {
        "description": "Camera-specific event fields",
        "properties": {
          "crowd_threshold": {
            "description": "Threshold that was exceeded for crowd events",
            "title": "Crowd Threshold",
            "type": "integer"
          },
          "detected_objects": {
            "description": "Objects detected in motion/crowd events (e.g., ['person', 'vehicle'])",
            "items": {
              "type": "string"
            },
            "title": "Detected Objects",
            "type": "array"
          },
          "event_description": {
            "description": "Description for AI-generated events",
            "title": "Event Description",
            "type": "string"
          },
          "license_plate_number": {
            "description": "License plate number detected",
            "title": "License Plate Number",
            "type": "string"
          },
          "license_plate_state": {
            "description": "State/region of the license plate",
            "title": "License Plate State",
            "type": "string"
          },
          "location": {
            "description": "Location description",
            "title": "Location",
            "type": "string"
          },
          "location_lat": {
            "description": "Latitude coordinate",
            "title": "Location Lat",
            "type": "string"
          },
          "location_lon": {
            "description": "Longitude coordinate",
            "title": "Location Lon",
            "type": "string"
          },
          "person_label": {
            "description": "Label/name of the person of interest detected",
            "title": "Person Label",
            "type": "string"
          },
          "rounded_inactivity_duration_mins": {
            "description": "For inactivity alerts, how long (in minutes) the camera/group was inactive, rounded down to the nearest multiple of the alert rule's configured inactivity duration.",
            "title": "Rounded Inactivity Duration Mins",
            "type": "integer"
          }
        },
        "title": "CameraEventInfo",
        "type": "object"
      },
      "EventsErrorResponse": {
        "additionalProperties": false,
        "description": "Error response schema",
        "properties": {
          "details": {
            "description": "Additional error details",
            "title": "Details",
            "type": "object"
          },
          "error": {
            "description": "Error code",
            "title": "Error",
            "type": "string"
          },
          "message": {
            "description": "Human-readable error message",
            "title": "Message",
            "type": "string"
          }
        },
        "required": [
          "error",
          "message"
        ],
        "title": "EventsErrorResponse",
        "type": "object"
      },
      "EventsResponseV2": {
        "additionalProperties": false,
        "description": "Response schema for v2 events API",
        "properties": {
          "cursor": {
            "description": "Pagination cursor for retrieving the next page of results",
            "title": "Cursor",
            "type": "string"
          },
          "items": {
            "description": "List of events",
            "items": {
              "discriminator": {
                "mapping": {
                  "access_control": "#/definitions/AccessEvent",
                  "camera": "#/definitions/CameraEvent",
                  "intercom": "#/definitions/IntercomEvent",
                  "sensor": "#/definitions/SensorEvent"
                },
                "propertyName": "device_type"
              },
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CameraEvent"
                },
                {
                  "$ref": "#/components/schemas/SensorEvent"
                },
                {
                  "$ref": "#/components/schemas/AccessEvent"
                },
                {
                  "$ref": "#/components/schemas/IntercomEvent"
                }
              ]
            },
            "title": "Items",
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "title": "EventsResponseV2",
        "type": "object"
      },
      "FloorInfo": {
        "description": "Floor information for access events",
        "properties": {
          "door_id": {
            "description": "Unique identifier of the door",
            "title": "Door Id",
            "type": "string"
          },
          "floor_id": {
            "description": "Unique identifier of the floor",
            "title": "Floor Id",
            "type": "string"
          },
          "uuid": {
            "description": "Event ID for the unlock of the floor",
            "title": "Uuid",
            "type": "string"
          }
        },
        "title": "FloorInfo",
        "type": "object"
      },
      "IntercomEvent": {
        "additionalProperties": false,
        "description": "Intercom event",
        "properties": {
          "device_id": {
            "description": "ID of the device that generated the event",
            "title": "Device Id",
            "type": "string"
          },
          "device_type": {
            "default": "intercom",
            "description": "Always 'intercom' for intercom events",
            "enum": [
              "intercom"
            ],
            "title": "Device Type",
            "type": "string"
          },
          "event_id": {
            "description": "Unique identifier for the event",
            "title": "Event Id",
            "type": "string"
          },
          "event_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IntercomEventInfo"
              }
            ],
            "description": "Intercom-specific event information",
            "title": "Event Info"
          },
          "event_type": {
            "description": "Type of event",
            "title": "Event Type",
            "type": "string"
          },
          "timestamp": {
            "description": "Event timestamp in RFC 3339 format (e.g., '2025-01-17T21:06:20+00:00')",
            "title": "Timestamp",
            "type": "string"
          }
        },
        "required": [
          "event_id",
          "device_id",
          "event_type",
          "timestamp"
        ],
        "title": "IntercomEvent",
        "type": "object"
      },
      "IntercomEventInfo": {
        "properties": {
          "answered_by_name": {
            "description": "Name of the person or receiver who answered the call",
            "title": "Answered By Name",
            "type": "string"
          },
          "answered_timestamp": {
            "description": "Answered timestamp of the intercom event",
            "title": "Answered Timestamp",
            "type": "string"
          },
          "device_name": {
            "description": "Name of the device that generated the event",
            "title": "Device Name",
            "type": "string"
          },
          "end_timestamp": {
            "description": "End timestamp of the intercom event",
            "title": "End Timestamp",
            "type": "string"
          },
          "start_timestamp": {
            "description": "Start timestamp of the intercom event",
            "title": "Start Timestamp",
            "type": "string"
          }
        },
        "title": "IntercomEventInfo",
        "type": "object"
      },
      "Scenario": {
        "description": "Scenario information (called lockdown in internal services)",
        "properties": {
          "enabled": {
            "description": "Whether scenario is enabled",
            "title": "Enabled",
            "type": "boolean"
          },
          "message": {
            "description": "Message associated with the scenario",
            "title": "Message",
            "type": "string"
          },
          "name": {
            "description": "Name of the scenario",
            "title": "Name",
            "type": "string"
          },
          "scenario_id": {
            "description": "Identifier of the scenario",
            "title": "Scenario Id",
            "type": "string"
          }
        },
        "title": "Scenario",
        "type": "object"
      },
      "ScenarioInfo": {
        "description": "Scenario event information (called lockdown in internal services)",
        "properties": {
          "action": {
            "description": "Action taken during scenario",
            "title": "Action",
            "type": "string"
          },
          "scenario": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Scenario"
              }
            ],
            "description": "Scenario info",
            "title": "Scenario"
          }
        },
        "title": "ScenarioInfo",
        "type": "object"
      },
      "SensorEvent": {
        "additionalProperties": false,
        "description": "Sensor event",
        "properties": {
          "device_id": {
            "description": "ID of the device that generated the event",
            "title": "Device Id",
            "type": "string"
          },
          "device_type": {
            "default": "sensor",
            "description": "Always 'sensor' for sensor events",
            "enum": [
              "sensor"
            ],
            "title": "Device Type",
            "type": "string"
          },
          "event_id": {
            "description": "Unique identifier for the event",
            "title": "Event Id",
            "type": "string"
          },
          "event_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SensorEventInfo"
              }
            ],
            "description": "Sensor-specific event information",
            "title": "Event Info"
          },
          "event_type": {
            "description": "Type of event",
            "title": "Event Type",
            "type": "string"
          },
          "timestamp": {
            "description": "Event timestamp in RFC 3339 format (e.g., '2025-01-17T21:06:20+00:00')",
            "title": "Timestamp",
            "type": "string"
          }
        },
        "required": [
          "event_id",
          "device_id",
          "event_type",
          "timestamp"
        ],
        "title": "SensorEvent",
        "type": "object"
      },
      "SensorEventInfo": {
        "description": "Sensor-specific event fields (matching proposal specification)",
        "properties": {
          "end_time": {
            "description": "The end time of the alert",
            "title": "End Time",
            "type": "string"
          },
          "most_extreme_value": {
            "description": "The most extreme value for the sensor that was detected during the alert window",
            "title": "Most Extreme Value",
            "type": "number"
          },
          "reading": {
            "description": "The sensor type of the alert (i.e. temperature, TVOC)",
            "title": "Reading",
            "type": "string"
          },
          "threshold": {
            "description": "The user-defined threshold of the alert",
            "title": "Threshold",
            "type": "number"
          }
        },
        "title": "SensorEventInfo",
        "type": "object"
      },
      "UserInfo": {
        "description": "User information for access events",
        "properties": {
          "email": {
            "description": "Email address of the user",
            "title": "Email",
            "type": "string"
          },
          "first_name": {
            "description": "First name of the user",
            "title": "First Name",
            "type": "string"
          },
          "last_name": {
            "description": "Last name of the user",
            "title": "Last Name",
            "type": "string"
          },
          "name": {
            "description": "Full name of the user",
            "title": "Name",
            "type": "string"
          },
          "phone": {
            "description": "Phone number of the user",
            "title": "Phone",
            "type": "string"
          },
          "user_id": {
            "description": "Unique identifier of the user",
            "title": "User Id",
            "type": "string"
          }
        },
        "title": "UserInfo",
        "type": "object"
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "description": "Legacy API Key acquired from Command",
        "in": "header",
        "name": "x-api-key",
        "type": "apiKey"
      },
      "ApiToken": {
        "description": "API Token acquired from API Login",
        "in": "header",
        "name": "x-verkada-auth",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "title": "Events API",
    "version": "v1"
  },
  "openapi": "3.0.3",
  "paths": {
    "/v2/events": {
      "get": {
        "description": "Returns unified events from camera, access control, and sensor devices within a specified time range.\n\nThis endpoint consolidates events from camera, access control, and sensor devices in your organization,\nproviding a single interface to retrieve security events, access control events, and environmental sensor events.\n\n**Default Behavior**: Returns events from all supported product types from the last hour if no filters are specified.\n\n### Supported Event Types\n\n**Camera Events:**\n- `camera_online`, `camera_offline` - Camera connectivity status\n- `motion` - Motion detection events\n- `person_of_interest` - Person of Interest detections\n- `license_plate_of_interest` - License Plate of Interest detections\n- `tamper` - Camera tampering events\n- `crowd` - Crowd detection events\n- `line_crossing` - Line crossing rule violations\n- `loitering` - Loitering/dwell time violations\n- `inactivity` - Inactivity/no-motion alert violations\n\n**Access Control Events:**\n- `door_opened`, `door_granted`, `door_rejected` - Access events\n- `door_forced_open`, `door_held_open` - Security violations\n- `door_tailgating` - Tailgating detection\n- `door_tamper` - Door tampering events\n- `door_offline` - Access control unit connectivity\n- Plus 50+ additional access control event types for comprehensive monitoring\n\n**Sensor Events:**\n- `temperature`, `humidity` - Climate monitoring alerts\n- `tvoc`, `co2`, `pm25` - Air quality alerts\n- `noise` - Noise level alerts\n- `sensor_motion` - Motion detection from sensors\n- `air_quality` - General air quality alerts\n\n### Filtering\n\nUse these query parameters to filter results:\n- **`product_types`**: Comma-separated product types (`camera`, `access_control`, `sensor`)\n- **`device_ids`**: Comma-separated list of device IDs to filter by\n- **`event_types`**: Comma-separated list of event types (see supported types above)\n- **`start_time`**: Start time in ISO 8601 format (e.g., `2025-01-17T09:00:00Z`)\n- **`end_time`**: End time in ISO 8601 format (defaults to current time if not specified)\n- **`site_ids`**: Comma-separated list of site IDs (for access control events)\n\n### Pagination\n\nThis endpoint uses cursor-based pagination with these parameters:\n- **`limit`**: Number of events to return (1-1000, default 100)\n- **`cursor`**: Pagination cursor from previous response for next page\n- Continue paginating while the response includes a `cursor` value\n\n\n\n### Examples\n\nGet all events from the last hour:\n```\nGET /v2/events\n```\n\nGet only camera motion events from a specific time range:\n```\nGET /v2/events?product_types=camera&event_types=motion&start_time=2025-01-17T09:00:00Z&end_time=2025-01-17T17:00:00Z\n```\n\nGet access control events for specific doors:\n```\nGET /v2/events?product_types=access_control&device_ids=door1,door2&limit=50\n```\n\nGet sensor temperature and humidity alerts:\n```\nGET /v2/events?product_types=sensor&event_types=temperature,humidity&start_time=2025-01-17T09:00:00Z\n```",
        "operationId": "getEventsViewV2",
        "parameters": [
          {
            "in": "query",
            "name": "start_time",
            "required": false,
            "schema": {
              "description": "Start time for events in ISO 8601 format (e.g., '2025-01-17T21:06:20Z'). Defaults to 1 hour ago if not specified.",
              "title": "Start Time",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "end_time",
            "required": false,
            "schema": {
              "description": "End time for events in ISO 8601 format (e.g., '2025-01-17T22:06:20Z'). Defaults to current time if not specified.",
              "title": "End Time",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "product_types",
            "required": false,
            "schema": {
              "description": "Comma-separated list of product types to filter by. Valid values: 'camera', 'access_control'. If not specified, events from all supported product types are returned.",
              "title": "Product Types",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "device_ids",
            "required": false,
            "schema": {
              "description": "Comma-separated list of specific device IDs to filter by.",
              "title": "Device Ids",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_types",
            "required": false,
            "schema": {
              "description": "Comma-separated list of event types to filter by. Valid values vary by device type. If not specified, all event types are returned.",
              "title": "Event Types",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "site_ids",
            "required": false,
            "schema": {
              "description": "Comma-separated list of site IDs to filter by (applies to access control events).",
              "title": "Site Ids",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Maximum number of events to return. Default is 100, maximum is 200.",
              "exclusiveMinimum": true,
              "maximum": 200,
              "minimum": 0,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "description": "Pagination cursor for retrieving the next page of results.",
              "title": "Cursor",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsResponseV2"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsErrorResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsErrorResponse"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "Get Events",
        "tags": [
          "Events"
        ]
      }
    }
  },
  "security": [
    {
      "ApiToken": []
    },
    {
      "ApiKey": []
    }
  ],
  "servers": [
    {
      "url": "https://{region}.verkada.com",
      "variables": {
        "region": {
          "default": "api",
          "enum": [
            "api",
            "api.eu",
            "api.au",
            "api.oh"
          ]
        }
      }
    }
  ],
  "x-explorer-enabled": true,
  "x-proxy-enabled": true,
  "x-samples-enabled": true,
  "x-samples-languages": [
    "curl",
    "node",
    "ruby",
    "javascript",
    "python"
  ]
}
````