SpaceBuildPublish space.build-publish@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- space
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/space/build-publish.v1.json
space.build-publish@1: what happened when a person's agent asked to publish one of their spaces (OpenVibe.Space's builder API; plan 2026-10-22 §Z stage Z1). POST /api/v1/spaces/:id/publish asks to publish and answers { state: 'pending' } with the approval the person answers in the Dock; it never publishes without that answer. When the person approves, Space publishes and the step is { state: 'published', url }; when they decline, { state: 'declined' }.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
state | enum | yes | pending: the person must answer first. published: it is live at url. declined: the person said no. |
|
url | string | null | Where it lives once it is published. |
| |
approval_id | string | null | The request the person answers in the Dock (its id). |
| |
reason | string | null | Why it was refused, in one line a person can act on. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: pending
{
"state": "pending",
"url": null,
"approval_id": "apr_01JAD2C3D4E5F6G7H8J9K0MNPQ",
"reason": null
}Rejected: unknown-state
{
"state": "maybe"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('space.build-publish@1', value); // { valid, errors: [{ path, message }] }