---
title: "Take in a file the files Worker stored (the Worker's own call)"
method: POST
path: "/api/files/{id}/stored"
tags: ["File links"]
---

# Take in a file the files Worker stored (the Worker's own call)

`POST /api/files/{id}/stored`

## Request

- Base URL: `https://audo.ai`
- URL: `https://audo.ai/api/files/{id}/stored`
- Auth: none required

Where file links are served from Cloudflare, the files Worker calls this after storing one PUT to an upload link, with the same link and the object's key. The API checks the object in the bucket (its key and size) before taking it in. Callers never need it: the PUT answers with the file.

## Path parameters

- `id` string, required

## Query parameters

- `t` string, required

## Request body

- object
  - `key` string, required

## Response `200`

OK

- object
  - `id` string, required
  - `kind` 'original' | 'output', required
  - `status` 'awaiting_upload' | 'processing' | 'ready' | 'invalid' | 'deleted', required
  - `filename` string, required
  - `contentType` string, required
  - `sizeBytes` integer, nullable, required
  - `durationSeconds` number, nullable, required
  - `format` string, nullable, required: The container, such as wav or mp4
  - `hasVideo` boolean, required
  - `hasAudio` boolean, required: False for a video without sound, which only replace_audio takes
  - `media` object, nullable, required: Audio and video details, once the file is checked. Null for text files
    - `codec` string, nullable, required: The audio codec, such as aac or pcm_s16le
    - `sampleRate` integer, nullable, required
    - `channels` integer, nullable, required
    - `width` integer, nullable, required: The video's width in pixels, or null without video
    - `height` integer, nullable, required
  - `error` object, nullable, required
    - `code` string, required
    - `message` string, required
  - `prices` object, nullable, required: Credits each tool costs to process this file, once its length is known
  - `sourceJobId` string, nullable, required
  - `createdAt` string, required: ISO 8601 time
  - `expiresAt` string, required: ISO 8601 time

## Other responses

- `default`: An error, with what went wrong and what to do next

---

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