SearchReadResult search.read-result@1

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

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

search.read-result@1: answers of search.query.run and search.query.delegate on OpenVibe.Search. GET /api/v1/search → search.query-result@1; GET /api/v1/suggest?q=&owner=&type=&limit= → { suggestions } (title prefixes, at most 20, only documents the caller may see); GET /api/v1/documents/:owner/:type/:id → { document } (one document by exact id, if the caller may see it; 404 otherwise).

Fields

This schema has no named fields.

Examples

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

Valid: document
{
  "document": {
    "owner": "wiki",
    "type": "page",
    "id": "restreaming",
    "revision": 3,
    "visibility": "public",
    "title": "Restreaming",
    "summary": null,
    "canonical_url": "https://openvibe.wiki/openvibe/restreaming",
    "facets": {},
    "language": "en",
    "authorship": "human",
    "provenance": [],
    "published_at": "2026-09-20T10:00:00Z",
    "updated_at": "2026-09-24T10:00:00Z",
    "indexable": true
  }
}
Valid: search
{
  "results": [
    {
      "owner": "live",
      "type": "vod",
      "id": "912",
      "revision": 3,
      "visibility": "public",
      "title": "Building a forum",
      "summary": null,
      "canonical_url": "https://openvibe.live/vod/912",
      "facets": {
        "channel": "alex"
      },
      "language": null,
      "authorship": "human",
      "provenance": [],
      "published_at": "2026-09-24T19:00:00.000Z",
      "updated_at": null,
      "indexable": true,
      "snippet_html": "building a <mark>forum</mark>"
    }
  ],
  "next_cursor": null
}
Valid: suggest
{
  "suggestions": [
    {
      "owner": "wiki",
      "type": "page",
      "id": "restreaming",
      "title": "Restreaming",
      "canonical_url": "https://openvibe.wiki/openvibe/restreaming"
    }
  ]
}
Rejected: suggestions-text
{
  "suggestions": "none"
}

Validate

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