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

FieldTypeRequiredDescriptionConstraints
idstringyes
  • pattern ^ent_[0-9A-HJKMNP-TV-Z]{26}$
slugstringyes
namestringyes
  • maxLength 200
kindenumyes
  • one of "product", "game", "software", "service", "place", "organization", "media", "other"
descriptionstring | nullyes
stateenumyes
  • one of "active", "merged", "deleted"
merged_intostring | nullyes
canonical_idstring | nullyesThe entity it lives under after following merges (itself when not merged).
noindexbooleanyes
urlstringyes
created_atstringyes
  • format date-time
updated_atstringyes
  • format date-time

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 }] }