MediaObjectList media.object-list@1
Generated at from
openvibe-contracts v0.76.0 and
openvibe-sdk v0.20.1.
- Version
- 1.0.0
- Owner
- media
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/media/object-list.v1.json
media.object-list@1: a page of GET /api/v2/:app/objects (media.object.list), newest first: the objects the caller may list in the tenant (a Network token sees only the namespaces its grant covers; ?namespace= narrows to one namespace and those below it), without their locations, and the cursor of the next page (null on the last).
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
objects | media.object | yes | ||
next_cursor | string | null | yes | ||
limit | integer | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: last-page
{
"objects": [],
"next_cursor": null,
"limit": 50
}Valid: page
{
"objects": [
{
"id": "med_01K5WZX7S7Q4D2B8N3M6V1C9TZ",
"app_id": "community",
"namespace": "community.avatars",
"kind": "file",
"visibility": "unlisted",
"lifecycle_status": "ready",
"size_bytes": 9,
"created_at": "2026-09-26 08:00:00"
}
],
"next_cursor": "med_01K5WZX7S7Q4D2B8N3M6V1C9TZ",
"limit": 1
}Rejected: no-cursor
{
"objects": [],
"limit": 50
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('media.object-list@1', value); // { valid, errors: [{ path, message }] }