ReviewsEntityResolveResult reviews.entity-resolve-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-resolve-result.v1.json

reviews.entity-resolve-result@1: answers of reviews.entity.resolve on OpenVibe.Reviews. GET /api/v1/entities?q=&limit=&offset= → { entities, total } (total only when listing; a search by q answers { entities }). POST /api/v1/resolve → { match: exact | ambiguous | none, entity, via, rule, candidates }. GET /api/v1/entities/:ref → the entity page as JSON: { entity, aliases, merged_from, links, aggregate, aggregate_revision, signals, inactive_signals, sources, entity_trust, summary, open_corrections, decision, editor }, or { entity, canonical } for a merged or deleted entity. GET …/history → { entity, aggregates, summary_revisions, merges, signals, audit } (410 entity.deleted for readers). GET …/aggregate → { entity_id, aggregate, aggregate_revision } (409 entity.merged, 410 entity.deleted). GET …/summary/revisions/:n → { revision }. GET /api/v1/items → { items } (the resolution queue; editors). GET /api/v1/items/:id → { item } (410 item.removed). POST /api/v1/items/:id/resolution → { item, signal, settled_items } when confirmed, { item } when ignored.

Fields

This schema has no named fields.

Examples

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

Valid: aggregate
{
  "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
  "aggregate": {
    "revision": 3,
    "computed_at": "2026-09-24T09:40:12.000Z",
    "trigger": "signal_added",
    "result": {
      "method": "reviews-aggregate@1",
      "components": {
        "rating": {
          "count": 318,
          "percent": 84,
          "inputs": [
            "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2"
          ],
          "on_scale": {
            "value": 4.2,
            "best": 5,
            "worst": 1
          }
        }
      },
      "inputs": [
        {
          "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
          "type": "rating_aggregate",
          "source_key": "sound-lab",
          "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
          "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
          "observed_at": "2026-09-24T08:15:00.000Z",
          "rating_value": 4.2,
          "rating_best": 5,
          "rating_worst": 1,
          "rating_count": 318,
          "weight": 318
        }
      ],
      "excluded": [],
      "sources": [
        "sound-lab"
      ],
      "observed": {
        "earliest": "2026-09-24T08:15:00.000Z",
        "latest": "2026-09-24T08:15:00.000Z"
      },
      "computation": [
        "rating: 84% = Σ(value ÷ best × count) ÷ Σ count over 1 signal and 318 ratings"
      ]
    }
  },
  "aggregate_revision": 3
}
Valid: confirmed
{
  "item": {
    "id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
    "source_key": "sound-lab",
    "kind": "review_signal",
    "identity": "https://soundlab.example/lumen-x2",
    "canonical_url": "https://soundlab.example/lumen-x2",
    "title": "Lumen X2",
    "item_revision": 2,
    "published_at": "2026-09-20",
    "retrieved_at": "2026-09-24T08:15:00.000Z",
    "license_note": null,
    "terms_note": "Ratings may be shown with a link",
    "fields": {
      "gtin": "0012345678905",
      "rating": {
        "value": 4.2,
        "best": 5,
        "count": 318
      }
    },
    "state": "active",
    "removed_at": null,
    "removed_reason": null,
    "resolution": "resolved",
    "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "resolution_rule": "gtin",
    "candidates": [],
    "signal_note": null,
    "signal": {
      "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
      "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "canonical_entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "type": "rating_aggregate",
      "source_key": "sound-lab",
      "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
      "item_revision": 2,
      "observed_at": "2026-09-24T08:15:00.000Z",
      "source_published_at": "2026-09-20",
      "canonical_url": "https://soundlab.example/lumen-x2",
      "license_note": null,
      "rating_value": 4.2,
      "rating_best": 5,
      "rating_worst": 1,
      "rating_count": 318
    }
  },
  "signal": {
    "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
    "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "canonical_entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "type": "rating_aggregate",
    "source_key": "sound-lab",
    "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
    "item_revision": 2,
    "observed_at": "2026-09-24T08:15:00.000Z",
    "source_published_at": "2026-09-20",
    "canonical_url": "https://soundlab.example/lumen-x2",
    "license_note": null,
    "rating_value": 4.2,
    "rating_best": 5,
    "rating_worst": 1,
    "rating_count": 318,
    "status": "active",
    "status_reason": null,
    "status_at": null,
    "superseded_by": null,
    "trust": {},
    "editor_trust": {},
    "created_at": "2026-09-24T08:15:00.000Z",
    "provenance": {
      "source_key": "sound-lab",
      "source_name": "Sound Lab",
      "source_homepage": "https://soundlab.example",
      "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
      "item_revision": 2,
      "item_kind": "review_signal",
      "retrieved_at": "2026-09-24T08:15:00.000Z",
      "last_seen_at": "2026-09-24T09:40:12.000Z",
      "canonical_url": "https://soundlab.example/lumen-x2",
      "license_note": null,
      "terms_note": "Ratings may be shown with a link",
      "item_state": "active",
      "item_removed_reason": null
    }
  },
  "settled_items": 0
}
Valid: history
{
  "entity": {
    "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"
  },
  "aggregates": [
    {
      "revision": 3,
      "computed_at": "2026-09-24T09:40:12.000Z",
      "trigger": "signal_added",
      "result": {
        "method": "reviews-aggregate@1",
        "components": {
          "rating": {
            "count": 318,
            "percent": 84,
            "inputs": [
              "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2"
            ],
            "on_scale": {
              "value": 4.2,
              "best": 5,
              "worst": 1
            }
          }
        },
        "inputs": [
          {
            "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
            "type": "rating_aggregate",
            "source_key": "sound-lab",
            "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
            "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
            "observed_at": "2026-09-24T08:15:00.000Z",
            "rating_value": 4.2,
            "rating_best": 5,
            "rating_worst": 1,
            "rating_count": 318,
            "weight": 318
          }
        ],
        "excluded": [],
        "sources": [
          "sound-lab"
        ],
        "observed": {
          "earliest": "2026-09-24T08:15:00.000Z",
          "latest": "2026-09-24T08:15:00.000Z"
        },
        "computation": [
          "rating: 84% = Σ(value ÷ best × count) ÷ Σ count over 1 signal and 318 ratings"
        ]
      }
    }
  ],
  "summary_revisions": [
    {
      "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"
    }
  ],
  "merges": [
    {
      "id": "lnk_01JAC5M6N7P8Q9R0S1T2V3W4X5",
      "from": {
        "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"
      },
      "to": {
        "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"
      },
      "note": null,
      "merged_at": "2026-09-24T08:15:00.000Z",
      "merged_by": null,
      "split_at": null,
      "split_by": null,
      "split_note": null
    }
  ],
  "signals": [
    {
      "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
      "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "canonical_entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "type": "rating_aggregate",
      "source_key": "sound-lab",
      "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
      "item_revision": 2,
      "observed_at": "2026-09-24T08:15:00.000Z",
      "source_published_at": "2026-09-20",
      "canonical_url": "https://soundlab.example/lumen-x2",
      "license_note": null,
      "rating_value": 4.2,
      "rating_best": 5,
      "rating_worst": 1,
      "rating_count": 318,
      "status": "active",
      "status_reason": null,
      "status_at": null,
      "superseded_by": null,
      "trust": {},
      "editor_trust": {},
      "created_at": "2026-09-24T08:15:00.000Z",
      "provenance": {
        "source_key": "sound-lab",
        "source_name": "Sound Lab",
        "source_homepage": "https://soundlab.example",
        "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
        "item_revision": 2,
        "item_kind": "review_signal",
        "retrieved_at": "2026-09-24T08:15:00.000Z",
        "last_seen_at": "2026-09-24T09:40:12.000Z",
        "canonical_url": "https://soundlab.example/lumen-x2",
        "license_note": null,
        "terms_note": "Ratings may be shown with a link",
        "item_state": "active",
        "item_removed_reason": null
      }
    }
  ],
  "audit": [
    {
      "id": 41,
      "at": "2026-09-24T09:40:12.000Z",
      "action": "summary.published",
      "target": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
      "actor": "an editor",
      "detail": {
        "revision": 2,
        "previous": 1
      }
    }
  ]
}
Valid: list
{
  "entities": [
    {
      "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"
    }
  ],
  "total": 1
}
Valid: merged
{
  "entity": {
    "id": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
    "slug": "lumen-x2-headphones",
    "name": "Lumen X2 Headphones",
    "kind": "product",
    "description": null,
    "state": "merged",
    "merged_into": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
    "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"
  },
  "canonical": {
    "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"
  }
}
Valid: page
{
  "entity": {
    "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"
  },
  "aliases": [
    {
      "id": "als_01JAC4A5B6C7D8E9F0G1H2J3K4",
      "type": "gtin",
      "value": "0012345678905"
    }
  ],
  "merged_from": [],
  "links": [],
  "aggregate": {
    "revision": 3,
    "computed_at": "2026-09-24T09:40:12.000Z",
    "trigger": "signal_added",
    "result": {
      "method": "reviews-aggregate@1",
      "components": {
        "rating": {
          "count": 318,
          "percent": 84,
          "inputs": [
            "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2"
          ],
          "on_scale": {
            "value": 4.2,
            "best": 5,
            "worst": 1
          }
        }
      },
      "inputs": [
        {
          "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
          "type": "rating_aggregate",
          "source_key": "sound-lab",
          "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
          "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
          "observed_at": "2026-09-24T08:15:00.000Z",
          "rating_value": 4.2,
          "rating_best": 5,
          "rating_worst": 1,
          "rating_count": 318,
          "weight": 318
        }
      ],
      "excluded": [],
      "sources": [
        "sound-lab"
      ],
      "observed": {
        "earliest": "2026-09-24T08:15:00.000Z",
        "latest": "2026-09-24T08:15:00.000Z"
      },
      "computation": [
        "rating: 84% = Σ(value ÷ best × count) ÷ Σ count over 1 signal and 318 ratings"
      ]
    }
  },
  "aggregate_revision": 3,
  "signals": [
    {
      "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
      "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "canonical_entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "type": "rating_aggregate",
      "source_key": "sound-lab",
      "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
      "item_revision": 2,
      "observed_at": "2026-09-24T08:15:00.000Z",
      "source_published_at": "2026-09-20",
      "canonical_url": "https://soundlab.example/lumen-x2",
      "license_note": null,
      "rating_value": 4.2,
      "rating_best": 5,
      "rating_worst": 1,
      "rating_count": 318,
      "status": "active",
      "status_reason": null,
      "status_at": null,
      "superseded_by": null,
      "trust": {},
      "editor_trust": {},
      "created_at": "2026-09-24T08:15:00.000Z",
      "provenance": {
        "source_key": "sound-lab",
        "source_name": "Sound Lab",
        "source_homepage": "https://soundlab.example",
        "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
        "item_revision": 2,
        "item_kind": "review_signal",
        "retrieved_at": "2026-09-24T08:15:00.000Z",
        "last_seen_at": "2026-09-24T09:40:12.000Z",
        "canonical_url": "https://soundlab.example/lumen-x2",
        "license_note": null,
        "terms_note": "Ratings may be shown with a link",
        "item_state": "active",
        "item_removed_reason": null
      }
    }
  ],
  "inactive_signals": [],
  "sources": [
    {
      "key": "sound-lab",
      "name": "Sound Lab",
      "homepage_url": "https://soundlab.example",
      "license_note": null,
      "terms_note": "Ratings may be shown with a link",
      "status": "active",
      "stale": false,
      "last_success_at": "2026-09-24T08:15:00.000Z",
      "trust": {}
    }
  ],
  "entity_trust": {},
  "summary": {
    "id": "sum_01JAC6S7T8V9W0X1Y2Z3A4B5C6",
    "state": "published",
    "head_revision": 2,
    "flagged": false,
    "flag_reason": null,
    "flagged_at": null,
    "published_at": "2026-09-24T08:15:00.000Z",
    "revision_published_at": "2026-09-24T09:40:12.000Z",
    "published": {
      "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"
    },
    "pending": 0,
    "history": [
      {
        "number": 2,
        "status": "published",
        "created_at": "2026-09-24T09:40:12.000Z",
        "disclosure": null,
        "correction": null
      }
    ]
  },
  "open_corrections": 1,
  "decision": {
    "indexable": true,
    "robots": "index, follow",
    "reasons": []
  },
  "editor": false
}
Valid: queue
{
  "items": [
    {
      "id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
      "source_key": "sound-lab",
      "kind": "review_signal",
      "identity": "https://soundlab.example/lumen-x2",
      "canonical_url": "https://soundlab.example/lumen-x2",
      "title": "Lumen X2",
      "item_revision": 2,
      "published_at": "2026-09-20",
      "retrieved_at": "2026-09-24T08:15:00.000Z",
      "license_note": null,
      "terms_note": "Ratings may be shown with a link",
      "fields": {
        "gtin": "0012345678905",
        "rating": {
          "value": 4.2,
          "best": 5,
          "count": 318
        }
      },
      "state": "active",
      "removed_at": null,
      "removed_reason": null,
      "resolution": "resolved",
      "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
      "resolution_rule": "gtin",
      "candidates": [],
      "signal_note": null,
      "signal": {
        "signal_id": "sig_01JAC2S3G4H5J6K7M8N9P0Q1R2",
        "entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
        "canonical_entity_id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
        "type": "rating_aggregate",
        "source_key": "sound-lab",
        "source_item_id": "itm_01JAC3T4V5W6X7Y8Z9A0B1C2D3",
        "item_revision": 2,
        "observed_at": "2026-09-24T08:15:00.000Z",
        "source_published_at": "2026-09-20",
        "canonical_url": "https://soundlab.example/lumen-x2",
        "license_note": null,
        "rating_value": 4.2,
        "rating_best": 5,
        "rating_worst": 1,
        "rating_count": 318
      }
    }
  ]
}
Valid: resolve
{
  "match": "exact",
  "entity": {
    "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"
  },
  "via": null,
  "rule": "gtin",
  "candidates": []
}
Valid: revision
{
  "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"
  }
}
Rejected: bad-match
{
  "match": "probable",
  "entity": null,
  "via": null,
  "rule": null,
  "candidates": []
}

Validate

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