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
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
env | enum |
| ||
include_deleted | enum | Also list zones in state deleted. Default false. |
| |
limit | one of | Items per page, 1 to 200. A query string carries it as a string, which must name the same range. | ||
cursor | string | next_cursor of the previous page. |
|
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 }] }