NetworkNode network.node@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.v1.json
network.node@1: one machine of the OpenVibe platform as the node registry lists it (ADR-034 section 12; roadmap WS-X1). Roles are what it serves; location is region-level; the beacon is an HTTPS URL a client times to measure its own round trip. No addresses, capacity or secrets are public: a node is found by role and location, and reached through the service that uses it.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
name | string |
| ||
roles | array of enum | yes |
| |
location | object | yes |
| |
location.region | string | yes | e.g. us-west, eu-central |
|
location.country | string | yes |
| |
location.city | string |
| ||
location.lat | number |
| ||
location.lon | number |
| ||
provider | string |
| ||
beacon | string | Timed by clients (GET, tiny body, no caching) to measure round-trip time. |
| |
health | object | yes |
| |
health.status | enum | yes |
| |
health.checked_at | string | yes |
| |
updated_at | string | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: minimal-edge
{
"id": "probe-fra",
"roles": [
"edge-probe",
"edge-relay"
],
"location": {
"region": "eu-central",
"country": "DE"
},
"health": {
"status": "unknown",
"checked_at": "2026-09-28T12:00:00Z"
},
"updated_at": "2026-09-28T12:00:00Z"
}Valid: oregon
{
"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"
}Rejected: bad-country
{
"id": "oregon-1",
"name": "Oregon 1",
"roles": [
"web",
"app",
"data",
"ingest"
],
"location": {
"region": "us-west",
"country": "usa",
"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"
}Rejected: plain-http-beacon
{
"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": "http://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"
}Rejected: public-address
{
"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
},
"address": "15.204.79.215",
"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"
}Rejected: unknown-role
{
"id": "oregon-1",
"name": "Oregon 1",
"roles": [
"mainframe",
"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@1', value); // { valid, errors: [{ path, message }] }