---
title: "Upload Capture Turn"
method: POST
path: "/v1/capture/turns"
---

# Upload Capture Turn

`POST /v1/capture/turns`

## Request body

- CaptureTurnUploadDTO
  - `provider` 'codex' | 'claude', required
  - `providerSessionId` string, required
  - `providerTurnId` string, required
  - `transcriptPathHash` string, required
  - `firstCwd` string, required
  - `repoFullName` string, nullable
  - `branch` string, nullable
  - `branchSource` 'transcript' | 'git_fallback' | 'missing', required
  - `routingStatus` 'routable' | 'missing_branch' | 'missing_repo', required
  - `headSha` string, nullable
  - `startedAt` string, date-time, required
  - `completedAt` string, date-time, nullable
  - `artifactRef` string, required

## Response `200`

Successful Response

- CaptureTurnUploadResultDTO
  - `accepted` boolean, required
  - `routed` boolean, required
  - `routingStatus` 'routable' | 'missing_branch' | 'missing_repo', required
  - `sourceId` string, uuid, nullable
  - `turnId` string, uuid, nullable
  - `messageCount` integer

## Other responses

- `422` — Validation Error

---

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