SpaceBuildSpace space.build-space@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-space.v1.json

space.build-space@1: one of a person's own spaces, as their agent sees it while it builds (OpenVibe.Space's builder API; plan 2026-10-22 §Z stage Z1). The id, the slug it publishes under, its name and description, whether it is published and where, and when it last changed. Nothing about anyone else's space is ever in this shape.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyesThe space's id.
  • pattern ^spc_[0-9A-HJKMNP-TV-Z]{26}$
slugstringyesThe name it publishes under (<slug>.openvibe.website).
  • pattern ^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){2,39}$
namestringyes
  • maxLength 40
descriptionstring
  • maxLength 400
publishedbooleanyesTrue while it is live at its own address.
urlstringyesWhere it lives: its own address once published, the editor while it is a draft.
  • format uri
updated_atstringWhen it last changed.
  • format date-time

Examples

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

Valid: one
{
  "id": "spc_01JAD2C3D4E5F6G7H8J9K0MNPQ",
  "slug": "my-podcast",
  "name": "My Podcast",
  "description": "A place for my episodes.",
  "published": true,
  "url": "https://my-podcast.openvibe.website",
  "updated_at": "2026-11-07T09:30:00.000Z"
}
Rejected: bad-id
{
  "id": "space-1",
  "slug": "my-podcast",
  "name": "My Podcast",
  "published": false,
  "url": "https://my-podcast.openvibe.website"
}

Validate

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