NetworkAccountDeletedPayload network.account.deleted@1
Generated at from
openvibe-contracts v0.76.0 and
openvibe-sdk v0.20.1.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-033
- Schema
https://openvibe.network/contracts/events/payloads/network.account.deleted.v1.json
network.account.deleted v1 (OpenVibe.Network; roadmap WS-B task 7, ADR-033). An account's 30-day grace ended and Network erased what it owns; the subject is a tombstone and is never reused. Each service erases its own rows about the subject once per deletion_id: authored content is removed (an item with other people's replies beneath it stays as an authorless tombstone), likes, votes and reactions go with counts recomputed, money and ledger rows stay pseudonymised, and media under a retention hold stays. It then confirms: POST /internal/account-deletions/{deletion_id}/confirmations (network.account-deletion-confirmation@1, capability network.account.deletion.confirm).
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
deletion_id | string | yes | The deletion; a redelivery carries the same id. |
|
subject | string | yes | The deleted account. |
|
aliases | array of string | Subjects merged into this account earlier (ADR-029); a service that still keeps rows under one erases them too. |
| |
requested_at | string | yes | When the person scheduled the deletion. |
|
deleted_at | string | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: deleted
{
"deletion_id": "del_01JAB2C3D4E5F6G7H8J9K0MNPT",
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"requested_at": "2026-08-28T21:00:00.000Z",
"deleted_at": "2026-09-27T21:00:00.000Z"
}Valid: with-aliases
{
"deletion_id": "del_01JAB2C3D4E5F6G7H8J9K0MNPT",
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"aliases": [
"usr_01JAB2C3D4E5F6G7H8J9K0MNPR"
],
"requested_at": "2026-08-28T21:00:00.000Z",
"deleted_at": "2026-09-27T21:00:00.000Z"
}Rejected: leaks-username
{
"deletion_id": "del_01JAB2C3D4E5F6G7H8J9K0MNPT",
"subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"username": "keep",
"requested_at": "2026-08-28T21:00:00.000Z",
"deleted_at": "2026-09-27T21:00:00.000Z"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('network.account.deleted@1', value); // { valid, errors: [{ path, message }] }