WikiPageReadResult wiki.page-read-result@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-read-result.v1.json

wiki.page-read-result@1: answers of wiki.page.read on OpenVibe.Wiki (pages the caller may read; others are 404). GET /api/v1/pages/:id[?revision=] → { page, revision, citations, infobox, attachments, links, indexability, discussion_thread }; GET …/revisions?before=&limit= → { revisions } (without bodies; each says whether it is published, its citation count and any AI proposal); GET …/revisions/:n → { revision, citations, infobox }; GET …/diff?from=&to=&mode= → { diff }; GET …/revisions/:n/citations → { citations }; GET /api/v1/proposals/:id → { proposal }.

Fields

This schema has no named fields.

Examples

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

Valid: proposal
{
  "proposal": {
    "id": "prp_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "page_id": "pg_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "space_id": "spc_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "revision": 4,
    "base_revision": 3,
    "workflow_id": "wiki.page_refresh",
    "run_id": "run_01JAB2C3D4E5F6G7H8J9K0MNPS",
    "status": "pending"
  }
}
Valid: view
{
  "page": {
    "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"
  },
  "revision": {
    "number": 3,
    "id": "rev_01JAB2C3D4E5F6G7H8J9K0MNPR",
    "kind": "edit",
    "parent_number": 2,
    "reverted_to": null,
    "title": "Restreaming",
    "summary": "Sending one stream to several platforms.",
    "infobox": [],
    "body": "Restreaming sends one encoder feed to several platforms.",
    "authorship": {
      "mode": "human"
    },
    "author": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "message": "clarify",
    "created_at": "2026-09-24T10:00:00.000Z"
  },
  "citations": [
    {
      "id": 71,
      "revision": 3,
      "url": "https://docs.example.com/rtmp",
      "title": "RTMP spec",
      "source_item_id": null,
      "retrieved_at": "2026-09-24T09:00:00.000Z",
      "quote": null,
      "license_note": null,
      "carried_from": null,
      "attached_by": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
      "attached_at": "2026-09-24T10:00:00.000Z"
    }
  ],
  "infobox": [],
  "attachments": [],
  "links": [
    {
      "space": "openvibe",
      "slug": "rtmp",
      "label": "RTMP"
    }
  ],
  "indexability": {
    "indexable": true,
    "reasons": []
  },
  "discussion_thread": null
}
Rejected: bad-status
{
  "proposal": {
    "id": "p",
    "page_id": "x",
    "status": "maybe"
  }
}

Validate

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