---
title: "POST /silo/v1/entries/{entry_id}/files"
method: POST
path: "/silo/v1/entries/{entry_id}/files"
---

# POST /silo/v1/entries/{entry_id}/files

`POST /silo/v1/entries/{entry_id}/files`

Add a new file to a silo entry without an explicit UUID. The file data can be provided inline as base64 encoded data, or omitted to create a placeholder. When data is not provided, you must provide sha256, size, and mime fields, and the response will include a `url` field that can be used to stream/upload the file contents directly via a PUT request to that URL. For non-enrolled users, only the `format` and `attachment` categories are allowed.

## Path parameters

- `entry_id` string, required — UUID of the silo entry.

## Request body

- object
  - `category` string — Category of the file.
  - `data` string, byte — Base64 encoded binary data. Optional - if not provided, sha256, size, and mime are required.
  - `desc` string — Description of the file.
  - `embeddable` boolean — When true, this file may be embedded inside other files, like PDFs. Default is false.
  - `key` string — Key used to identify the file in the entry.
  - `meta` object — Any additional meta data about the file.
  - `mime` string — MIME type of the file. Required when data is not provided.
  - `name` string, required — Name of the file.
  - `private` boolean — When true, this file is private and can only be accessed by the owner. Default is false.
  - `sha256` string — SHA256 hex hash of the file. Required when data is not provided.
  - `size` integer — Size of the file in bytes. Required when data is not provided.

## Response `200`

OK

- SiloFile
  - `category` string — Category of the file.
  - `created_at` string — The date and time this file was created.
  - `desc` string — Description of the file.
  - `embeddable` boolean — When true, the file can be embedded inside another file, like a PDF.
  - `entry_id` string — The UUID of the entry this file belongs to.
  - `hash` string — SHA256 hash of the file.
  - `id` string — The UUID that identifies the file in the entry.
  - `key` string — Key used to identify the file by the service or app that generated it.
  - `meta` object — Any additional meta data about the file.
  - `mime` string — MIME type of the file.
  - `name` string — Name of the file.
  - `previous` SiloFileVersion[] — Set of previous versions of the file.
    - `created_at` string — The date and time this file was created.
    - `hash` string — The SHA256 of the file's contents.
    - `id` string — The UUID that identifies the file when it was originally uploaded.
    - `size` integer — Size of the file.
  - `private` boolean — When true, the file will not have a public link.
  - `size` integer — Size of the file in bytes.
  - `stored` boolean — When true, indicates that the file's contents have been uploaded successfully.
  - `url` string — URL where the file's contents can be downloaded.

---

[API](https://skmtc.net/invopop/apis/access-service-api.md) · [All operations](https://skmtc.net/invopop/apis/access-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/invopop/access-service-api/versions/fc954f96ea62/schema)
