ReviewsEntity reviews.entity@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.v1.json
reviews.entity@1: one reviewed entity as OpenVibe.Reviews shows it (server/reviews/service.js entityView): the thing reviewed, its state (a merged entity points at the entity it now lives under; a deleted one keeps its record) and its public URL.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
slug | string | yes | ||
name | string | yes |
| |
kind | enum | yes |
| |
description | string | null | yes | ||
state | enum | yes |
| |
merged_into | string | null | yes | ||
canonical_id | string | null | yes | The entity it lives under after following merges (itself when not merged). | |
noindex | boolean | yes | ||
url | string | yes | ||
created_at | string | yes |
| |
updated_at | string | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: active
{
"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: merged
{
"id": "ent_01JAC1E3N3T4V5W6X7Y8Z9A0B1",
"slug": "lumen-x-2",
"name": "Lumen X-2",
"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"
}Rejected: bad-kind
{
"id": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
"slug": "lumen-x2-headphones",
"name": "Lumen X2 Headphones",
"kind": "planet",
"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"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('reviews.entity@1', value); // { valid, errors: [{ path, message }] }