Skip to main content
POST
Publish the draft

Authorizations

X-API-Key
string
header
required

A Streamloop API key (sl_…). It carries no workspace: send X-Workspace-Id too (400 WORKSPACE_REQUIRED otherwise).

Headers

If-Match
string

The revision (ETag) you read — one, or a comma-separated list of which any current one matches — compared strongly (a weak W/"…" tag never matches): refused with 412 PRECONDITION_FAILED if the resource changed since or no longer exists (the problem carries currentRevision, null when it is gone, and for a layer frameRevision: either is taken). A layer takes its own revision or that of the frame/<id> it is in. *: it must exist. Checked atomically with the write: of two writes sent at once with the same revision, one lands and the other is 412.

Idempotency-Key
string

Retry safely: the key (per caller, workspace, method and path) is taken before the request runs, and its first answer is replayed for 24 hours, with Idempotency-Replayed: true — a repeat sent while the first still runs waits for it. The same key with a different body is 422 IDEMPOTENCY_KEY_REUSED. A 5xx is not kept: the retry runs.

Maximum string length: 200
X-Workspace-Id
string

The workspace to act in. Required with an API key; otherwise the session's own.

Path Parameters

id
string
required

The scene's id (scn_…)

Pattern: ^scn_

Body

application/json
draftRevision
string

The draft to publish, from the answer you reviewed (or send If-Match)

confirm
boolean

I accept what CONFIRM_REQUIRED named: viewers see this at once

overwritePublished
integer

I accept what STALE_PUBLISH named: replace this published version (its number) and what was published since the draft's base

Required range: x >= 1
dryRun
boolean

Only check, and say what would change

Response

Published (or checked, with dryRun)

version
integer

The published version after this call. On a dry run it is unchanged (0: never published) and the draft would become the next one

summary
string

What happened and what comes next, in a sentence

publishedAt
string<date-time> | null

null on a dry run of a scene never published

unchanged
boolean

The draft was what is published already: no new version

changes
string[]

What changed since the previous version, as resource paths (change frame/main/title props.value, add source/data/hn)

dryRun
boolean

Only checked: nothing was published

notes
string[]

What to know about this publish: edits a pinned draftRevision left in the draft, a revert's draft

stale
boolean

The draftRevision was an older one: the draft has changed since, and those changes are not published