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
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes | The space's id. |
|
slug | string | yes | The name it publishes under (<slug>.openvibe.website). |
|
name | string | yes |
| |
description | string |
| ||
published | boolean | yes | True while it is live at its own address. | |
url | string | yes | Where it lives: its own address once published, the editor while it is a draft. |
|
updated_at | string | When it last changed. |
|
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 }] }