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

FieldTypeRequiredDescriptionConstraints
stateenumyespending: the person must answer first. published: it is live at url. declined: the person said no.
  • one of "pending", "published", "declined"
urlstring | nullWhere it lives once it is published.
  • format uri
approval_idstring | nullThe request the person answers in the Dock (its id).
  • maxLength 80
reasonstring | nullWhy it was refused, in one line a person can act on.
  • maxLength 240

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 }] }