Runtime Log

GET /v1/applications/{uuid}/runtime-logs

Fetch the running app's live stdout/stderr as plain text. This is the app's OWN output while it runs — distinct from the build log, which is the output of the build. Reach for it when a deploy reached status = ready (it built and started) but the app then crashes, crash-loops, or returns 500s at runtime — a panic, a bad connection string, or a missing env var read at boot.

Applies to managed, fullstack, WordPress, and serverless-function apps. A static app is served straight from the edge with no running process, so it has no runtime logs (the response is a short note and X-Runtime-Status: none).

Query parameters

tail integer
Return only the last N lines (default ~200, max 2000).
previous 0 | 1
When 1, return the previous (terminated/crashed) instance's logs instead of the current pod's. Use it when the current pod has just restarted and its fresh logs are empty.

Response

Content-Type text/plain
The running pod's raw output (capped).
X-Runtime-Status header
The instance state: running, pending, failed, none (no running instance / static app), unavailable (runtime logs not enabled in this region), or error.
X-Runtime-Pod header
The name of the pod the logs were read from, when one was found.

Errors

404
Application not found or belongs to another account.
Request
curl -i \ "https://api.ngris.com/v1/applications/a1b2c3d4-…/runtime-logs?tail=200" \ -H "X-API-KEY: <your_api_key>"
Response — 200 OK
X-Runtime-Status: running X-Runtime-Pod: app-7-86c67c457-2n5kd Content-Type: text/plain; charset=utf-8 2026/08/27 09:03:29 [ngris-kanban] database connected and migrations applied 2026/08/27 09:03:29 [ngris-kanban] listening on :8080
On this page
Runtime Log
Iris