ReviewsSummaryPublishResult reviews.summary-publish-result@1

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

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

reviews.summary-publish-result@1: answers of reviews.summary.publish on OpenVibe.Reviews. POST /api/v1/entities/:ref/summary/revisions → 201 { summary, revision, published } (a correction also answers correction: the accepted request or null). POST …/summary/revisions/:n/review → { review, published, summary }. POST …/summary/publish and …/summary/unpublish → { summary }. Emits reviews.summary.published|updated|unpublished (a correction is an updated carrying correction).

Fields

This schema has no named fields.

Examples

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

Valid: published
{
  "summary": {
    "id": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
    "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "state": "published",
    "published_revision": 2,
    "published_at": 1790237700000,
    "revision_published_at": 1790243000000,
    "flagged": 0,
    "flag_reason": null,
    "flagged_at": null,
    "created_at": 1790237000000,
    "updated_at": 1790243000000
  }
}
Valid: review
{
  "review": {
    "id": 12,
    "entityId": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
    "revision": 3,
    "reviewer": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "decision": "approved",
    "note": "Checked every citation",
    "reviewedAt": "2026-09-24T09:40:12.000Z"
  },
  "published": true,
  "summary": {
    "id": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
    "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "state": "published",
    "published_revision": 2,
    "published_at": 1790237700000,
    "revision_published_at": 1790243000000,
    "flagged": 0,
    "flag_reason": null,
    "flagged_at": null,
    "created_at": 1790237000000,
    "updated_at": 1790243000000
  }
}
Valid: written
{
  "summary": {
    "id": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
    "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "state": "published",
    "published_revision": 2,
    "published_at": 1790237700000,
    "revision_published_at": 1790243000000,
    "flagged": 0,
    "flag_reason": null,
    "flagged_at": null,
    "created_at": 1790237000000,
    "updated_at": 1790243000000
  },
  "revision": {
    "number": 2,
    "status": "published",
    "overview": "Well-reviewed for comfort; battery life is the common complaint.",
    "points": [
      {
        "key": "overview",
        "kind": "overview",
        "text": null,
        "supported": true,
        "citations": [
          {
            "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
            "ok": true,
            "status": "active",
            "in_entity": true,
            "superseded_by": null
          }
        ]
      },
      {
        "key": "pro:0",
        "kind": "pro",
        "text": "Comfortable over long sessions",
        "supported": true,
        "citations": [
          {
            "signal_id": "sig_01JAC2S4G4H5J6K7M8N9P0Q1R2",
            "ok": true,
            "status": "active",
            "in_entity": true,
            "superseded_by": null
          }
        ]
      }
    ],
    "authorship": {
      "mode": "human",
      "workflow": null,
      "stub_provider": false
    },
    "disclosure": null,
    "review": null,
    "system": null,
    "correction": null,
    "author": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "message": null,
    "created_at": "2026-09-24T09:40:12.000Z"
  },
  "published": true
}
Rejected: bad-summary-state
{
  "summary": {
    "id": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
    "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "state": "archived",
    "published_revision": 2,
    "published_at": 1790237700000,
    "revision_published_at": 1790243000000,
    "flagged": 0,
    "flag_reason": null,
    "flagged_at": null,
    "created_at": 1790237000000,
    "updated_at": 1790243000000
  },
  "published": true
}

Validate

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