MemeCaptionCreatedPayload meme.caption.created@1

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

Version
1.0.0
Owner
meme
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/events/payloads/meme.caption.created.v1.json

meme.caption.created v1 (OpenVibe.Meme): a signed-in person saved a public caption. The event names only its id and owner, never the caption text, template, or other people's content. Envelope source meme, actor the owner, subject the caption, visibility internal.

Fields

FieldTypeRequiredDescriptionConstraints
caption_idstringyes
  • pattern ^mcp_[0-9A-HJKMNP-TV-Z]{26}$
owneridentity.subject-refyes
created_atstringyes
  • format date-time

Examples

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

Valid: public
{
  "caption_id": "mcp_01M516F1WX5NN6C0EMW2V0G8Y9",
  "owner": {
    "type": "user",
    "id": "usr_01J8Z3V9Q6N1X2Y3Z4A5B6C7D8"
  },
  "created_at": "2026-11-11T03:00:00.000Z"
}
Rejected: with-text
{
  "caption_id": "mcp_01M516F1WX5NN6C0EMW2V0G8Y9",
  "owner": {
    "type": "user",
    "id": "usr_01J8Z3V9Q6N1X2Y3Z4A5B6C7D8"
  },
  "created_at": "2026-11-11T03:00:00.000Z",
  "text": "Private content must not enter the event"
}

Validate

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