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
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
version | const | yes |
| |
title | string | yes | ||
home_page_url | string | yes | ||
feed_url | string | yes | ||
description | string | |||
language | string | |||
authors | array of object | |||
authors[].name | string | |||
authors[].url | string | |||
items | array of object | yes |
| |
items[].id | string | yes | ||
items[].url | string | |||
items[].title | string | |||
items[].content_html | string | |||
items[].content_text | string | |||
items[].summary | string | |||
items[].image | string | |||
items[].date_published | string | |||
items[].date_modified | string | |||
items[].authors | array of object | |||
items[].authors[].name | string | |||
items[].authors[].url | string | |||
items[].tags | array 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 }] }