NetworkNodeListResult network.node-list-result@1

Generated at from openvibe-contracts v0.76.0 and openvibe-sdk v0.20.1.

Version
1.0.0
Owner
network
Visibility
public
Status
active
Compatibility
backward
Decision
ADR-034
Schema
https://openvibe.network/contracts/network/node-list-result.v1.json

network.node-list-result@1: GET /api/v1/nodes on OpenVibe.Network (public, cacheable): every node of the platform, filterable by ?role= and ?region=. The input of openvibe-sdk/geo's nearest().

Fields

FieldTypeRequiredDescriptionConstraints
nodesnetwork.nodeyes
generated_atstringyes
  • format date-time

Examples

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

Valid: one
{
  "nodes": [
    {
      "id": "oregon-1",
      "name": "Oregon 1",
      "roles": [
        "web",
        "app",
        "data",
        "ingest"
      ],
      "location": {
        "region": "us-west",
        "country": "US",
        "city": "Hillsboro",
        "lat": 45.52,
        "lon": -122.99
      },
      "provider": "ovh",
      "beacon": "https://openvibe.network/api/v1/nodes/oregon-1/beacon",
      "health": {
        "status": "up",
        "checked_at": "2026-09-28T12:00:00Z"
      },
      "updated_at": "2026-09-28T12:00:00Z"
    }
  ],
  "generated_at": "2026-09-28T12:00:05Z"
}
Rejected: no-generated-at
{
  "nodes": [
    {
      "id": "oregon-1",
      "name": "Oregon 1",
      "roles": [
        "web",
        "app",
        "data",
        "ingest"
      ],
      "location": {
        "region": "us-west",
        "country": "US",
        "city": "Hillsboro",
        "lat": 45.52,
        "lon": -122.99
      },
      "provider": "ovh",
      "beacon": "https://openvibe.network/api/v1/nodes/oregon-1/beacon",
      "health": {
        "status": "up",
        "checked_at": "2026-09-28T12:00:00Z"
      },
      "updated_at": "2026-09-28T12:00:00Z"
    }
  ]
}

Validate

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