---
title: "Complete a capture session"
method: POST
path: "/v1beta/capture_sessions/{id}/complete"
tags: ["Capture Sessions"]
---

# Complete a capture session

`POST /v1beta/capture_sessions/{id}/complete`

## Request

- Base URL: `https://api.indices.io`
- URL: `https://api.indices.io/v1beta/capture_sessions/{id}/complete`
- Auth: HTTP bearer

Stop recording and finalize the capture session.

Completion is asynchronous: the browser uploads its recording and the session then transitions to `completed`. Poll `retrieveCaptureSession` to observe the transition.

## Path parameters

- `id` string, required: The ID of the capture session to complete.

## Response `202`

Successful response

- CaptureSession
  - `id` string, required: Unique identifier for the capture session.
  - `state` 'active' | 'completing' | 'completed' | 'abandoned' | 'failed', required
  - `browser_session_id` string, nullable, required: Opaque identifier for the spawned browser session. Null once the browser is gone.
  - `iframe_url` string, nullable, required: URL to embed in an iframe to control the browser. Only usable while the session is active.
  - `created_at` string, date-time, required: Timestamp when the object was created.
  - `updated_at` string, date-time, required: Timestamp when the object was last updated.

## Other responses

- `422`: Validation error

---

[API](https://skmtc.dev/indices/apis/indices-api.md) · [All operations](https://skmtc.dev/indices/apis/indices-api/llms.txt) · [OpenAPI document](https://skmtc.dev/indices/apis/indices-api/revisions/e0f2742c126c?raw)
