OpenVibe.Media API
Generated at from
openvibe-contracts v0.114.0 and
openvibe-sdk v0.35.1.
Server https://openvibe.media. 9 routes performing 6 capabilities. OpenAPI 3.1 document.
POST /api/v1/{app}/files
Upload a file object into an app namespace.
- Capabilities
- media.object.upload
- Visibility
- public
- Parameters
app(path, required)
- Request body
multipart/form-datamedia.file-upload@1- Response
application/jsonmedia.file@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.object.upload</strong> (public): Upload a file object into an app namespace.</p>GET /api/v1/{app}/files/{key}
Read object metadata / bytes in a namespace.
- Capabilities
- media.object.read
- Visibility
- public
- Parameters
app(path, required)key(path, required)
- Response
application/jsonmedia.file-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.object.read</strong> (public): Read object metadata / bytes in a namespace.</p>GET /api/v1/resources
Read OpenVibe.Media's resource index (ADR-048): GET /api/v1/resources lists the resources Media owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resources/:
- Capabilities
- media.resource.read
- Visibility
- first-party
- Response
application/jsoncommon.resource-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.resource.read</strong> (first-party): Read OpenVibe.Media's resource index (ADR-048): GET /api/v1/resources lists the resources Media owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resources/:ovrn reads one by its OVRN (common.resource-summary@1). Every authority serves these for OpenVibe.Services to fan out and merge; Media's own resources are its objects (kind media.object, id med_<ULID>), the canonical blobs its v1 vods, clips and files are projections of (migrations/0001_initial.sql media_objects); vods and clips are projections over objects (bigint ids) and are never listed. An object carries the project of the tenant that owns it when that tenant is a developer project; an object in a first-party app tenant has no project and so no OVRN. Planned until Media ships the index.</p>GET /api/v1/resources/{ovrn}
Read OpenVibe.Media's resource index (ADR-048): GET /api/v1/resources lists the resources Media owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resources/:
- Capabilities
- media.resource.read
- Visibility
- first-party
- Parameters
ovrn(path, required)
- Response
application/jsoncommon.resource-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.resource.read</strong> (first-party): Read OpenVibe.Media's resource index (ADR-048): GET /api/v1/resources lists the resources Media owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resources/:ovrn reads one by its OVRN (common.resource-summary@1). Every authority serves these for OpenVibe.Services to fan out and merge; Media's own resources are its objects (kind media.object, id med_<ULID>), the canonical blobs its v1 vods, clips and files are projections of (migrations/0001_initial.sql media_objects); vods and clips are projections over objects (bigint ids) and are never listed. An object carries the project of the tenant that owns it when that tenant is a developer project; an object in a first-party app tenant has no project and so no OVRN. Planned until Media ships the index.</p>GET /api/v2/{app}/objects
List the objects of a namespace (the list verb of Media's namespace grants, WS-G task 2): a Network token sees only the namespaces its ns covers, and ?namespace= narrows the list to one namespace and
- Capabilities
- media.object.list
- Visibility
- public
- Parameters
app(path, required)
- Response
application/jsonmedia.object-list@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.object.list</strong> (public): List the objects of a namespace (the list verb of Media's namespace grants, WS-G task 2): a Network token sees only the namespaces its ns covers, and ?namespace= narrows the list to one namespace and those below it. The same verb guards the job list (GET /api/v2/:app/jobs), the namespace list with quotas and usage (GET /api/v2/:app/namespaces) and the v1 file list (GET /api/v1/:app/files). media.object.read also grants it, for tokens issued before the verbs were split, unless the namespace's policy is strict_verbs.</p>DELETE /api/v2/{app}/objects/{id}
Delete an object in a namespace (the delete verb of Media's namespace grants, WS-G task 2): a soft delete that keeps the bytes for the retention period, and the restore that undoes it within that peri
- Capabilities
- media.object.delete
- Visibility
- public
- Parameters
app(path, required)id(path, required)
- Response
application/jsonmedia.object@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.object.delete</strong> (public): Delete an object in a namespace (the delete verb of Media's namespace grants, WS-G task 2): a soft delete that keeps the bytes for the retention period, and the restore that undoes it within that period (checked against the namespace's quotas); refused while the object is under a retention hold. The same verb guards the v1 file delete (DELETE /api/v1/:app/files/:key). media.object.upload also grants it, for tokens issued before the verbs were split, unless the namespace's policy is strict_verbs.</p>POST /api/v2/{app}/objects/{id}/restore
Delete an object in a namespace (the delete verb of Media's namespace grants, WS-G task 2): a soft delete that keeps the bytes for the retention period, and the restore that undoes it within that peri
- Capabilities
- media.object.delete
- Visibility
- public
- Parameters
app(path, required)id(path, required)
- Response
application/jsonmedia.object@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.object.delete</strong> (public): Delete an object in a namespace (the delete verb of Media's namespace grants, WS-G task 2): a soft delete that keeps the bytes for the retention period, and the restore that undoes it within that period (checked against the namespace's quotas); refused while the object is under a retention hold. The same verb guards the v1 file delete (DELETE /api/v1/:app/files/:key). media.object.upload also grants it, for tokens issued before the verbs were split, unless the namespace's policy is strict_verbs.</p>GET /f/{key}
Read object metadata / bytes in a namespace.
- Capabilities
- media.object.read
- Visibility
- public
- Parameters
key(path, required)
- Response
application/jsonmedia.file-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>media.object.read</strong> (public): Read object metadata / bytes in a namespace.</p>POST /internal/avatar-ingest
Network asks Media to fetch a person's new avatar from a URL they chose (through Media's egress guard) and store it as their avatar object on openvibe.media.
- Capabilities
- media.avatar.ingest
- Visibility
- internal
- Request body
application/jsonmedia.avatar-ingest-request@1- Response
application/jsonmedia.avatar-ingest-result@1- Errors
- errors.problem@1 (application/problem+json)