An app is a named, project-scoped interactive application built on top of concept output predicates — see Apps for the feature itself and the definition reference for the payload format. The Apps API lets you list, load, save, and delete apps, and manage their version checkpoints. All paths are relative to the base URL and require authentication. All responses use the standard envelope.
This API was previously exposed under /dashboards. Those paths still work as a deprecated alias — new integrations should use /apps.

List all apps

Return metadata for every app across all projects the caller can access. No definition payloads are included.

List apps in a project

Return metadata for all apps in a single project. No definition payloads are included.
data is an array of app metadata objects (id, project_id, name).

Get an app

Return a single app with its full definition.
Returns 404 if no app with that ID exists in the project.

Save an app

Create or update an app. When app.id is absent, a new UUID is generated server-side. The assigned ID is always returned in the response. The definition is validated against the referenced projects’ concepts; validation failures return 400 with the full list of errors and nothing is saved.

Example

Every successful save also appends a version checkpoint (see below).

Delete an app

Permanently delete an app, including its version history. This action is irreversible.

Versions

Every save appends a version checkpoint. Checkpoints can be listed, restored (non-destructively) and bookmarked — bookmarked versions are never pruned.
All three take the usual project_id / app_id path parameters and optional scope. bookmark requires a JSON body { "bookmarked": true|false } with an optional "label". See How apps run for the retention rules.