ObjectZoneListQuery zone.object-zone-list-query@1

Generated at from openvibe-contracts v0.97.0 and openvibe-sdk v0.26.0.

Version
1.0.0
Owner
zone
Visibility
public
Status
planned
Compatibility
backward
Decision
ADR-031
Schema
https://openvibe.network/contracts/zone/object-zone-list-query.v1.json

zone.object-zone-list-query@1 (PLANNED; ADR-031 amendment 2026-10-02): the query string of GET /api/v1/projects/{project_id}/zones on OpenVibe.Zone (capability zone.zone.list). Without env it lists both environments the caller's grant reaches. A sandbox-only grant never lists production zones.

Fields

FieldTypeRequiredDescriptionConstraints
envenum
  • one of "sandbox", "production"
include_deletedenumAlso list zones in state deleted. Default false.
  • one of true, false, "true", "false"
limitone ofItems per page, 1 to 200. A query string carries it as a string, which must name the same range.
cursorstringnext_cursor of the previous page.
  • maxLength 512

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: limit-string-max
{
  "env": "production",
  "limit": "200"
}
Valid: sandbox-page
{
  "env": "sandbox",
  "limit": "50",
  "cursor": "eyJhZnRlciI6Inpvbl8wMSJ9"
}
Valid: with-deleted
{
  "include_deleted": "true"
}
Rejected: limit-integer-zero
{
  "limit": 0
}
Rejected: limit-string-far-too-high
{
  "limit": "999"
}
Rejected: limit-string-too-high
{
  "limit": "201"
}
Rejected: limit-string-zero
{
  "limit": "0"
}
Rejected: limit-too-high
{
  "limit": 500
}
Rejected: unknown-env
{
  "env": "staging"
}
Rejected: unknown-filter
{
  "name": "assets"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('zone.object-zone-list-query@1', value);   // { valid, errors: [{ path, message }] }