---
title: "Get Logs"
method: GET
path: "/logs/"
tags: ["logs"]
---

# Get Logs

`GET /logs/`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/logs/`
- Auth: HTTP bearer

## Query parameters

- `limit` integer
- `offset` integer
- `level` 'info' | 'warning' | 'error'
- `category` 'ingest' | 'ai_pipeline' | 'config' | 'queue' | 'infra'
- `camera_id` string, nullable
- `hours` integer, nullable
- `start` string, date-time, nullable
- `end` string, date-time, nullable

## Response `200`

Successful Response

- GetLogsResponse
  - `entries` SystemLogEntryModel[], required: System log entries, most recently active first
    - `id` string, uuid, required: UUID of the system log entry
    - `created_at` string, date-time, required: When this entry was first written
    - `last_seen_at` string, date-time, required: When this entry last recurred (equals created_at unless coalesced)
    - `occurrences` integer, required: How many times this entry recurred within its coalescing windows
    - `level` 'info' | 'warning' | 'error', required
    - `category` 'ingest' | 'ai_pipeline' | 'config' | 'queue' | 'infra', required
    - `camera_id` string, uuid, nullable: Camera the entry concerns; null for system-wide entries or once that camera is deleted
    - `camera_label` string, nullable: Camera label at the time of the entry (snapshot)
    - `event_id` string, nullable: Most recent event this entry refers to, when one exists
    - `message` string, required: Human-readable description of what happened
    - `details` object, nullable: Structured context for the entry
  - `total` integer, required: Total number of entries matching the filters (for pagination)

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/a19366be50a3?raw)
