NetworkNotificationPushResult network.notification-push-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/network/notification-push-result.v1.json
network.notification-push-result@1: answers of network.notifications.push on OpenVibe.Network. POST /internal/notifications/push → { ok: true, notification } (the stored notification), or { ok: true, skipped: true, reason } when nothing was created (the recipient switched the category off, blocked the actor, or already got a go-live notification from the same streamer within the hour). POST /internal/notifications/push-bulk → { ok: true, sent, total } (sent: notifications created; total: recipients named). Errors are { error } bodies (400, 500; 503 when the notification service is not running).
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: bulk
{
"ok": true,
"sent": 2,
"total": 3
}Valid: created
{
"ok": true,
"notification": {
"id": "3f1c2a9e-8b7d-4c6e-9a51-2d3e4f5a6b7c",
"user_id": 1042,
"type": "FOLLOW",
"category": "social",
"priority": "normal",
"title": "New follower",
"message": "moosefan followed you",
"icon": "👤",
"service": "live",
"url": "https://openvibe.live/@moosefan",
"is_read": 0,
"created_at": "2026-09-25T14:03:11.402Z"
}
}Valid: skipped
{
"ok": true,
"skipped": true,
"reason": "User has category disabled"
}Rejected: not-ok
{
"ok": false,
"sent": 0,
"total": 3
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('network.notification-push-result@1', value); // { valid, errors: [{ path, message }] }