---
title: "Review an uploaded or pasted transcript"
method: PUT
path: "/orgs/{orgId}/trace/uploads/{id}"
tags: ["Trace"]
---

# Review an uploaded or pasted transcript

`PUT /orgs/{orgId}/trace/uploads/{id}`

## Request

- Base URL: `https://api.pyai.com`
- URL: `https://api.pyai.com/orgs/{orgId}/trace/uploads/{id}`
- Auth: API key in cookie `pyai_session`

Console cookie authentication, a trusted console Origin and an owner, admin or developer role are required. Runs the same deterministic personal data pattern scan used by Hear and saves an auditable Trace scorecard. No provider connection or change to the organization Trace default is required. TXT, SRT and VTT are supported, up to 200,000 UTF-8 bytes. Raw transcript text is not retained by this route; findings contain redacted placeholders. This does not assess consent, disclosures or legal compliance. Repeat the same UUID and content after an interrupted response; changed content returns 409.

## Path parameters

- `orgId` string, required
- `id` string, required

## Request body

- TraceTranscriptUpload
  - `transcript` string, required: At most 200,000 UTF-8 bytes.
  - `format` 'txt' | 'srt' | 'vtt'

## Response `200`

Saved Trace interaction.

- TraceInteraction
  - `object` string
  - `id` string: call_id
  - `agent_id` string, nullable
  - `product` 'hear' | 'speak' | 'clone' | 'cue' | 'omni' | 'agents' | 'null', nullable
  - `verdict` 'PASS' | 'WARN' | 'FAIL'
  - `findings` integer
  - `blocked_turns` integer
  - `modified_turns` integer
  - `packs_enforced` string
  - `scored_at` integer: Unix ms.
  - `source` string, nullable: Call origin, for example external.

## Other responses

- `400`: Invalid, empty or oversized transcript.
- `401`: Sign in to the console.
- `403`: Project membership or a creation role is required.
- `404`: Creation not found in this project.
- `409`: This ID already belongs to different content.
- `413`: Request body exceeds the intake limit.

## Changes

- **2026-10-20** `271a1539185b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pyai/apis/pyai-api/changes/orgs/:orgId/trace/uploads/:id/put.md)

---

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