ObjectZoneCreateRequest zone.object-zone-create-request@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-create-request.v1.json
zone.object-zone-create-request@1 (PLANNED; ADR-031 amendment 2026-10-02): the body of POST /api/v1/projects/{project_id}/zones on OpenVibe.Zone, sent with an Idempotency-Key header. The answer is 201 with a zone.object-zone@1 in state provisioning or active. A name held by a zone of that environment in state provisioning or active answers 409 zone.name_taken, and one held by a zone in state deleting or deleted answers 409 zone.name_retired, because a name belongs to one zone for ever; and going over the project's zones quota answers 403 zone.quota_exceeded. `default` cannot be requested, because Zone creates that zone with the environment.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
env | enum | yes |
| |
name | string | yes |
| |
description | string | null |
| ||
quota_bytes | integer | null |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: minimal
{
"env": "sandbox",
"name": "scratch"
}Valid: named-with-quota
{
"env": "production",
"name": "agent-artifacts",
"description": "Run outputs",
"quota_bytes": 5368709120
}Rejected: double-hyphen
{
"env": "production",
"name": "my--zone"
}Rejected: public-access
{
"env": "production",
"name": "scratch",
"access": "public"
}Rejected: reserved-default
{
"env": "production",
"name": "default"
}Rejected: too-short
{
"env": "production",
"name": "ab"
}Rejected: unknown-env
{
"env": "staging",
"name": "scratch"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('zone.object-zone-create-request@1', value); // { valid, errors: [{ path, message }] }