---
title: "Get runtime or request logs"
method: GET
path: "/v1/apps/{app_id}/logs"
tags: ["Apps"]
---

# Get runtime or request logs

`GET /v1/apps/{app_id}/logs`

Query ClickHouse canvas_app_logs or canvas_request_logs.

## Path parameters

- `app_id` string, required

## Query parameters

- `log_type` 'runtime' | 'requests' — Which log stream: 'runtime' (console/app logs from canvas_app_logs) or 'requests' (HTTP request logs from canvas_request_logs). Any other value is a 422 naming these — previously 'request' (singular) silently fell through to the runtime branch and returned nothing.
- `hours` integer — Lookback window in hours
- `level` string, nullable — Filter by log level (runtime only)
- `limit` integer — Max entries

## Response `200`

Successful Response

- AppLogsResponse
  - `app_id` string, required
  - `log_type` string, required
  - `results` unknown[] — Log entries — the platform-standard envelope key (every other list endpoint returns 'results'). Same content as 'entries'.
    - unknown
  - `entries` unknown[] — DEPRECATED alias of 'results', kept for existing consumers. This endpoint predated the platform envelope convention; parse 'results'.
    - unknown

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/mixpeek/apis/mixpeek-api.md) · [All operations](https://skmtc.net/mixpeek/apis/mixpeek-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixpeek/mixpeek-api/versions/220a3b263fda/schema)
