---
title: "Get or stream logs"
method: GET
path: "/v2/apps/{app}/logs"
tags: ["apps"]
---

# Get or stream logs

`GET /v2/apps/{app}/logs`

Query historical runtime logs, or stream them using Server-Sent Events or JSONL.

When `end` is specified, returns paginated JSON.
When `end` is omitted, streams logs in real-time using SSE or JSONL.

Requesting `Accept: application/json` without `end` will return an error.

## Path parameters

- `app` string, required

## Query parameters

- `start` string, date-time, required — Start of the time range (ISO 8601)
- `end` string, date-time — End of the time range (ISO 8601). If omitted, logs are streamed in real-time
- `revision_id` string — Filter logs by revision ID
- `level` 'debug' | 'info' | 'warn' | 'error' — Minimum log severity level
- `query` string — Full-text search query
- `cursor` string
- `limit` integer

## Response `200`

OK

- RuntimeLogsResponse
  - `logs` RuntimeLog[], required — Array of log entries
    - `timestamp` string, required — ISO 8601 timestamp of the log entry
    - `level` 'debug' | 'info' | 'warn' | 'error', required — Log severity level
    - `message` string, required — Log message content
    - `revision_id` string — Revision that produced this log entry
    - `region` string — Region where the isolate was running
    - `trace_id` string — OpenTelemetry trace ID for request correlation
    - `span_id` string — OpenTelemetry span ID
  - `next_cursor` string, nullable, required — Cursor for fetching the next page, or null if no more results

---

[API](https://skmtc.net/deno/apis/deploy.md) · [All operations](https://skmtc.net/deno/apis/deploy/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deno/deploy/revisions/5a56038d108e/schema)
