Skip to main content
Sandbox is the authenticated authoring and ad-hoc execution surface. Its contract is separate from both the Platform API and customer-facing Endpoint invocation. Read instance.endpoints.sandbox from GET /api/v1/me or use the URL exposed by the platform. The Node.js SDK and CLI discover it automatically.

HTTP surface

The exact roles are operation-specific. Component authoring routes require component access; stored execution and SDK dispatch also accept the relevant automation or endpoint execution roles.

Debug transient TypeScript

Transient payloads accept 1–1,000 elements. The default timeout is 10 seconds and the accepted maximum is 600 seconds. Memory defaults to 128 MB and is bounded at 2,048 MB; instance policy can impose a lower effective limit.

Execute saved code

Pass readOnly: true to block platform writes or readOnly: false for authorized full execution. The requested mode is fixed before code runs. External HTTP requests remain real in either mode; non-GET requests to Revo hosts require full execution. Full execution requires a component execution role or equivalent. Omit componentVersion to use the normal resolved version, or provide it when a workflow intentionally verifies an exact low-code revision. CLI 1.0.19 sends the explicit mode with revo component debug <id> --read-only=true|false; its default is read-only. The old sandbox production field and runtime debug toggles are removed. Upgrade callers together with the backend.

Streaming contract

Streaming debug and execute use text/event-stream. Consumers must parse named events rather than assuming every frame is a message:
  • log — structured api.log(...) output;
  • result — the single successful terminal payload;
  • error — the single failed terminal payload;
  • done — completion marker sent before close.
A failed execution emits error, then done with error: true, and does not emit a normal result. Comment frames are heartbeats and can be ignored.
The stream is not durable history. Persist the returned Execution ID and use platform execution/history views for later diagnosis.
Disconnect normally requests cooperative cancellation. A remote write accepted before disconnect may still complete. backgroundProcessing is an explicit debug-stream option for workflows that should continue after the client leaves.

Prefer supported clients

Use revo component debug --stream for local component work and @revoengine/sdk for runtime calls. Direct /v1/runtime/call integration requires contract-revision negotiation, call correlation, batch limits, and binary/date wire encoding; it is not a general-purpose JSON endpoint.
Last modified on October 5, 2026