TRY ME

Try Valo for free

We want to show you something amazing.

We'll send you a link to download a fully functional Valo copy to play with.



Great! Check your email and enjoy Valo



Apologies, we seem to be having a problem processing your input, please try again

Contributors API

See Contributors documentation for an overview of contributors.

Put a contributor type

PUT /contributors/:tenant/:type

Registers a new contributor type or updates an existing one.

The schema must as a minimum contain a contributor field. Updates should include a version header.

Example request:

PUT /contributors/demo/probes HTTP/1.1
Content-Type: application/json

{
    "schema": {
      "type": "record",
      "properties": {
        "contributor": { "type": "contributor" },
        "host" : {
           "type": "record",
           "properties": {
              "name": { "type": "string", "annotations":["urn:itrs:identity:name"] },
              "ip": { "type": "ip" }
          }
        }
      }
    }
}

Example response:

HTTP/1.1 200 OK
Valo-Config-Version: Y2BgYOALzsxLz0kNS8zJ98tPSWWAAEYAvp3ZUxs=

{
    "schema": {
      "type": "record",
      "properties": {
        "contributor": { "type": "contributor" },
        "host" : {
           "type": "record",
           "properties": {
              "name": { "type": "string", "annotations":["urn:itrs:identity:name"] },
              "ip": { "type": "ip" }
          }
        }
      }
    }
}

Get a contributor type

GET /contributors/:tenant/:type

Gets the contributor type definition.

Example request:

GET /contributors/demo/probes HTTP/1.1

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
Valo-Config-Version: Y2BgYOALzsxLz0kNS8zJ98tPSWWAAEYAvp3ZUxs=

{
  "schema": {
    "type": "record",
    "properties": {
    "contributor": { "type": "contributor" },
      "host" : {
        "type": "record",
        "properties": {
           "name": { "type": "string" },
           "ip": { "type": "ip" }
        }
      }
    }
  }
}

Get the contributor types

GET /contributors/:tenant

Gets all the registered contributor types.

Example request:

GET /contributors/demo HTTP/1.1

Example response:

HTTP/1.1 410 Gone
Content-Type: application/json

{
    "instances": ["probes", "apps"]
}

Put a contributor instance

PUT /contributors/:tenant/:type/instances/:id

Registers a new contributor or updates an existing one.

Updates should include a version header.

Example request:

PUT /contributors/demo/probes/instances/9a2df62c-f97d-4971-932d-0099bc4efa49 HTTP/1.1
Content-Type: application/json

{
    "contributor" : "9a2df62c-f97d-4971-932d-0099bc4efa49",
    "host" : {
      "name" : "ITRSPC173",
      "ip"   : "192.168.220.43"
    }
}

Example response:

HTTP/1.1 200 OK
Valo-Config-Version: Y2BgYOALzsxLz0kNS8zJ98tPSWWAAEYAvp3ZUxs=

{
    "contributor" : "9a2df62c-f97d-4971-932d-0099bc4efa49",
    "host" : {
      "name" : "ITRSPC173",
      "ip"   : "192.168.220.43"
    }
}

Get a contributor instance

GET /contributors/:tenant/:type/instances/:id

Gets the contributor document.

Example request:

GET /contributors/demo/probes/instances/9a2df62c-f97d-4971-932d-0099bc4efa49/streams HTTP/1.1

Example response:

HTTP/1.1 410 Gone
Content-Type: application/json

{
    "contributor" : "9a2df62c-f97d-4971-932d-0099bc4efa49",
    "host" : {
      "name" : "ITRSPC173",
      "ip"   : "192.168.220.43"
    }
}

Get the instance streams

GET /contributors/:tenant/:type/instances/:id/streams

Gets the streams that this contributor has published to.

Example request:

GET /contributors/demo/probes/instances/9a2df62c-f97d-4971-932d-0099bc4efa49 HTTP/1.1

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "streams": [
        "/streams/demo/infrastructure/cpu",
        "/streams/demo/infrastructure/hardware",
        "/streams/demo/infrastructure/processes"
    ]
}

Get all the contributor instances

GET /contributors/:tenant/:type/instances

Gets all the registered contributors.

Example request:

GET /contributors/demo/probes/instances HTTP/1.1

Example response:

HTTP/1.1 410 Gone
Content-Type: application/json

{
    "instances": ["9a2df62c-f97d-4971-932d-0099bc4efa49", "f2d90c57-a8d4-438a-bc86-896491a9868e"]
}