Skip to main content
POST
Start a bundle upload

Authorizations

Authorization
string
header
required

A member credential in the Authorization: Bearer header: a member session JWT, a portal JWT whose login is linked to a membership in that company, an opaque member token, or a verified One Auth identity access token. The credential alone identifies the member and company. Member session JWTs, and portal JWTs the server minted read-only, are refused with 403 on every write.

Path Parameters

site_id
string<uuid>
required

Public id of one of the member's sites.

Body

application/json

The build output's files and metadata. db/schema.json and every config/*.json are bundle metadata, never served as files, so they are sent as schema, routes, access and meta and never in files.

files
object
required

Every servable file, by absolute bundle path with / separators, no . or .. segment and none under /_fluid/. At most 2,000 files, 25 MiB each and 250 MiB in all.

routes
object[]

From config/routes.json. Omitted, every path is answered by /index.html, as a single-page app is, so a bundle with no /index.html must send routes of its own ([] for none). Each route's file must be a file of the request.

One route of the site's config/routes.json. Its file is a file of the request.

schema
object

The site's db/schema.json, checked when the bundle starts against the contract's JSON Schema: a table and column limit, names, types, defaults and rules. Rules that need more than a schema, such as a real calendar day or a column an index names, are checked when the bundle is published.

access
object

The site's config/access.json, the Fluid data the site uses, in the format MemberSites::AccessDeclaration validates. It is checked when the bundle starts.

meta
object

The site's config/meta.json, the title and preview of each page. Checked when the bundle starts: a title of at most 200 characters, a description of at most 500, an https image, and no page under /_fluid/.

functions
object

After V1. Each server function's built module and its config/functions.json entry. Functions are not available yet, so a request that lists any is refused with functions_not_available, and {} is none.

Response

The bundle, and the uploads it still needs.

The bundle that was started.

status
integer
required

HTTP status code (mirrors the response status line).

data
object
required

The bundle that was started, and the uploads it still needs.

meta
object
required

Envelope metadata present on every response.