# Judt > Give your agent the ability to build and publish powerful, realtime, dynamic Apps and Websites. - [Judt Apps](https://docs.judt.ai/manage/introduction.md): Create and publish full-stack web apps with the Judt API, the MCP server, or the in-product agent. - [Quickstart](https://docs.judt.ai/manage/quickstart.md): Create an App, change a file, and publish it with the Judt API. - [Authenticate to the API and the MCP server](https://docs.judt.ai/manage/authentication.md): Send an API key or an OAuth access token with each request to the Judt API and the Judt MCP server. - [Apps](https://docs.judt.ai/manage/concepts/apps.md): What an App contains, how its address works, and the states of its sandbox and production. - [Development & Sandboxes](https://docs.judt.ai/manage/concepts/sandbox.md): Edit files, run commands, commit, and test an App in its Linux sandbox. - [Commits and deployments](https://docs.judt.ai/manage/concepts/deployments.md): Understanding lifecycle and code history - [Give an agent access to a single App](https://docs.judt.ai/manage/guides/agent-access.md): Create an App token and connect your agent to one App. - [Troubleshoot an App](https://docs.judt.ai/manage/guides/troubleshoot.md): Use App events to see what happened to an App, and App logs to see what its code did. - [Connect to MCP](https://docs.judt.ai/connect-to-mcp.md): Connect your coding agent to the Judt MCP server with an API key or OAuth. - [Use the Judt CLI](https://docs.judt.ai/manage/guides/cli.md): Install the Judt CLI, sign in, and manage Apps from a shell, a CI job, or an agent. - [Platform integrations](https://docs.judt.ai/platform-integrations.md): Connect your product or agent to Judt through MCP or the API. Choose an editing workflow, scope access to each user's App, and handle progress and retries. - [Secrets](https://docs.judt.ai/manage/secrets.md): Store credentials for an App outside its source. - [Publish and unpublish an App](https://docs.judt.ai/manage/guides/publish.md): Publish a commit to production, go back to an earlier commit, and take an App offline. - [Previews and access](https://docs.judt.ai/manage/concepts/previews.md): Share a running sandbox with a preview link, and control who can open an App. - [MCP server reference](https://docs.judt.ai/manage/reference/mcp.md): All tools on the Judt MCP server, the API operation each tool sends, and how arguments, results, and retries work. - [Build Apps](https://docs.judt.ai/build/introduction.md): Write the code that runs inside a Judt App: a Workers-style JavaScript app on celld, the Judt runtime. - [The App contract](https://docs.judt.ai/build/app-contract.md): The files that an App contains, the limits on its source, and the rules that keep data attached to your code. - [Differences from Cloudflare Workers](https://docs.judt.ai/build/cloudflare-differences.md): What celld supports, what it doesn't, and the Workers behaviors that differ on Judt. - [Test on the dev server](https://docs.judt.ai/build/dev-server.md): Run and test an App in its sandbox before you publish it. - [Configure wrangler.json](https://docs.judt.ai/build/wrangler-json.md): The keys that Judt accepts in the wrangler.json file, and how each binding becomes a property of env. - [npm packages and builds](https://docs.judt.ai/build/npm-and-builds.md): Add npm dependencies, and add a build step for TypeScript, JSX, or a frontend bundler. - [Static assets](https://docs.judt.ai/build/static-assets.md): Serve HTML, CSS, browser JavaScript, icons, and fonts that ship with the code. - [Vars and Secrets](https://docs.judt.ai/build/vars-and-secrets.md): Read configuration values and credentials from env in App code. - [Durable Objects](https://docs.judt.ai/build/storage/durable-objects.md): Keep ordered, coordinated state for one entity, with SQLite storage, alarms, and WebSockets. - [D1](https://docs.judt.ai/build/storage/d1.md): Store relational data, and change its schema with migrations. - [KV](https://docs.judt.ai/build/storage/kv.md): Read and write values by key, with an optional expiration time. - [R2](https://docs.judt.ai/build/storage/r2.md): Store, upload, and serve files and blobs. - [Queues](https://docs.judt.ai/build/background/queues.md): Run background jobs, fan out work, and retry failed messages. - [Cron Triggers](https://docs.judt.ai/build/background/cron-triggers.md): Run a job on a schedule. - [Workflows](https://docs.judt.ai/build/background/workflows.md): Run a durable process that has steps, sleeps, and waits for events. - [Dynamic Workers](https://docs.judt.ai/build/advanced/dynamic-workers.md): Run code that wasn't part of the App at build time, such as user code or AI-generated code. - [Durable Object facets](https://docs.judt.ai/build/advanced/facets.md): Give each tenant or plugin a private database inside a Durable Object. - [Build an AI agent loop](https://docs.judt.ai/build/advanced/agent-loop.md): Run an agent that calls a model and tools in a loop, with durable state in a Durable Object. - [Runtime reference](https://docs.judt.ai/build/reference/runtime.md): Handlers, env and ctx, imports, web API differences, crypto, limits, and compatibility flags in celld. - [API reference](https://docs.judt.ai/api-reference/introduction.md): The base URL, authentication details, conventions, and error codes of the Judt API. - [Get the caller](https://docs.judt.ai/api-reference/account/get-the-caller.md): Returns who the request acts as: the person, the organization that the credential reaches, the person's role in it, and the credential itself. Use it to check a credential, or to find out whether it reaches one App or all of them. - [Create an App](https://docs.judt.ai/api-reference/apps/create-an-app.md): Creates an App and reserves its address. The App's sandbox doesn't start, and nothing is published, until you use them. During the beta an organization can have 10 Apps. - [List Apps](https://docs.judt.ai/api-reference/apps/list-apps.md): Lists the organization's Apps, oldest first. To include deleted Apps, set `include_deleted` to `true`. - [Get an App](https://docs.judt.ai/api-reference/apps/get-an-app.md): Returns the App, with the status of its sandbox and production. A deleted App stays readable for 30 days. - [Update an App](https://docs.judt.ai/api-reference/apps/update-an-app.md): Changes the App's name, slug, or production access. If a deployment is in progress, a change to the slug or to production access returns `409 deployment_unsettled`. Try again after the deployment finishes. A new name applies at once. - [Delete an App](https://docs.judt.ai/api-reference/apps/delete-an-app.md): Deletes the App. The response returns after the App stops serving, its sandbox is removed, and it accepts no more changes. The deleted App stays readable for 30 days, and then it's permanently removed. - [Create a visitor token](https://docs.judt.ai/api-reference/apps/create-a-visitor-token.md): Creates a visitor token, which opens the published App for five minutes without its password or sign-in. To use it, send it in the `X-Judt-Access-Token` header, or add it to a link as the `access_token` URL parameter. A public App ignores the token. - [Create a deep link](https://docs.judt.ai/api-reference/apps/create-a-deep-link.md): Creates a link to a page of the App in the Judt dashboard, for a person to open. The person signs in as usual, and needs to be a member of the App's organization. The link grants no access, and it stops working after 24 hours. - [Create an App token](https://docs.judt.ai/api-reference/tokens/create-an-app-token.md): Creates an API token that reaches only one App, for up to 24 hours. Give it to an agent or an MCP client that should work on that App and nothing else. The token can't reach other Apps, create Apps, or create tokens. It stops working at `expires_at`, and never outlives the token that created it, so… - [List Secrets](https://docs.judt.ai/api-reference/secrets/list-secrets.md): Lists the App's Secrets by name. Responses never include Secret values. - [Get a Secret](https://docs.judt.ai/api-reference/secrets/get-a-secret.md): Returns a Secret by name, without its value. - [Set a Secret](https://docs.judt.ai/api-reference/secrets/set-a-secret.md): Creates the Secret with this name, or replaces its value. A running sandbox's dev server gets the new value at once, and production gets it at the next deploy. - [Delete a Secret](https://docs.judt.ai/api-reference/secrets/delete-a-secret.md): Deletes the Secret and its stored value. A running sandbox's dev server stops getting it at once, and production at the next deploy. - [List files](https://docs.judt.ai/api-reference/files/list-files.md): Lists the App's source files by path: the files Git tracks, and new files that `.gitignore` doesn't ignore. Folders aren't listed separately. A file's path includes its folders. - [Read a file](https://docs.judt.ai/api-reference/files/read-a-file.md): Returns the file as JSON. For a text file, `content` holds the text, and `line_count` says how many lines it has. To read only some lines, set `lines`. For a binary file, `binary` is `true` and `content` is left out. To get the bytes, send `Accept: application/octet-stream`. - [Write a file](https://docs.judt.ai/api-reference/files/write-a-file.md): Creates or replaces a file, up to 1 MiB, and creates any missing folders. Send text as JSON, in the form `{"content": "TEXT"}`, or send raw bytes with any other `Content-Type`. - [Delete a file](https://docs.judt.ai/api-reference/files/delete-a-file.md): Deletes the file and any folders that it leaves empty. To delete only a specific version, send its ETag in `If-Match`. - [Run a command](https://docs.judt.ai/api-reference/sandbox/run-a-command.md): Runs a shell command in the App's sandbox and returns its output after it finishes or times out. The command doesn't get the App's Secrets, and its output shows any Secret value as `[secret:NAME]`. - [Get Git information](https://docs.judt.ai/api-reference/sandbox/get-git-information.md): Returns the sandbox's Git status, its uncommitted changes, or its recent history, depending on `mode`. - [Create a commit](https://docs.judt.ai/api-reference/sandbox/create-a-commit.md): Commits the sandbox's changes to Git and backs up the commit, so that you can restore it later. - [List commits](https://docs.judt.ai/api-reference/sandbox/list-commits.md): Lists the App's commits, newest first. To restore a commit, pass its `id` to `POST /api/apps/{id}/restore`, and to publish it, pass it as `commit_id` to `POST /api/apps/{id}/deployments`. To find the commit for a Git SHA, search by `commit_sha`. - [Restore a commit](https://docs.judt.ai/api-reference/sandbox/restore-a-commit.md): Resets the sandbox's files to a commit. Production doesn't change. To publish the restored source, create a deployment. - [Create a preview link](https://docs.judt.ai/api-reference/sandbox/create-a-preview-link.md): Returns a short-lived URL that opens the sandbox's dev server in a browser. The request starts the dev server if it isn't running, and waits for it to serve the sandbox's current files, including a rebuild that a recent change started. - [Stop the sandbox](https://docs.judt.ai/api-reference/sandbox/stop-the-sandbox.md): Commits any changes and stops the sandbox without waiting for it to go idle. The response returns the App after the sandbox stops. - [Deploy the App](https://docs.judt.ai/api-reference/deployments/deploy-the-app.md): Publishes the App to production and waits until the new version serves. By default, the request first commits any changes in the sandbox, then publishes that commit; pass `commit_id` to publish an earlier version. Publishing an unpublished App puts it back online. - [List deployments](https://docs.judt.ai/api-reference/deployments/list-deployments.md): Lists the App's deployments, newest first. - [Get a deployment](https://docs.judt.ai/api-reference/deployments/get-a-deployment.md): Returns the deployment, including its status, why it failed, and its database migrations. - [Unpublish an App](https://docs.judt.ai/api-reference/deployments/unpublish-an-app.md): Takes the App offline. The App's deployments stay readable, and the next deployment publishes the App again. - [List App events](https://docs.judt.ai/api-reference/monitoring/list-app-events.md): Lists what happened to the App's sandbox, deployments, and deletion, newest first. Use events to find out why an action failed or what it's waiting for. To list only what needs attention, set `kind` to `error,blocked`. - [List logs](https://docs.judt.ai/api-reference/monitoring/list-logs.md): Lists the App's log entries, newest first, from production and the sandbox. Entries include the requests that the App served, what its code wrote and threw, dev server builds, and deployment failures. A failed build includes the bundler's report. - [List templates](https://docs.judt.ai/api-reference/templates/list-templates.md): Lists the templates that you can create an App from, by name. - [List models](https://docs.judt.ai/api-reference/agents/list-models.md): Returns the models that the agent can run on, starting with `auto`, the default. `auto` chooses a model for each message by how hard the task is, and each turn's `model` shows the choice. To choose a model yourself, pass its `id` as `model` when you create a session or send a message. - [Create a session](https://docs.judt.ai/api-reference/agents/create-a-session.md): Creates an agent session for the App. If you include `message`, the session's first turn starts right away. An App runs one agent at a time, so if another session has an active turn, the request returns `409 agent_busy`. - [List sessions](https://docs.judt.ai/api-reference/agents/list-sessions.md): Lists the App's agent sessions, most recently active first. - [Get a session](https://docs.judt.ai/api-reference/agents/get-a-session.md): Returns the session's status and active turn. If that turn is waiting for input, get the turn to read its `input_request`. You don't need an open event stream to see it. - [Update a session](https://docs.judt.ai/api-reference/agents/update-a-session.md): Renames the session or changes its default model. - [Delete a session](https://docs.judt.ai/api-reference/agents/delete-a-session.md): Deletes the session with its turns and events. If the session has an active turn, cancel that turn first. Otherwise, the request returns `409 session_active`. - [Send a message](https://docs.judt.ai/api-reference/agents/send-a-message.md): Starts a turn with your message. If the session already has an active turn, the new turn waits in a queue behind it. The queue holds up to five turns, and they run in the order that you sent them. - [List turns](https://docs.judt.ai/api-reference/agents/list-turns.md): Lists the session's turns, oldest first. - [Get a turn](https://docs.judt.ai/api-reference/agents/get-a-turn.md): Returns the turn's status, any pending input request, its outcome, and its token usage. - [Cancel a turn](https://docs.judt.ai/api-reference/agents/cancel-a-turn.md): Cancels a queued, running, or waiting turn and revokes its credential, so the agent can't start new work. A command that's already running continues until its own timeout. If the turn has already finished, the request returns it unchanged. The session's next queued turn then starts. - [Decline an input request](https://docs.judt.ai/api-reference/agents/decline-an-input-request.md): Declines the turn's pending input request, and the agent resumes. The agent receives your `message`, if you send one, and can continue without the input or end the turn. - [List session events](https://docs.judt.ai/api-reference/agents/list-session-events.md): Returns the session's events in sequence order, after `cursor`. The cursor is an event's `sequence`: pass a page's `next_cursor`, or a session's `last_sequence` to get only what happens next. - [Send feedback](https://docs.judt.ai/api-reference/feedback/send-feedback.md): Sends feedback to the Judt team: a bug, something that was harder than it should be, or anything else. People and agents can both send it, and the team reads every message. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.