---
title: "Notify Upload Complete"
method: PUT
path: "/v1/external/voice-file/jobs/{jobId}/upload-complete"
tags: ["Voice File"]
---

# Notify Upload Complete

`PUT /v1/external/voice-file/jobs/{jobId}/upload-complete`

Notify that audio file upload is complete and start processing.

- Call this after uploading your file to the presigned URL from Create Voice File Job
- Triggers the transcription (and optional translation) pipeline
- Job status transitions: `CREATED` → `UPLOADED` → `PROCESSING`

Documentation: [Step-by-step upload guide](/voice-file/tutorial#step-3-notify-upload-completion)

## Path parameters

- `jobId` string, required

## Response `200`

Upload notification received. No response body.

## Other responses

- `401` — `401009 unauthorized` when the API key is missing or invalid. Send a valid key in the Authorization header.
- `404` — Job not found

---

[API](https://skmtc.net/tiro/apis/tiro-api.md) · [All operations](https://skmtc.net/tiro/apis/tiro-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiro/tiro-api/revisions/ae18d7961aa4/schema)
