BlogJsonFeed blog.json-feed@1

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

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

blog.json-feed@1: the answer of GET /api/v1/blogs/:handle/feed on OpenVibe.Blog (blog.feed.read): the blog's public posts as a JSON Feed 1.1 document (openvibe-publishing seo.jsonFeed), as many as the blog's feed item count, with full HTML content when the blog allows it and otherwise the summary as text. Empty fields are left out.

Fields

FieldTypeRequiredDescriptionConstraints
versionconstyes
  • = "https://jsonfeed.org/version/1.1"
titlestringyes
home_page_urlstringyes
feed_urlstringyes
descriptionstring
languagestring
authorsarray of object
authors[].namestring
authors[].urlstring
itemsarray of objectyes
  • maxItems 50
items[].idstringyes
items[].urlstring
items[].titlestring
items[].content_htmlstring
items[].content_textstring
items[].summarystring
items[].imagestring
items[].date_publishedstring
items[].date_modifiedstring
items[].authorsarray of object
items[].authors[].namestring
items[].authors[].urlstring
items[].tagsarray of string

Examples

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

Valid: feed
{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Alice builds things",
  "home_page_url": "https://openvibe.blog/@alice",
  "feed_url": "https://openvibe.blog/@alice/feed.json",
  "items": [
    {
      "id": "https://openvibe.blog/@alice/my-restream-setup",
      "url": "https://openvibe.blog/@alice/my-restream-setup",
      "title": "My restream setup",
      "content_html": "<p>One encoder, three platforms.</p>",
      "date_published": "2026-09-24T10:00:00.000Z",
      "tags": [
        "obs",
        "restream"
      ]
    }
  ]
}
Rejected: old-version
{
  "version": "https://jsonfeed.org/version/1",
  "title": "x",
  "home_page_url": "u",
  "feed_url": "u",
  "items": []
}

Validate

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