ReviewsEntityResolveRequest reviews.entity-resolve-request@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-request.v1.json

reviews.entity-resolve-request@1: bodies of reviews.entity.resolve on OpenVibe.Reviews. POST /api/v1/resolve { name?, url?, gtin?, sku?, mpn?, source?, external? } resolves identifiers to an entity by deterministic rules (at least one: 422 resolve.empty; a name alone yields candidates, never a match). POST /api/v1/items/:id/resolution { entity, add_alias? } confirms an ambiguous or unmatched item for an entity (add_alias remembers that identifier of the item), or { ignore: true, note? } ignores it — both for an editor named in X-OV-Subject (403 reviews.person_required / reviews.editor_required; 404 item.not_found, 409 item.removed, 409 entity.not_active, 422 alias.invalid). GET /api/v1/entities, /entities/:ref, /entities/:ref/history, /entities/:ref/aggregate, /entities/:ref/summary/revisions/:n, /items and /items/:id take no body.

Fields

This schema has no named fields.

Examples

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

Valid: confirm
{
  "entity": "ent_01JAC1E2N3T4V5W6X7Y8Z9A0B1",
  "add_alias": "url"
}
Valid: ignore
{
  "ignore": true,
  "note": "Not a product review"
}
Valid: read
{}
Valid: resolve
{
  "name": "Lumen X2",
  "gtin": "0012345678905"
}
Rejected: wrong-types
{
  "name": 5,
  "entity": 7,
  "ignore": "yes"
}

Validate

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