---
title: "Upload file bytes for a previously issued uploadToken"
method: PUT
path: "/api/v1/uploads/{token}"
tags: ["uploads"]
---

# Upload file bytes for a previously issued uploadToken

`PUT /api/v1/uploads/{token}`

## Request

- Base URL: `https://singlefax.com`
- URL: `https://singlefax.com/api/v1/uploads/{token}`
- Auth: none required

HMAC uploadToken in the path is sufficient (no API key). Chat MCP uses this so bytes never go through a tool call. Optional fax:send Bearer must match the token user.

## Path parameters

- `token` string, required

## Response `200`

Stored

- UploadStored
  - `ok` boolean, required
  - `key` string, required
  - `bytes` integer, required
  - `expiresAt` string, date-time

## Other responses

- `401`: Invalid or expired upload token
- `413`: Upload too large
- `429`: Rate limited

---

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