---
title: "Set transcript from download URL"
method: PUT
path: "/v1/transcripts/{data_id}"
tags: ["Transcripts"]
---

# Set transcript from download URL

`PUT /v1/transcripts/{data_id}`

Create or replace a data entry's live transcript by fetching a Recall
async transcript JSON from `download_url`, mapping participant names
to speaker labels, and writing the result in a single commit.
Broadcasts the change to connected clients. Returns 400 if the URL is
unsafe, unreachable, or the payload cannot be mapped. Returns 409 if
the transcript is already wrapped in an audio/video block (media has
been attached).

## Path parameters

- `data_id` string, required

## Request body

- object
  - `download_url` string, uri, required — HTTPS URL of a Recall async transcript JSON download (media_shortcuts.transcript data.download_url). The server fetches, maps speakers, and replaces the live transcript.

## Response `200`

200

- object
  - `data` object, required
    - `written` number, required — Total number of words saved across all utterances.

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `409` — 409
- `422` — 422
- `429` — 429
- `500` — 500

---

[API](https://skmtc.net/dovetail/apis/dovetail-public-api.md) · [All operations](https://skmtc.net/dovetail/apis/dovetail-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dovetail/dovetail-public-api/versions/4107f5fdf8b2/schema)
