Skip to main content
Judt gives you two observability streams for every App:
  • App events (/api/apps/{id}/events) record platform lifecycle transitions, actions, and errors across the sandbox, deployments, and App deletion.
  • App logs (/api/apps/{id}/logs) capture HTTP request logs, console.* output, uncaught exceptions, bundler errors, and runtime transitions from both the development sandbox and production.
Both endpoints work without starting the sandbox and remain readable for 30 days after an App is soft-deleted.

Inspect platform state with App events

Call GET /api/apps/{id}/events when a sandbox fails to start, a command or write action is blocked, or a deployment fails:
Each item in results is an Event (evt_...):

Filter App events

You can pass comma-separated values to category and kind. subject returns events whose subject contains the text:

Inspect code execution with App logs

Call GET /api/apps/{id}/logs to see what your Worker code, the dev server, or the production runtime wrote to the logs:
Each item in results is a Log:

Filter App logs

Log sources and notable event names

Common troubleshooting scenarios

1. An HTTP request to the App returns 500

  1. Find the failing request in the logs:
  2. Copy the trace_id from the failing log entry.
  3. Fetch every log line from that request in chronological order:
    Replace TRACE_ID with the 32-character hex trace_id.

2. POST /api/apps/{id}/preview returns 422 preview_failed

The sandbox dev server (celld dev) could not bundle or start your entry module:
  1. Read error.detail in the 422 response body for the compiler output.
  2. You can also list the dev server’s log entries. A failed build has event set to dev.build_failed:

3. POST /api/apps/{id}/deployments fails

  1. Read the error in the response. For a deployment that started, inspect error.code and error.message on the Deployment object (GET /api/apps/{id}/deployments/{deployment_id}).
  2. Query the events for that deployment ID to see the exact build or migration output:
  3. Check the deployment logs:

4. A Secret change is not visible in the App

  • In the sandbox: The dev server of a running sandbox gets a changed Secret at once. Commands do not get Secrets, so read the Secret from the App’s code on the dev server.
  • In production: Changes to Secrets take effect on the next deployment. Call POST /api/apps/{id}/deployments to publish a new deployment with the updated Secret values.

Next steps