Documentation Index
Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Canvas captures two types of runtime data for every app:
- Request logs — every HTTP request hitting your app (method, path, status, duration)
- Runtime logs —
console.log/warn/error/info output from server functions
Both are stored in ClickHouse with a 30-day retention and queryable via API or Studio.
Request logs
Every request to your Canvas app is logged automatically — no configuration needed.
Query via API
curl "https://api.mixpeek.com/v1/apps/$APP_ID/logs?log_type=requests&hours=1&limit=100" \
-H "Authorization: Bearer $API_KEY"
Response:
{
"app_id": "app_1433d93d7a95",
"log_type": "requests",
"entries": [
{
"timestamp": "2026-03-29 21:21:02.750",
"method": "GET",
"path": "/",
"status_code": 200,
"duration_ms": 74,
"user_agent": "Mozilla/5.0 ...",
"ip": "68.175.65.201"
}
]
}
Parameters
| Parameter | Type | Default | Description |
|---|
log_type | string | runtime | runtime or requests |
hours | integer | 1 | Lookback window (1–168 hours) |
level | string | — | Filter by log level (runtime only): log, warn, error, info |
limit | integer | 100 | Max entries returned (1–1000) |
Runtime logs
Server function console output is automatically captured and stored. Each log entry includes the function route and log level.
Query via API
# All runtime logs from the last hour
curl "https://api.mixpeek.com/v1/apps/$APP_ID/logs?log_type=runtime&hours=1" \
-H "Authorization: Bearer $API_KEY"
# Only errors
curl "https://api.mixpeek.com/v1/apps/$APP_ID/logs?log_type=runtime&hours=24&level=error" \
-H "Authorization: Bearer $API_KEY"
Response:
{
"app_id": "app_1433d93d7a95",
"log_type": "runtime",
"entries": [
{
"timestamp": "2026-03-29 22:15:03.456",
"level": "error",
"message": "Failed: connection timeout",
"route_path": "search",
"request_id": "req_abc123"
}
]
}
Studio
In Studio, the App details page has an Analytics panel with three tabs:
| Tab | What it shows |
|---|
| Overview | Error rates, web vitals, custom events |
| Runtime Logs | Server function console output with level badges |
| Requests | HTTP request log with method, path, status, and duration |
Both log tabs auto-refresh every 10 seconds and support filtering by time range and log level.
What’s captured
Request log fields
| Field | Description |
|---|
timestamp | When the request was received |
method | HTTP method (GET, POST, etc.) |
path | Request path |
status_code | HTTP response status |
duration_ms | Time to process the request (ms) |
user_agent | Client user agent string |
ip | Client IP address |
Runtime log fields
| Field | Description |
|---|
timestamp | When the log was emitted |
level | log, warn, error, or info |
message | The logged message (truncated to 2000 chars) |
route_path | Which server function produced the log |
request_id | Correlates logs to a specific request |
Retention
All log data is retained for 30 days and automatically purged after that.