NetworkFrameToday network.frame-today@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
network
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/network/frame-today.v1.json

network.frame-today@1: public UTC-day totals from Report's stats, with a fourteen-day series. People counts new accounts. A null count means Report does not publish a daily number for that metric.

Fields

FieldTypeRequiredDescriptionConstraints
daystringyes
  • format date
people_todayinteger | nullyesNew accounts today, from Report's accounts.daily series.
  • minimum 0
streams_todayinteger | nullyes
  • minimum 0
posts_todayinteger | nullyes
  • minimum 0
new_videos_todayinteger | nullyes
  • minimum 0
seriesarray of objectyes
  • minItems 14
  • maxItems 14
  • items: no other fields
series[].daystringyes
  • format date
series[].peopleinteger | nullyes
  • minimum 0
series[].streamsinteger | nullyes
  • minimum 0
series[].postsinteger | nullyes
  • minimum 0
series[].new_videosinteger | nullyes
  • minimum 0
updated_atstringyes
  • format date-time

Examples

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

Valid: empty
{
  "day": "2026-11-09",
  "people_today": null,
  "streams_today": 2,
  "posts_today": null,
  "new_videos_today": null,
  "series": [
    {
      "day": "2026-11-01",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-02",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-03",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-04",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-05",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-06",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-07",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-08",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-09",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-10",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-11",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-12",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-13",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    },
    {
      "day": "2026-11-14",
      "people": null,
      "streams": null,
      "posts": null,
      "new_videos": null
    }
  ],
  "updated_at": "2026-11-09T12:00:00Z"
}
Rejected: short-series
{
  "day": "2026-11-09",
  "people_today": 1,
  "streams_today": 2,
  "posts_today": 0,
  "new_videos_today": 0,
  "series": [],
  "updated_at": "2026-11-09T12:00:00Z"
}

Validate

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