MailBurner mail.burner@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/burner.v1.json

A throwaway receive-only address on OpenVibe.Mail. It expires after ten minutes, an hour, a day or a week, or after the first message when first_message_only is set. When it expires its mail is deleted and the address bounces. A ten-minute burner may be made without an account (owner is null) and is then read with the one-time token the create call returns; the token is deliberately not part of this resource.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyesThe burner id. Opaque outside OpenVibe.Mail.
  • pattern ^bnr_[0-9A-HJKMNP-TV-Z]{26}$
ownerstring | nullyesThe Network subject id of the person who made the burner, or null for a ten-minute burner made without an account.
  • pattern ^usr_[0-9A-HJKMNP-TV-Z]{26}$
addressstringyesThe burner address: eight unguessable characters on one of the rotating burner domains.
  • pattern ^[a-z0-9]{8}@[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)+$
  • format email
  • maxLength 254
expires_atstringyesWhen the address stops resolving and its mail is due for deletion, ISO 8601 UTC.
  • format date-time
first_message_onlybooleanyesWhen true the burner accepts one message and then stops resolving.
created_atstringyesWhen the burner was made, ISO 8601 UTC.
  • format date-time

Examples

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

Valid: anonymous
{
  "id": "bnr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "owner": null,
  "address": "[email protected]",
  "expires_at": "2026-11-07T12:10:00Z",
  "first_message_only": false,
  "created_at": "2026-11-07T12:00:00Z"
}
Valid: one-message
{
  "id": "bnr_01JAB2C3D4E5F6G7H8J9K0MNPR",
  "owner": "usr_01JAB2C3D4E5F6G7H8J9K0MNPS",
  "address": "[email protected]",
  "expires_at": "2026-11-08T12:00:00Z",
  "first_message_only": true,
  "created_at": "2026-11-07T12:00:00Z"
}
Rejected: bad-address
{
  "id": "bnr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "owner": null,
  "address": "[email protected]",
  "expires_at": "2026-11-07T12:10:00Z",
  "first_message_only": false,
  "created_at": "2026-11-07T12:00:00Z"
}
Rejected: bad-owner
{
  "id": "bnr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "owner": "someone",
  "address": "[email protected]",
  "expires_at": "2026-11-07T12:10:00Z",
  "first_message_only": false,
  "created_at": "2026-11-07T12:00:00Z"
}

Validate

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