Skip to content

Video

A Video is a timed composition held as data: a timeline of scenes and spoken lines, drafted from records and rendered per format.

Properties

PropertyTypeRequiredDescription
statusstringrequiredOne of Draft, Rendered, Final, or Superseded.
timelinejsonrequiredThe ordered scenes on a fixed grid, the only timing truth for picture, voice and captions.
brandBrandrequiredThe Brand whose voice, palette and type the Video uses.
offerOfferThe Offer the Video presents, when it presents one.

Object

JSON
{
  "$id": "https://api.sb/routewise.dev/videos/video_1",
  "$type": "Video",
  "status": "Draft",
  "timeline": {},
  "brand": "brand_1",
  "offer": "offer_1"
}

Relationships

None.

Verbs

  1. createCreates a Video.
    POST /{namespace}/videosdoVideo.created
  2. getReturns one Video by id.
    GET /{namespace}/videos/{id}readNo Event
  3. listReturns Videos, newest first, one page at a time.
    GET /{namespace}/videosreadNo Event
  4. updateChanges the given properties of a Video.
    PATCH /{namespace}/videos/{id}doVideo.updated
  5. draftDraft writes a Video’s timeline from a Startup’s records, its Brand and a Template, with a draft mark on every frame.
    POST /{namespace}/videos/draftdoVideo.drafted
  6. finalizeFinalize lifts a Video’s draft mark once every claim it makes reads from a live record, so its cuts can be published.
    POST /{namespace}/videos/{video}/finalizedoVideo.finalized

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Video.createYesYesYesNo
Video.getYesYesYesYes
Video.listYesYesYesYes
Video.updateYesYesYesNo
Video.draftYesYesYesNo
Video.finalizeYesYesYesNo

Call it

Text
Draft the latest video with a brand.

Example

A home-workout app drafts a 30-second Video from a timeline of clips and a script. Once its captions and loudness checks pass, Video.finalize renders cuts for vertical and square formats.