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