---
title: "Mark batch as processed (internal)"
method: POST
path: "/appModeling/run/{application_id}/batch/complete"
tags: ["AppModeling"]
---

# Mark batch as processed (internal)

`POST /appModeling/run/{application_id}/batch/complete`

Marks batch test invariant IDs as attempted, records the inner session ID,
clears in-flight state, and returns whether the frontier is now exhausted. Called
internally by the TypeScript markAppModelingBatchComplete handler.

## Path parameters

- `application_id` string, required

## Query parameters

- `workspaceId` string, required

## Request body

- AppModelingMarkBatchCompleteInternalRequest — Request body to record a completed batch internally.
  - `batch_item_count` integer, required — The batch_item_count returned by dequeueAppModelingBatchInternal; echoed back for audit.
  - `inner_session_id` string, required — The inner AMA session ID that processed this batch.
  - `success` boolean, required — Whether the batch completed successfully.
  - `test_invariant_ids` string[] — The test invariant IDs that were attempted in this batch.

## Response `200`

Batch recorded; frontier exhaustion reported

- AppModelingMarkBatchCompleteInternalResponse — Response from the internal mark-batch-complete endpoint.
  - `frontier_exhausted` boolean, required — Whether every item in the frontier has now been attempted.

## 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)
