VisionFaceLibraryGroup vision.face-library-group@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
vision
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/vision/face-library-group.v1.json

vision.face-library-group@1: one private face cluster in a person's own Vision library: the media it came from, the group it was merged into, an optional label and whether the person excluded it. It never leaves that person's library.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
  • pattern ^fcl_[0-9A-HJKMNP-TV-Z]{26}$
media_idstringyes
  • pattern ^fme_[0-9A-HJKMNP-TV-Z]{26}$
group_idstringyes
  • pattern ^fgr_[0-9A-HJKMNP-TV-Z]{26}$
labelstring | null
  • maxLength 120
excludedbooleanyes
created_atstringyes
  • format date-time

Examples

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

Valid: one
{
  "id": "fcl_01J8Z3Q4R5S6T7V8W9X0Y1Z2A4",
  "media_id": "fme_01J8Z3Q4R5S6T7V8W9X0Y1Z2A4",
  "group_id": "fgr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A4",
  "label": "Ana",
  "excluded": false,
  "created_at": "2026-10-29T10:00:00.000Z"
}
Rejected: one
{
  "id": "fcl_1",
  "media_id": "fme_01J8Z3Q4R5S6T7V8W9X0Y1Z2A4",
  "group_id": "fgr_01J8Z3Q4R5S6T7V8W9X0Y1Z2A4",
  "excluded": false,
  "created_at": "2026-10-29T10:00:00.000Z"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('vision.face-library-group@1', value);   // { valid, errors: [{ path, message }] }