---
title: "Set coordinator run status to terminal state (internal)"
method: PUT
path: "/appModeling/run/{application_id}/status"
tags: ["AppModeling"]
---

# Set coordinator run status to terminal state (internal)

`PUT /appModeling/run/{application_id}/status`

Sets the coordinator run status to a terminal value (COMPLETED or ERROR). Called
internally by the TypeScript markAppModelingRunComplete handler.

## Path parameters

- `application_id` string, required

## Query parameters

- `workspaceId` string, required

## Request body

- AppModelingRunStatusUpdateRequest — Request to update the coordinator run status.
  - `run_status` 'IDLE' | 'RUNNING' | 'COMPLETED' | 'ERROR', required — Lifecycle status of an app modeling run.
  - `budget_capped` boolean — True when the run is completing because it hit the MAX_BATCHES budget ceiling while the work frontier was NOT exhausted (a truncated run); false on a true frontier-drain completion. Persisted in run_metrics so a bound-out is distinguishable from a full drain. Optional; defaults false.

## Response `200`

Run status updated

- AppModelingRunStatusUpdateResponse — Response from the internal run status update endpoint.
  - `run_status` 'IDLE' | 'RUNNING' | 'COMPLETED' | 'ERROR', required — Lifecycle status of an app modeling run.

## Other responses

- `400` — Invalid or missing parameter
- `401` — User not authenticated
- `404` — Coordinator row not found for this application
- `default` — Unknown error

---

[API](https://skmtc.net/mabl/apis/mabl-api.md) · [All operations](https://skmtc.net/mabl/apis/mabl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mabl/mabl-api/revisions/d0fc0114da66/schema)
