Docs / Data model

Data model

The entities open-videocore manages, the fields on each (pulled directly from the response schemas in openapi.json), and how they relate.

Workspace (provisioned Stack) └─ owns object storage + metadata store + queue │ ├─ Asset ── created by ingest / upload, the unit everything else hangs off │ ├─ Job(s) (transcode, ingest-url — async work on this asset) │ ├─ Pipeline Execution (chains multiple steps, e.g. transcode + package) │ ├─ Thumbnails, audio/subtitle tracks, tags, free-form metadata │ └─ child Assets (renditions from transcode, clips, exports) │ ├─ Collection ──── named group of Asset ids ├─ Profile ─────── transcoding rendition ladder, referenced by transcode Jobs ├─ Webhook ─────── HTTP callback subscribed to Asset/Job lifecycle events └─ Optional Service ── add-on OSC service, provisioned per workspace on demand

Asset

The central entity. Represents one piece of media through its whole lifecycle — from an empty record through upload, processing, and (optionally) packaging.

FieldTypeNotes
idstringOpaque identifier.
namestringCanonical editorial title. Set on ingest via title (or the legacy name alias); persisted at descriptive.title.
statusenumuploading · processing · ready · failed · archived
reviewStateenumdraft · in-review · approved · rejected
parentId / versionOfAssetId / versionGroupIdstringLinks a clip, rendition, or version back to its source asset.
statusHistoryarrayEvery status transition, with a timestamp.
technicalMetadataobjectCodec, resolution, duration, bitrate — populated by extract-metadata.
manifestUrlsobjectPopulated once packaging completes.
renditionsarrayReferences to child assets produced by transcoding.
thumbnails, audioTracks, subtitleTracks, tagsarraySee the thumbnails and metadata guides.
metadataobjectFree-form, application-defined key-value data.
createdAt / updatedAtstring (date-time)

Full request/response shapes: Assets reference.

Job

One unit of asynchronous work against an asset — ingest or transcode. Created by the endpoint that starts the work; polled until it settles.

FieldTypeNotes
idstring
typeenumingest-url · transcode
statusenumpending · queued · running · done · failed · cancelled
assetIdstringThe asset this job is working on.
progressnumber
bytesTransferred / totalBytesnumberIngest download progress.
renditionAssetIdsarrayChild assets created by a completed transcode job.
interrupted / interruptionReasonboolean / enumSet when the job was interrupted by an infrastructure event (e.g. auto-scaler scale-down) rather than a media failure, and is being retried.
createdAt / updatedAtstring (date-time)

Full shape: Jobs reference.

Pipeline Execution

Tracks a multi-step run (for example, transcode then package) against one asset as a single unit, rather than making the caller sequence and poll individual jobs.

FieldTypeNotes
idstring
assetId / assetNamestring
pipelineNamestringWhich pipeline definition was run.
statusenumrunning · done · failed
stepsarrayPer-step status within the execution.

Full shape: Pipelines reference.

Profile

A named transcoding rendition ladder, stored as raw YAML and served to the transcoder via the public index.yml endpoint. Seeded from a default set on bootstrap; extendable per workspace.

FieldTypeNotes
namestringPrimary key.
yamlstringRaw transcoder-format profile definition.
runnableboolean

Full shape: Profiles reference.

Collection

FieldTypeNotes
id / namestring
assetIdsarrayMember asset ids.
assetsarrayExpanded member asset summaries (on GET).

Full shape: Collections reference.

Webhook

FieldTypeNotes
idstring
urlstring (uri)Delivery target.
eventsarrayasset.ready · asset.failed · transcode.complete · transcode.failed · package.complete · package.failed
secretstringUsed to sign deliveries, if set.

Full shape: Webhooks reference.

Stack (provisioned workspace)

FieldTypeNotes
statusenumprovisioning · ready · failed · degraded
minioEndpoint / couchdbUrl / redisUrlstringBacking service endpoints for this workspace.
sourceBucket / packagedBucketstring
servicesarrayBacking OSC service instances that make up this stack.

Full shape: Provisioning reference.

Provisioning Operation

FieldTypeNotes
idstring
typeenumprovision · deprovision
statusenumpending · running · done · failed
startedAt / completedAtnumberUnix epoch milliseconds — not ISO date-time, unlike most other timestamps.

Full shape: Provisioning reference.

Optional Service

FieldTypeNotes
key / serviceId / displayNamestring
stateenumnot-configured · configured · active
instanceName / urlstringPresent once provisioned.

Full shape: Optional services reference.