HelpIndexDocumentUpsertedPayload help.index_document.upserted@1
Generated at from
openvibe-contracts v0.131.0 and
openvibe-sdk v0.38.0.
- Version
- 1.0.0
- Owner
- help
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/events/payloads/help.index_document.upserted.v1.json
help.index_document.upserted v1 (OpenVibe.Help server/search-index.js, via openvibe-publishing/search-feed). The OpenVibe.Search document of a help article page (type article, /a/<domain>/<slug>, id <domain>:<slug>): one question from a product manifest's FAQ with its answer, quoted verbatim from OpenVibe.Contracts. Sent by the sweep at boot and on a timer (server/search-index.js) whenever the catalog Help was built from changed; an article whose FAQ entry left the catalog becomes a tombstone. The sequencer (help_index_revisions) gives an unchanged document its old revision and nothing is sent. Always visibility public and publication_state published; a page its own robots mark noindex stays in Search as a noindex document. Facets: site (the product domain), kind. Consumed by OpenVibe.Search ('*.index_document.*'). Envelope: subject { type: article, id, revision: <document revision> }, visibility internal, actor service:help.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: article-noindex
{
"owner": "help",
"type": "article",
"id": "openvibe.live:how-do-i-go-live-from-my-browser",
"revision": 5,
"deleted": false,
"visibility": "public",
"canonical_url": "https://openvibe.help/a/openvibe.live/how-do-i-go-live-from-my-browser",
"title": "How do I go live from my browser?",
"summary": "Open openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"body": "How do I go live from my browser?\nOpen openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"facets": {
"site": "openvibe.live",
"kind": "product"
},
"authorship": "human",
"provenance": [],
"publication_state": "published",
"published_at": "2026-10-09T12:00:00.000Z",
"updated_at": "2026-10-10T08:00:00.000Z",
"indexability": {
"decision": "noindex",
"reasons": [
"owner_decision"
]
}
}Valid: article
{
"owner": "help",
"type": "article",
"id": "openvibe.live:how-do-i-go-live-from-my-browser",
"revision": 2,
"deleted": false,
"visibility": "public",
"canonical_url": "https://openvibe.help/a/openvibe.live/how-do-i-go-live-from-my-browser",
"title": "How do I go live from my browser?",
"summary": "Open openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"body": "How do I go live from my browser?\nOpen openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"facets": {
"site": "openvibe.live",
"kind": "product"
},
"authorship": "human",
"provenance": [],
"publication_state": "published",
"published_at": "2026-10-09T12:00:00.000Z",
"updated_at": "2026-10-10T08:00:00.000Z",
"indexability": {
"decision": "index",
"reasons": []
}
}Rejected: bad-id
{
"owner": "help",
"type": "article",
"id": "how-do-i-go-live",
"revision": 2,
"deleted": false,
"visibility": "public",
"canonical_url": "https://openvibe.help/a/openvibe.live/how-do-i-go-live-from-my-browser",
"title": "How do I go live from my browser?",
"summary": "Open openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"body": "How do I go live from my browser?\nOpen openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"facets": {
"site": "openvibe.live",
"kind": "product"
},
"authorship": "human",
"provenance": [],
"publication_state": "published",
"published_at": "2026-10-09T12:00:00.000Z",
"updated_at": "2026-10-10T08:00:00.000Z",
"indexability": {
"decision": "index",
"reasons": []
}
}Rejected: other-owner
{
"owner": "deals",
"type": "article",
"id": "openvibe.live:how-do-i-go-live-from-my-browser",
"revision": 2,
"deleted": false,
"visibility": "public",
"canonical_url": "https://openvibe.help/a/openvibe.live/how-do-i-go-live-from-my-browser",
"title": "How do I go live from my browser?",
"summary": "Open openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"body": "How do I go live from my browser?\nOpen openvibe.live, sign in and press Go live: no OBS and no follower minimum.",
"facets": {
"site": "openvibe.live",
"kind": "product"
},
"authorship": "human",
"provenance": [],
"publication_state": "published",
"published_at": "2026-10-09T12:00:00.000Z",
"updated_at": "2026-10-10T08:00:00.000Z",
"indexability": {
"decision": "index",
"reasons": []
}
}Rejected: tombstone-as-upsert
{
"owner": "help",
"type": "article",
"id": "openvibe.live:how-do-i-go-live-from-my-browser",
"revision": 3,
"deleted": true
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('help.index_document.upserted@1', value); // { valid, errors: [{ path, message }] }