---
title: "Upload an HTML5 package"
method: POST
path: "/v1/media/upload/package"
tags: ["media"]
---

# Upload an HTML5 package

`POST /v1/media/upload/package`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/media/upload/package`
- Auth: HTTP bearer

Upload a zipped HTML5 package as a media asset, using multipart form data with fields file (required), and optional name, nodeId, and folderId. The archive is validated, expanded into storage, and its entry page is identified automatically.

## Response `201`

Success.

- object
  - `data` object, required
    - `id` string, required: Media asset id.
    - `spaceId` string, required: Workspace id.
    - `nodeId` string, nullable, required: Home location; null = workspace library root.
    - `folderId` string, nullable, required
    - `name` string, required
    - `kind` 'package', required
    - `url` string, required: Where the bytes live: a `/v1/media/<id>/file` path, an `https` URL, `r2://…`, or (for a web link) the page address.
    - `bytes` integer, required: Stored size in bytes (0 for links and apps).
    - `checksum` string, required: SHA-256 of the .zip.
    - `active` boolean, required: False when archived.
    - `packageEntry` string, required: The entry page found in the archive, e.g. `index.html`.
    - `packageFiles` integer, required: Files in the archive.
    - `packageBytes` integer, required: Expanded size of the archive, in bytes.
    - `state` 'ready', required
    - `createdAt` string, required: ISO-8601 timestamp (UTC).
    - `updatedAt` string, required: ISO-8601 timestamp (UTC).
    - `deletedAt` unknown, required

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: The token lacks the permission this operation needs (see `x-brix-permission`).
- `404`: The folder or location does not exist.
- `413`: The .zip, or its expanded contents, is over the limit.
- `422`: `file` is missing, the .zip cannot be read, or a file in it is refused (unsafe path, type not allowed, no entry page).
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

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