---
title: "Append the next chunk of an upload."
method: PUT
path: "/ai/conversations/{public_id}/attachment-uploads/{upload_id}/chunk"
tags: ["AI Chat"]
---

# Append the next chunk of an upload.

`PUT /ai/conversations/{public_id}/attachment-uploads/{upload_id}/chunk`

## Request

- Base URL: `/api` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/ai/conversations/{public_id}/attachment-uploads/{upload_id}/chunk`
- Auth: HTTP bearer

## Path parameters

- `public_id` string, required
- `upload_id` string, required

## Query parameters

- `offset` integer, required

## Request body `multipart/form-data`

- AttachmentChunkUpload: Request body type for the chunk endpoint's OpenAPI entry.
  - `chunk` string, binary, required

## Response `200`

Chunk stored

- AttachmentChunkReceived
  - `received_bytes` integer, required: Bytes of the file the server now holds.

## Other responses

- `400`: Invalid chunk
- `401`: Unauthorized
- `403`: Insufficient permissions
- `404`: Upload not found or expired
- `409`: Chunk is not the next one expected

## Changes

> 81 revisions in range; 1 not diffed.

- **2026-10-20** `79089e9f49ee`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gotempsh/apis/temps/changes/ai/conversations/:public_id/attachment-uploads/:upload_id/chunk/put.md)

---

[API](https://skmtc.dev/gotempsh/apis/temps.md) · [All operations](https://skmtc.dev/gotempsh/apis/temps/llms.txt) · [OpenAPI document](https://skmtc.dev/gotempsh/apis/temps/revisions/ab6d5d19e930?raw)
