---
title: "Upload one declared file"
method: PUT
path: "/publish-sessions/{sessionId}/files/{fileId}"
tags: ["Publish"]
---

# Upload one declared file

`PUT /publish-sessions/{sessionId}/files/{fileId}`

## Request

- Base URL: `https://api.temp.md`
- URL: `https://api.temp.md/publish-sessions/{sessionId}/files/{fileId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/temp-md/apis/temp-md-public-api/docs/publish-sessions/:sessionId/files/:fileId/put.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `sessionId` string, required
- `fileId` string, required

## Headers

- `X-Tempmd-Client` string

## Request body `application/octet-stream`

- string, binary

## Response `200`

File accepted

- object
  - `ok` unknown, required
  - `sessionId` string, required
  - `fileId` string, required
  - `path` string, required
  - `size` integer, required
  - `hash` string, required

## Other responses

- `400`: Invalid request
- `403`: Credential lacks access
- `409`: Request conflicts with current state
- `410`: Resource expired or recovery window closed
- `413`: Request or bundle exceeds an enforced limit

---

[API](https://skmtc.dev/temp-md/apis/temp-md-public-api.md) - [All operations](https://skmtc.dev/temp-md/apis/temp-md-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/temp-md/apis/temp-md-public-api/revisions/4753682e1e3a?raw)
