ObjectZoneList zone.object-zone-list@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.v1.json

zone.object-zone-list@1 (PLANNED; ADR-031 amendment 2026-10-02): the answer of GET /api/v1/projects/{project_id}/zones on OpenVibe.Zone (capability zone.zone.list), filtered by zone.object-zone-list-query@1. Zones come oldest first, the environment's default zone before the others. Deleted zones are listed only with include_deleted=true. contracts.zones.checkObjectZoneList also checks each zone's identity. More fields may be added.

Fields

FieldTypeRequiredDescriptionConstraints
zoneszone.object-zoneyes
  • maxItems 200
next_cursorstring | nullyesPass as cursor for the next page; null on the last page.
  • maxLength 512

Examples

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

Valid: empty-last-page
{
  "zones": [],
  "next_cursor": null
}
Valid: same-name-other-env
{
  "zones": [
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "description": "Run outputs",
      "access": "private",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "quota_bytes": 5368709120,
      "usage": {
        "stored_bytes": 1048576,
        "objects": 12,
        "as_of": "2026-10-02T10:00:00Z"
      },
      "revision": 2,
      "created_at": "2026-10-02T09:00:00Z",
      "updated_at": "2026-10-02T09:30:00Z"
    },
    {
      "id": "zon_01K1A9C3D5E7F9G1H3J5K7M9N0",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K1A9C3D5E7F9G1H3J5K7M9N0",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "sandbox",
      "name": "agent-artifacts",
      "default": false,
      "access": "private",
      "state": "deleted",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.sandbox.zon_01K1A9C3D5E7F9G1H3J5K7M9N0",
      "quota_bytes": null,
      "revision": 5,
      "created_at": "2026-09-01T09:00:00Z",
      "updated_at": "2026-09-20T09:00:00Z",
      "deletion": {
        "requested_at": "2026-09-19T09:00:00Z",
        "objects_remaining": 0,
        "held_objects": 0,
        "completed_at": "2026-09-20T09:00:00Z"
      }
    }
  ],
  "next_cursor": null
}
Valid: two-zones
{
  "zones": [
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N2",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N2",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "sandbox",
      "name": "default",
      "default": true,
      "access": "per-object",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.sandbox",
      "quota_bytes": null,
      "revision": 1,
      "created_at": "2026-10-02T09:00:00Z"
    },
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "description": "Run outputs",
      "access": "private",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "quota_bytes": 5368709120,
      "usage": {
        "stored_bytes": 1048576,
        "objects": 12,
        "as_of": "2026-10-02T10:00:00Z"
      },
      "revision": 2,
      "created_at": "2026-10-02T09:00:00Z",
      "updated_at": "2026-10-02T09:30:00Z"
    }
  ],
  "next_cursor": null
}
Rejected: missing-cursor
{
  "zones": [
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "description": "Run outputs",
      "access": "private",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "quota_bytes": 5368709120,
      "usage": {
        "stored_bytes": 1048576,
        "objects": 12,
        "as_of": "2026-10-02T10:00:00Z"
      },
      "revision": 2,
      "created_at": "2026-10-02T09:00:00Z",
      "updated_at": "2026-10-02T09:30:00Z"
    }
  ]
}
Rejected: retired-name-reused
{
  "zones": [
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "description": "Run outputs",
      "access": "private",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "quota_bytes": 5368709120,
      "usage": {
        "stored_bytes": 1048576,
        "objects": 12,
        "as_of": "2026-10-02T10:00:00Z"
      },
      "revision": 2,
      "created_at": "2026-10-02T09:00:00Z",
      "updated_at": "2026-10-02T09:30:00Z"
    },
    {
      "id": "zon_01K1A9C3D5E7F9G1H3J5K7M9N0",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K1A9C3D5E7F9G1H3J5K7M9N0",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "access": "private",
      "state": "deleted",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K1A9C3D5E7F9G1H3J5K7M9N0",
      "quota_bytes": null,
      "revision": 5,
      "created_at": "2026-09-01T09:00:00Z",
      "updated_at": "2026-09-20T09:00:00Z",
      "deletion": {
        "requested_at": "2026-09-19T09:00:00Z",
        "objects_remaining": 0,
        "held_objects": 0,
        "completed_at": "2026-09-20T09:00:00Z"
      }
    }
  ],
  "next_cursor": null
}
Rejected: zone-with-mismatched-ovrn
{
  "zones": [
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "description": "Run outputs",
      "access": "private",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "quota_bytes": 5368709120,
      "usage": {
        "stored_bytes": 1048576,
        "objects": 12,
        "as_of": "2026-10-02T10:00:00Z"
      },
      "revision": 2,
      "created_at": "2026-10-02T09:00:00Z",
      "updated_at": "2026-10-02T09:30:00Z"
    },
    {
      "id": "zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "ovrn": "ovrn:zone:prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4:object-zone/zon_01K2A9C3D5E7F9G1H3J5K7M9N3",
      "project_id": "prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4",
      "env": "production",
      "name": "agent-artifacts",
      "default": false,
      "description": "Run outputs",
      "access": "private",
      "state": "active",
      "media_namespace": "app.prj_01JZQ3V8X5N7K2M4P6R8T0W2Y4.zon_01K2A9C3D5E7F9G1H3J5K7M9N1",
      "quota_bytes": 5368709120,
      "usage": {
        "stored_bytes": 1048576,
        "objects": 12,
        "as_of": "2026-10-02T10:00:00Z"
      },
      "revision": 2,
      "created_at": "2026-10-02T09:00:00Z",
      "updated_at": "2026-10-02T09:30:00Z"
    }
  ],
  "next_cursor": null
}

Validate

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