Skip to main content

VILLASnode API (0.10.0)

Download OpenAPI specification:Download

A HTTP/REST API for controlling VILLASnode remotely without the need to restart the daemon.

Super Node

Global super-node related operations.

Get the current status of the VILLASnode instance.

Responses

Response samples

Content type
application/json
{
  • "state": "running",
  • "version": "v0.10.0",
  • "release": "1.node_uuid_unique_debug.20201015git335440d",
  • "build_id": "v0.10.0-335440d-debug",
  • "build_date": "20201015",
  • "hostname": "ernie",
  • "uuid": "c9d64cc7-c6e1-4dd4-8873-126318e9d42c",
  • "time_now": 1602765814.9240997,
  • "time_started": 1602765814.3103526,
  • "timezone": {
    },
  • "kernel": {
    },
  • "system": {
    }
}

Get the capabilities of the VILLASnode instance.

Responses

Response samples

Content type
application/json
{
  • "hooks": [
    ],
  • "node-types": [
    ],
  • "apis": [
    ],
  • "formats": [
    ]
}

Get the currently loaded configuration.

Responses

Response samples

Content type
application/json
{
  • "nodes": {
    },
  • "paths": [
    ]
}

Restart the VILLASnode instance.

Request Body schema: application/json
URL (string) or VILLASnode configuration file (object)
One of
string (URL)

An optional path or URI to a new configuration file which should be loaded after restarting the node.

The file referenced by the URL must be a VILLASnode configuration file

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{}

Shutdown the VILLASnode instance.

Responses

Get a graph representation of the currently loaded configuration.

path Parameters
format
string
Enum: "ps" "eps" "txt" "svg" "svgz" "gif" "png" "jpg" "jpeg" "bmp" "dot" "fig" "json" "pdf"

The image format of the generated graph.

query Parameters
layout
string
Enum: "circo" "dot" "fdp" "neato" "nop" "nop1" "nop2" "osage" "patchwork" "sfdp" "twopi"

The Graphviz layout engine used for rendering the graph.

Responses

Nodes

Node related operations.

Get a list of all configure node instances.

Responses

Response samples

Content type
application/json
Example
null

Get the information of a specific node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Response samples

Content type
application/json
{
  • "name": "udp_node1",
  • "uuid": "b3df1d73-f483-f16c-5936-4ea48295615c",
  • "state": "running",
  • "affinity": -1,
  • "in": {
    },
  • "out": {
    },
  • "type": "socket",
  • "layer": "udp"
}

Get the statistics of a node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Response samples

Content type
application/json
{
  • "rtp.jitter": {
    },
  • "rtp.pkts_lost": {
    },
  • "rtp.loss_fraction": {
    },
  • "age": {
    },
  • "owd": {
    },
  • "gap_received": {
    },
  • "gap_sent": {
    },
  • "reordered": {
    },
  • "skipped": {
    }
}

Reset the statistics counters for a specific node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Start a node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Stop a node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Pause a node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Resume a node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Retart a node.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Rewind the playback file to the beginning.

path Parameters
required
string or string

Either a UUID or node-name

Responses

Rewind the playback file to the beginning.

path Parameters
required
string or string

Either a UUID or node-name

Request Body schema: application/json

Sample position in file

position
required
integer

Skip the first nth samples in the file.

Responses

Request samples

Content type
application/json
{
  • "position": 123
}

Paths

Path related operations.

Get a list of all paths.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get details of a single path.

path Parameters
uuid
required
string <uuid>

A globally unique identifier for each path.

Responses

Response samples

Content type
application/json
{
  • "uuid": "251c99af-4b05-9de4-367e-2bb550412e56",
  • "state": "running",
  • "mode": "any",
  • "enabled": true,
  • "builtin": true,
  • "reverse": false,
  • "original_sequence_no": true,
  • "last_sequence": false,
  • "poll": false,
  • "queuelen": 1024,
  • "signals": [ ],
  • "hooks": [ ],
  • "in": [
    ],
  • "out": [
    ]
}

Start a path.

path Parameters
uuid
required
string <uuid>

A globally unique identifier for each path.

Responses

Start a path.

path Parameters
uuid
required
string <uuid>

A globally unique identifier for each path.

Responses

VILLASnode configuration file

This section decribes the schema of the VILLASnode configuration file. Please use the > to expand the individual sub-sections.

object VILLASnode configuration file Recursive
{
  • "nodes": {
    },
  • "paths": [ ],
  • "http": {
    },
  • "logging": {
    },
  • "hugepages": 100,
  • "stats": 1,
  • "affinity": 0,
  • "priority": 0,
  • "idle_stop": false,
  • "uuid": "randomly generated"
}

Edgeflex Format

object PMU measurements as used in the EdgeFlex project by Manuel Recursive
[
  • {
    }
]

Igor's Format

object PMU format used by Igor Recursive
{
  • "device": "device1",
  • "timestamp": "2020-05-20T10:27:57.980802+00:00",
  • "readings": [
    ]
}

SOGNO Format

object PMU format used in SOGNO LF project Recursive
{
  • "device": "device1",
  • "timestamp": "2020-05-20T10:27:57.980802+00:00",
  • "readings": [
    ]
}

Old SOGNO Format

object Original PMU sensor data format as used in the SOGNO EU project Recursive
{
  • "device": "pmu-abc0",
  • "timestamp": "2021-10-07T10:11:12.1231241+02:00",
  • "component": "7a30b61a-2913-11ec-9621-0242ac130002",
  • "measurand": "voltagemagnitude",
  • "phase": "A",
  • "data": 123124
}