---
title: "Download file content"
method: GET
path: "/v1/files/{file_id}/content"
tags: ["batch"]
---

# Download file content

`GET /v1/files/{file_id}/content`

Stream a file's bytes. For a batch output file every line is a `BatchOutputLine`; for an error file every line is a `BatchErrorLine`; for an input file you uploaded, every line is a `BatchInputLine`. Lines are not in input order, so join on `custom_id`. Served as `application/octet-stream` with a `Content-Disposition` attachment header.

## Path parameters

- `file_id` string, required — The `file_` prefixed id to download: your upload, or a batch's `output_file_id` / `error_file_id`.

## Response `200`

The file body, one JSON object per line.

## Other responses

- `400` — Malformed request — missing or invalid fields.
- `401` — Missing or invalid API key.
- `404` — The requested resource does not exist.
- `429` — Rate limited — retry after the interval in the Retry-After header.
- `500` — Internal error — safe to retry with backoff.

## Changes

- **2026-09-02** `681b2f463d11` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/morphllm/apis/morph-api/changes/v1/files/:file_id/content/get.md)

---

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