---
title: "Api Update App"
method: PUT
path: "/api/apps/{app_id}"
tags: ["apps"]
---

# Api Update App

`PUT /api/apps/{app_id}`

## Request

- Base URL: `https://app.getdot.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.getdot.ai/api/apps/{app_id}`
- Auth: one of:
  - API key in header `X-API-KEY`
  - API key in cookie `Authorization`
  - OAuth 2 (password, token URL `/api/auth/token`)

Update app source, or create it when the id doesn't exist yet (CLI push).

Build the new source into an AppBuild before activating it so runtime
render never needs an LLM compile-on-miss. This preserves the "Add
Visualization" flow where the frontend sends the full modified source.

## Path parameters

- `app_id` string, required

## Request body

- UpdateAppRequest
  - `source` string, required
  - `expected_source_digest` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getdot/apis/dot-api-2.md) · [All operations](https://skmtc.dev/getdot/apis/dot-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/getdot/apis/dot-api-2/revisions/d26fe7163a7f?raw)
