BlogPostUpdateResult blog.post-update-result@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/post-update-result.v1.json

blog.post-update-result@1: answers of blog.post.update on OpenVibe.Blog. PATCH /api/v1/posts/:id → { post, revision, created } (created false when nothing changed); POST …/revert → 201 { revision, post }; POST …/attachments → 201 { attachment }; DELETE …/attachments/:aid → { removed }.

Fields

This schema has no named fields.

Examples

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

Valid: edited
{
  "post": {
    "id": "pst_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "blog": {
      "id": "blg_01JAB2C3D4E5F6G7H8J9K0MNPQ",
      "handle": "alice"
    },
    "slug": "my-restream-setup",
    "url": "https://openvibe.blog/@alice/my-restream-setup",
    "state": "published",
    "visibility": "public",
    "author_subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "title": "My restream setup",
    "summary": "One encoder, three platforms.",
    "revision": 2,
    "published_revision": 2,
    "first_published_at": "2026-09-24T10:00:00.000Z",
    "published_at": "2026-09-25T10:00:00.000Z",
    "tags": [
      "obs",
      "restream"
    ],
    "categories": [],
    "series": null,
    "allow_comments": true,
    "noindex": false,
    "indexability": {
      "indexable": true,
      "robots": "index,follow",
      "reasons": []
    }
  },
  "revision": 3,
  "created": true
}
Rejected: no-post
{
  "revision": 3
}

Validate

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