NetworkNodeReportRequest network.node-report-request@1
Generated at from
openvibe-contracts v0.76.0 and
openvibe-sdk v0.20.1.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-034
- Schema
https://openvibe.network/contracts/network/node-report-request.v1.json
network.node-report-request@1: POST /internal/nodes/report on OpenVibe.Network (capability network.node.report, held by the Host principal). The complete set of nodes one Host inventory knows, with their health now: a node absent from a later report of the same source is marked down, never deleted silently.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
source | string | yes | The reporting inventory (e.g. the host id). |
|
nodes | network.node | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: empty
{
"source": "openvibe-oregon",
"nodes": []
}Valid: one-host
{
"source": "openvibe-oregon",
"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"
}
]
}Rejected: no-source
{
"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-report-request@1', value); // { valid, errors: [{ path, message }] }