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
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
caption_id | string | yes |
| |
owner | identity.subject-ref | yes | ||
created_at | string | yes |
|
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 }] }