ModuleRecord modules.module-record@1

Generated at from openvibe-contracts v0.33.0 and openvibe-sdk v0.5.0.

Version
1.0.0
Owner
network
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/modules/module-record.v1.json

One subject's value in one namespace, as returned by Network. revision increases by one on every write; a write names the revision it read (If-Match) and fails with 412 if it moved.

Fields

FieldTypeRequiredDescriptionConstraints
subjectidentity.subject-refyes
namespacestringyes
versionintegeryes
  • minimum 1
revisionintegeryes
  • minimum 0
dataobjectyes
updated_atstringyes
updated_bystringuser:<subject> or svc:<service>

Examples

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

Valid: tts
{
  "subject": {
    "type": "user",
    "id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
  },
  "namespace": "chat.tts_defaults",
  "version": 1,
  "revision": 3,
  "data": {
    "voice": "en-US-1",
    "rate": 1.2
  },
  "updated_at": "2026-09-22 21:40:00",
  "updated_by": "user:usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
}
Rejected: negative-revision
{
  "subject": {
    "type": "user",
    "id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
  },
  "namespace": "chat.tts_defaults",
  "version": 1,
  "revision": -1,
  "data": {},
  "updated_at": "x"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('modules.module-record@1', value);   // { valid, errors: [{ path, message }] }