TipsInteractionErasedPayload tips.interaction.erased@1
Generated at from
openvibe-contracts v0.33.0 and
openvibe-sdk v0.5.0.
- Version
- 1.0.0
- Owner
- tips
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-012
- Schema
https://openvibe.network/contracts/events/payloads/tips.interaction.erased.v1.json
tips.interaction.erased v1 (OpenVibe.Tips server/domain/interactions.js erase). The supporter erased their data from this interaction: Tips no longer holds their subject, name, message, text-to-speech text, media link or checkout reference; the money record (amount, creator, Billing transaction, goal contribution) stays so Billing's books and the creator's totals still reconcile. payload.redacts names every earlier Tips event about the interaction, so OpenVibe.Events tombstones them (ADR-026). Envelope: subject { type: interaction, id: tint_… }, visibility internal, priority important, actor service:tips. Carries no supporter data. Never emitted for simulations.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
interaction_id | string | yes |
| |
creator | identity.subject-ref | yes | ||
erased_at | string | yes |
| |
redacts | events.redaction-directive | yes | { subject_type: interaction, subject_ids: [interaction_id] }. |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: erased
{
"interaction_id": "tint_01JAB3C4D5E6F7G8H9J0K1MNPQ",
"creator": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"erased_at": "2026-09-23T18:04:11.000Z",
"redacts": {
"subject_type": "interaction",
"subject_ids": [
"tint_01JAB3C4D5E6F7G8H9J0K1MNPQ"
]
}
}Rejected: names-the-supporter
{
"interaction_id": "tint_01JAB3C4D5E6F7G8H9J0K1MNPQ",
"creator": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"supporter": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR"
},
"erased_at": "2026-09-23T18:04:11.000Z",
"redacts": {
"subject_type": "interaction",
"subject_ids": [
"tint_01JAB3C4D5E6F7G8H9J0K1MNPQ"
]
}
}Rejected: without-redacts
{
"interaction_id": "tint_01JAB3C4D5E6F7G8H9J0K1MNPQ",
"creator": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"erased_at": "2026-09-23T18:04:11.000Z"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('tips.interaction.erased@1', value); // { valid, errors: [{ path, message }] }