ReviewsEntitySplitResult reviews.entity-split-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/entity-split-result.v1.json

reviews.entity-split-result@1: the answer of reviews.entity.split on OpenVibe.Reviews: POST /api/v1/entities/:ref/split → { link, entity, from, signals } — the ended merged_into link, the entity (active again), the entity it was merged into and the ids of the signals that went back with it. Both aggregates are recomputed and a summary that cited those signals is flagged with a pending revision. Emits reviews.entity.split.

Fields

FieldTypeRequiredDescriptionConstraints
linkreviews.entity-linkyes
entityreviews.entityyes
fromone ofyes
signalsarray of stringyes
  • items: pattern ^sig_[0-9A-HJKMNP-TV-Z]{26}$

Examples

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

Valid: split
{
  "link": {
    "id": "lnk_01JAC5M6N7P8Q9R0S1T2V3W4X5",
    "from_entity": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
    "to_entity": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "type": "merged_into",
    "ref": null,
    "note": "Same headphones, regional name",
    "created_by": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "created_at": 1790241000000,
    "ended_at": 1790245000000,
    "ended_by": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "end_note": "Different models after all"
  },
  "entity": {
    "id": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
    "slug": "lumen-x2-headphones",
    "name": "Lumen X2 Headphones",
    "kind": "product",
    "description": null,
    "state": "active",
    "merged_into": null,
    "canonical_id": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
    "noindex": false,
    "url": "https://openvibe.reviews/e/lumen-x2-headphones",
    "created_at": "2026-09-24T08:15:00.000Z",
    "updated_at": "2026-09-24T09:40:12.000Z"
  },
  "from": {
    "id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "slug": "lumen-x2-headphones",
    "name": "Lumen X2 Headphones",
    "kind": "product",
    "description": null,
    "state": "active",
    "merged_into": null,
    "canonical_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "noindex": false,
    "url": "https://openvibe.reviews/e/lumen-x2-headphones",
    "created_at": "2026-09-24T08:15:00.000Z",
    "updated_at": "2026-09-24T09:40:12.000Z"
  },
  "signals": [
    "sig_01JAC2S4G4H5J6K7M8N9P0Q1R2"
  ]
}
Rejected: no-link
{
  "entity": {
    "id": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
    "slug": "lumen-x2-headphones",
    "name": "Lumen X2 Headphones",
    "kind": "product",
    "description": null,
    "state": "active",
    "merged_into": null,
    "canonical_id": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
    "noindex": false,
    "url": "https://openvibe.reviews/e/lumen-x2-headphones",
    "created_at": "2026-09-24T08:15:00.000Z",
    "updated_at": "2026-09-24T09:40:12.000Z"
  },
  "from": {
    "id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "slug": "lumen-x2-headphones",
    "name": "Lumen X2 Headphones",
    "kind": "product",
    "description": null,
    "state": "active",
    "merged_into": null,
    "canonical_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "noindex": false,
    "url": "https://openvibe.reviews/e/lumen-x2-headphones",
    "created_at": "2026-09-24T08:15:00.000Z",
    "updated_at": "2026-09-24T09:40:12.000Z"
  },
  "signals": []
}

Validate

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