WikiProposalRequest wiki.proposal-request@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/proposal-request.v1.json
wiki.proposal-request@1: the body of POST /api/v1/proposals on OpenVibe.Wiki (wiki.revision.propose; first-party service principals only, i.e. OpenVibe.AI): an AI-written revision of an existing page (page_id, optionally expected_revision: a stale one is 412) or a new page in a space (space and title). It names the OpenVibe.AI workflow and run that wrote it; it is never published until a person approves it.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
space | string | |||
page_id | string | null | |||
title | string |
| ||
body | string |
| ||
summary | string | null | |||
infobox | array of object | Infobox rows: key, type (text, number, date, url, boolean, page, media) and value. | ||
citations | array of object | At most 50. Each needs a URL (with retrieved_at) or a Sources item id (url, title and retrieval come from the item). |
| |
citations[].url | string | null | |||
citations[].title | string | null | |||
citations[].source_item_id | string | null | |||
citations[].retrieved_at | string | null | |||
citations[].quote | one of | Cut to 5000 characters. | ||
citations[].license_note | string | null | |||
citations[].anchor | string | null | |||
workflow | object | yes | ||
workflow.id | string | yes | ||
workflow.run_id | string | |||
workflow.runId | string | |||
workflow.version | any | |||
workflow.model | any | |||
stub_provider | boolean | |||
expected_revision | integer | null | |||
note | string | null |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: refresh
{
"page_id": "pg_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"body": "Restreaming sends one encoder feed to several platforms. OpenRe.Stream does it server-side.",
"expected_revision": 3,
"workflow": {
"id": "wiki.page_refresh",
"run_id": "run_01JAB2C3D4E5F6G7H8J9K0MNPS",
"model": "claude-sonnet-4-5"
},
"note": "adds OpenRe"
}Rejected: no-workflow
{
"space": "openvibe",
"title": "x",
"body": "y"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('wiki.proposal-request@1', value); // { valid, errors: [{ path, message }] }