Data model
The entities open-videocore manages, the fields on each (pulled directly from the response schemas in openapi.json), and how they relate.
Asset
The central entity. Represents one piece of media through its whole lifecycle — from an empty record through upload, processing, and (optionally) packaging.
| Field | Type | Notes |
|---|---|---|
id | string | Opaque identifier. |
name | string | Canonical editorial title. Set on ingest via title (or the legacy name alias); persisted at descriptive.title. |
status | enum | uploading · processing · ready · failed · archived |
reviewState | enum | draft · in-review · approved · rejected |
parentId / versionOfAssetId / versionGroupId | string | Links a clip, rendition, or version back to its source asset. |
statusHistory | array | Every status transition, with a timestamp. |
technicalMetadata | object | Codec, resolution, duration, bitrate — populated by extract-metadata. |
manifestUrls | object | Populated once packaging completes. |
renditions | array | References to child assets produced by transcoding. |
thumbnails, audioTracks, subtitleTracks, tags | array | See the thumbnails and metadata guides. |
metadata | object | Free-form, application-defined key-value data. |
createdAt / updatedAt | string (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.
| Field | Type | Notes |
|---|---|---|
id | string | |
type | enum | ingest-url · transcode |
status | enum | pending · queued · running · done · failed · cancelled |
assetId | string | The asset this job is working on. |
progress | number | |
bytesTransferred / totalBytes | number | Ingest download progress. |
renditionAssetIds | array | Child assets created by a completed transcode job. |
interrupted / interruptionReason | boolean / enum | Set 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 / updatedAt | string (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.
| Field | Type | Notes |
|---|---|---|
id | string | |
assetId / assetName | string | |
pipelineName | string | Which pipeline definition was run. |
status | enum | running · done · failed |
steps | array | Per-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.
| Field | Type | Notes |
|---|---|---|
name | string | Primary key. |
yaml | string | Raw transcoder-format profile definition. |
runnable | boolean |
Full shape: Profiles reference.
Collection
| Field | Type | Notes |
|---|---|---|
id / name | string | |
assetIds | array | Member asset ids. |
assets | array | Expanded member asset summaries (on GET). |
Full shape: Collections reference.
Webhook
| Field | Type | Notes |
|---|---|---|
id | string | |
url | string (uri) | Delivery target. |
events | array | asset.ready · asset.failed · transcode.complete · transcode.failed · package.complete · package.failed |
secret | string | Used to sign deliveries, if set. |
Full shape: Webhooks reference.
Stack (provisioned workspace)
| Field | Type | Notes |
|---|---|---|
status | enum | provisioning · ready · failed · degraded |
minioEndpoint / couchdbUrl / redisUrl | string | Backing service endpoints for this workspace. |
sourceBucket / packagedBucket | string | |
services | array | Backing OSC service instances that make up this stack. |
Full shape: Provisioning reference.
Provisioning Operation
| Field | Type | Notes |
|---|---|---|
id | string | |
type | enum | provision · deprovision |
status | enum | pending · running · done · failed |
startedAt / completedAt | number | Unix epoch milliseconds — not ISO date-time, unlike most other timestamps. |
Full shape: Provisioning reference.
Optional Service
| Field | Type | Notes |
|---|---|---|
key / serviceId / displayName | string | |
state | enum | not-configured · configured · active |
instanceName / url | string | Present once provisioned. |
Full shape: Optional services reference.