Interlaken
API referenceAgents and workflowsWorkspaces

Workspaces

18 operations.

List the tenant's App Builder workspaces

GET /api/v1/workspaces

Create an App Builder workspace: bind an existing GitHub repository (repo_full_name) or create a fresh one (new_repo) on the connected account. With enable_cicd + deploy_server_id the platform registers a deploy key and a Coolify application so every push to the default branch auto-deploys. Requires a github connector.

POST /api/v1/workspaces

Get a workspace (status creating|ready|ci_error|failed; last_error explains failures)

GET /api/v1/workspaces/{id}

Rename a workspace

PATCH /api/v1/workspaces/{id}

Delete a workspace: removes the Coolify app + deploy key + webhook. The GitHub repository itself is NEVER deleted.

DELETE /api/v1/workspaces/{id}

List a workspace's chats newest-first (kind run|team + ref_id to open the run/team surface). Cursor: before=<seq>.

GET /api/v1/workspaces/{id}/chats

Start a repo-bound chat under the workspace: mode=agent spawns a single-agent run, mode=team an agent team. The repo is cloned into the agent's workspace; results ship as commits pushed to the default branch.

POST /api/v1/workspaces/{id}/chats

Get the workspace's CI/CD status: tracked branch, last seen/deployed sha, Coolify app status, live URL. Read this to verify a push deployed.

GET /api/v1/workspaces/{id}/cicd

Trigger an immediate deploy of the workspace's branch head (manual release — no new commit required). Returns the refreshed CI/CD status; poll list_workspaces_id_cicd until app_status starts with 'running'.

POST /api/v1/workspaces/{id}/cicd/deploy

List the workspace app's deployment history (status + commit per deploy). A store lists BOTH apps — check the app field, since backend and storefront fail independently.

GET /api/v1/workspaces/{id}/cicd/deployments

Read one deployment's BUILD LOG by uuid (from the deployments list). Use this to find out why a specific build failed before changing any code.

GET /api/v1/workspaces/{id}/cicd/deployments/{deployment}/log

Read the BUILD LOG of the workspace's most recent deployment. This is the first thing to read when a deploy failed — it carries the compiler/installer output that says why. For an older deploy, take its uuid from the deployments list and use the /log variant.

GET /api/v1/workspaces/{id}/cicd/deployments/log

Disable the workspace's push-triggered CI/CD (the Coolify app stays; re-enable resumes)

POST /api/v1/workspaces/{id}/cicd/disable

Enable (or retry) CI/CD on the workspace; optional deploy_server_id binds the deploy server when the workspace has none yet

POST /api/v1/workspaces/{id}/cicd/enable

Read the RUNNING app's container log — use this when the build succeeded but the site errors (500s, crash loops). Query: app=backend|storefront (a store has two; defaults to the storefront, which is what visitors hit), lines=1..1000 (default 200). This is the runtime log; for a build that FAILED read the deployments log instead.

GET /api/v1/workspaces/{id}/cicd/runtime-log

Get a Medusa store's admin dashboard URL + admin credentials (SENSITIVE: contains the real password), storefront URL and publishable key

GET /api/v1/workspaces/{id}/medusa-credentials

Get a WordPress workspace's wp-admin URL + admin credentials (SENSITIVE: contains the real password) and site URL

GET /api/v1/workspaces/{id}/wordpress-credentials

Run a wp-cli command inside a WordPress workspace's site (args WITHOUT the leading 'wp', e.g. ["plugin","activate","woocommerce"]). THE surface for content/config: activate plugins/themes, create pages/posts, set options, manage menus. NEVER 'wp plugin install' — plugin/theme CODE must be added to the workspace repo and pushed (the site's files are re-cloned from the repo on every deploy; installs outside the repo are LOST).

POST /api/v1/workspaces/{id}/wp