WikiPage wiki.page@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
wiki
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/wiki/page.v1.json

wiki.page@1: one wiki page as OpenVibe.Wiki's API shows it (server/http/api.js serializePage); in a space's page tree each page also lists its children.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
  • pattern ^pg_[0-9A-HJKMNP-TV-Z]{26}$
spacestringyes
slugstringyes
titlestringyes
  • maxLength 200
parent_idstring | nullyes
statestringyesdraft, published, deleted, …
visibilityenumyes
  • one of "public", "members", "private"
noindexbooleanyes
published_revisioninteger | nullyes
published_atstring | null
  • format date-time
revision_published_atstring | null
  • format date-time
updated_atstringyes
  • format date-time
urlstringyes
childrenarray of object

Examples

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

Valid: published
{
  "id": "pg_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "space": "openvibe",
  "slug": "restreaming",
  "title": "Restreaming",
  "parent_id": null,
  "state": "published",
  "visibility": "public",
  "noindex": false,
  "published_revision": 3,
  "published_at": "2026-09-20T10:00:00.000Z",
  "revision_published_at": "2026-09-24T10:00:00.000Z",
  "updated_at": "2026-09-24T10:00:00.000Z",
  "url": "https://openvibe.wiki/openvibe/restreaming"
}
Rejected: noindex-text
{
  "id": "pg_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "space": "openvibe",
  "slug": "restreaming",
  "title": "Restreaming",
  "parent_id": null,
  "state": "published",
  "visibility": "public",
  "noindex": "no",
  "published_revision": 3,
  "published_at": "2026-09-20T10:00:00.000Z",
  "revision_published_at": "2026-09-24T10:00:00.000Z",
  "updated_at": "2026-09-24T10:00:00.000Z",
  "url": "https://openvibe.wiki/openvibe/restreaming"
}

Validate

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