- Sandbox previews let you and your agents test uncommitted code on the sandbox dev server through a short-lived signed URL.
- Production visibility (
public,password, orprivate) controls who can open your published App athttps://<slug>.judt.devor its custom domain. - Visitor tokens let scripts, webhooks, and agents call a
passwordorprivateproduction App without an interactive browser sign-in.
Sandbox preview links
A sandbox is always private to your organization. To open or test the sandbox’s live dev server (celld dev), call POST /api/apps/{id}/preview:
POST /api/apps/{id}/preview, Judt does the following:
- Starts the sandbox if it is stopped.
- Starts
celld devon port3000(if not already running) and waits for the bundler to build your entry module. - Returns a signed preview URL that is valid for 5 minutes. The
expires_atfield says when the URL stops working:
url in a browser, the preview gateway reads the #token= fragment, sets a 5-minute session cookie on the preview subdomain, and serves your App from the sandbox dev server.
If your code has a syntax or bundler error,
POST /api/apps/{id}/preview returns 422 preview_failed with the compiler error output in error.detail. See Test on the dev server.Production visibility
You control who can open the published production App through theproduction object on POST /api/apps or PATCH /api/apps/{id}. Only organization owner and admin roles can change production visibility.
Both
password and private sign-ins grant a 60-minute browser session on the App.
Set password protection
To require a password on a published App, sendvisibility: "password" and a password (8 to 128 characters) to PATCH /api/apps/{id}:
production.password_updated_at records when the password was last set. Setting a new password immediately invalidates existing browser sessions that signed in with the old password.
To change the password, pass a new password. If the App moves to another visibility, Judt deletes the password. To go back to password visibility, send a new password. If you do not, the API returns 400 password_required. If you send a password with another visibility, the API returns 400 password_not_applicable.
Restrict to organization members
To restrict the published App to members of your organization, setvisibility to "private":
Short-lived visitor tokens
When a published App usespassword or private visibility, automated callers—such as agents, curl scripts, or webhook tests—cannot complete an interactive browser sign-in. Any organization member (including member roles) can create a 5-minute visitor token for a published App by calling POST /api/apps/{id}/visitor-tokens:
expires_at is 5 minutes in the future):
POST /api/apps/{id}/visitor-tokens returns 409 app_unpublished. A public App ignores the token.
Use a visitor token
You can send the visitor token to the published App in two ways:X-Judt-Access-Tokenrequest header (recommended for scripts and agents):UsingX-Judt-Access-Tokenauthorizes the request at the Judt edge while leaving theAuthorizationheader free for your App’s own authentication logic.?access_token=URL query parameter (for browsers):On aGETorHEADrequest, the edge verifies the query parameter, sets a session cookie for the App, and redirects (303 See Other) to the clean URL withoutaccess_tokenin the address bar.
Next steps
- Learn how to test your code in the sandbox in Test on the dev server.
- Publish or unpublish an App in Publish and unpublish an App.