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 }] }