---
title: "Complete collect session"
method: POST
path: "/collect/sessions/{token}/complete"
tags: ["collect.sessions"]
---

# Complete collect session

`POST /collect/sessions/{token}/complete`

Marks the session as completed by the client, optionally with a note about missing documents.

## Path parameters

- `token` string, required — The session token

## Request body

- CompleteSessionBody
  - `clientNote` string
  - `outcome` 'complete' | 'incomplete' | 'incomplete_finished', required — Explicit completion outcome picked by the client: 'complete' (everything provided), 'incomplete' (will provide the rest later), 'incomplete_finished' (cannot provide the rest; clientNote explains).

## Response `202`

Session completed

- CompleteSessionResponse
  - `success` boolean, required

## Other responses

- `410` — Token has expired
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-08-19** `80748f72965e` — 1 info
  - added the media type `application/json` for the response with the status `500`
- **2026-08-15** `722624509357` — 1 breaking
  - the request property `outcome` became required

[Change history](https://skmtc.dev/steuerboard/apis/steuerboard-api/changes/collect/sessions/:token/complete/post.md)

---

[API](https://skmtc.dev/steuerboard/apis/steuerboard-api.md) · [All operations](https://skmtc.dev/steuerboard/apis/steuerboard-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/steuerboard/steuerboard-api/revisions/80748f72965e/schema)
