MailInboxAnswering mail.inbox-answering@1

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

Version
1.0.0
Owner
mail
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/mail/inbox-answering.v1.json

mail.inbox-answering@1: whether a person's agent answers the mail sent to its address, as OpenVibe.Mail keeps the switch. It is OFF by default and per agent: an address that exists is not an invitation to answer, and a person turns it on for the agent they trust to. `enabled` is the whole answer; `changed_at` says when the person last set it, so a page can say how long it has been on. Turning it off stops the next message from being published to the agent's system and takes its address out of the answering path; it never deletes what already happened.

Fields

FieldTypeRequiredDescriptionConstraints
agent_idstringyesThe agent's name in the address.
  • pattern ^[a-z0-9](?:[a-z0-9-]{0,30}[a-z0-9])?$
  • maxLength 32
addressstringyesThe agent's inbox address.
  • format email
  • maxLength 254
ownerstringyesThe Network subject of the person whose switch it is.
  • pattern ^usr_[0-9A-HJKMNP-TV-Z]{26}$
enabledbooleanyesTrue when the agent answers the mail sent to this address. Off unless the person turned it on.
changed_atstring | nullyesWhen the person last turned it on or off; null when they never have (it has been off since the address was made).
  • format date-time

Examples

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

Valid: off-by-default
{
  "agent_id": "helper",
  "address": "[email protected]",
  "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPS",
  "enabled": false,
  "changed_at": null
}
Valid: on
{
  "agent_id": "helper",
  "address": "[email protected]",
  "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPS",
  "enabled": true,
  "changed_at": "2026-11-07T12:00:00Z"
}
Rejected: no-changed-at
{
  "agent_id": "helper",
  "address": "[email protected]",
  "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPS",
  "enabled": true
}

Validate

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