---
title: "Commit exact model response and settle complete usage"
method: POST
path: "/api/v1/agent/persistent/inference/complete"
tags: ["agent"]
---

# Commit exact model response and settle complete usage

`POST /api/v1/agent/persistent/inference/complete`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/agent/persistent/inference/complete`
- Auth: HTTP bearer

Internal trusted-worker port. A session or personal access token is insufficient. Credentials are scheduler-issued, non-delegable and bound to a live canonical task/segment/claim. The default OpenAI policy counts exact SDK-mapped input, reserves captured-price budgets and records platform billing before dispatch acknowledgment. Incomplete usage remains held. This endpoint does not start a worker or enable agent execution. Maximum request body: 800000 bytes.

## Request body

- PersistentAgentWorkerCompleteRequest
  - `scope` PersistentAgentWorkerScope, required
    - `task_id` string, required
    - `segment_id` string, required
    - `generation` integer, required
    - `claim_id` string, required
  - `call` PersistentAgentWorkerModelCall, required
    - `id` string, required
    - `provider` string, required
    - `model` string, required
    - `request` object, required: Exact bounded canonical inference request, including segment, ordinal, kind and passive provider parameters.
  - `output` PersistentAgentWorkerModelOutput, required
    - `events` object[], nullable, required: Exact serialized Roder events. Provider usage is verified by the trusted server policy.

## Response `200`

Acknowledged canonical decision. Only a fresh dispatch decision grants one model call. Uncertain calls must be reconciled.

- object
  - `state` 'completed', required
  - `call` PersistentAgentWorkerModelCall, required
    - `id` string, required
    - `provider` string, required
    - `model` string, required
    - `request` object, required: Exact bounded canonical inference request, including segment, ordinal, kind and passive provider parameters.
  - `output` PersistentAgentWorkerModelOutput, required
    - `events` object[], nullable, required: Exact serialized Roder events. Provider usage is verified by the trusted server policy.

## Other responses

- `401`: Invalid, expired or superseded worker capability
- `403`: Current operation or provider policy is not authorized
- `404`: Not found
- `409`: Canonical conflict; reconciliation required
- `422`: Invalid or oversized request
- `502`: Bad gateway
- `503`: Canonical state temporarily unavailable; no dispatch acknowledgement

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
