REST API Routes

REST API Routes Reference Documentation

This document contains a reference to all routes available in the RIoT Secure REST API.

/auth

A route to perform operations on determination on if the credentials of a user are valid.

Method Request Response (on success)
GET

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

{
  "id_tenant":   xxx,
  "id_user":     xxx,
  "permissions": {
    ...
  }
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.auth

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/global

A route to perform operations on the global data.

Method Request Response (on success)
GET

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

{
  "keys": [ ... ],
  "meta": [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.global

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/global/keys

A route to perform operations on a collection of keys associated to the global data.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.global.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/global/keys/{keyname}

A route to perform operations on an individual key associated to the global settings.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.global.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/global/meta

A route to perform operations on a collection of meta items associated to the global settings.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.global.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/global/meta/{keyname}

A route to perform operations on an individual meta item associated to the global settings.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.global.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/modem

A route to perform operations on a collection of modems.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.modem

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/modem/{id}

A route to perform operations on a specific modem.

Method Request Response (on success)
GET

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

{
  "id":   xxx,
  "keys": [ ... ],
  "meta": [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.modem

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/modem/{id}/keys

A route to perform operations on a collection of keys associated to a specific modem.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.modem.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/modem/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific type of modem.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.modem.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/modem/{id}/meta

A route to perform operations on a collection of meta items associated to a specific modem.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.modem.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/modem/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific type of modem.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.modem.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/microcontroller

A route to perform operations on a collection of microcontrollers.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.microcontroller

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/microcontroller/{id}

A route to perform operations on a specific microcontroller.

Method Request Response (on success)
GET

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

{
  "id":   xxx,
  "keys": [ ... ],
  "meta": [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.microcontroller

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/microcontroller/{id}/keys

A route to perform operations on a collection of keys associated to a specific microcontroller.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.microcontroller.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/microcontroller/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific type of microcontroller.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.microcontroller.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/microcontroller/{id}/meta

A route to perform operations on a collection of meta items associated to a specific microcontroller.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.microcontroller.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/microcontroller/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific type of microcontroller.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.microcontroller.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant

A route to perform operations on a collection of tenants.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "admin_user": "yyyy",
  "admin_pass": "zzzz",

  "keys": {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant

The POST method requires additional keys in relation to the creation of an administration user for the tenant — these are outlined in the atom structure on the schema. The admin username must be a unique email (not used by anyone else) and the password field be the result of the md5 hash which is outlined in the User Authentication section.

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}

A route to perform operations on a specific tenant.

Method Request Response (on success)
GET

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

{
  "id":        xxx,
  "keys":      [ ... ],
  "user":      [ ... ],
  "device":    [ ... ],
  "packet":    [ ... ],
  "interface": [ ... ],
  "meta":      [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/keys

A route to perform operations on a collection of keys associated to a specific tenant.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific tenant.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/meta

A route to perform operations on a collection of meta items associated to a specific tenant.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific tenant.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user

A route to perform operations on a collection of users.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "type": "{value},
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user

The POST method requires an additional key in relation to the creation of a user; to define the set of default user permissions that should be applied to the user on creation.

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}

A route to perform operations on a specific user.

Method Request Response (on success)
GET

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

{
  "id":          xxx,
  "id_tenant":   xxx,
  "keys":        [ ... ],
  "permissions": [ ... ],
  "meta":        [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys": {
    "{key}": "{value}",
    ...
  },
  "permissions": {
    "{permission}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}/keys

A route to perform operations on a collection of keys associated to a specific user.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific user.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}/permissions

A route to perform operations on a collection of permissions associated to a specific user.

Method Request Response (on success)
GET

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

{
  "{permission}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{permission}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user.permissions

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated. It is not possible to remove key that defines a user permission.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}/permissions/{permission}

A route to perform operations on an individual permission associated to a specific user.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user.permissions.{permission}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}/meta

A route to perform operations on a collection of meta items associated to a specific user.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/user/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific user.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.user.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device

A route to perform operations on a collection of devices.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}

A route to perform operations on a specific device.

Method Request Response (on success)
GET

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

{
  "id":        xxx,
  "id_tenant": xxx,
  "keys":      [ ... ],
  "meta":      [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/keys

A route to perform operations on a collection of keys associated to a specific device.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific device.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/meta

A route to perform operations on a collection of meta items associated to a specific device.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific device.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/info

A route to obtain information about a specific device.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.info

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/info/{keyname}

A route to obtain information about an individual key of a specific specific device.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.info.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/download_firmware

A route to perform a download operation for a core firmware file for a specific device.

Method Request Response (on success)
GET

HTTP/1.1 200 OK
Content-Type: {mime-type}
Content-Length: xxxx
Content-Disposition: filename="xxxx"

...
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.download_firmware

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/device/{id}/download_installer

A route to perform a download operation for an installer firmware sketch for a specific device.

Method Request Response (on success)
GET

HTTP/1.1 200 OK
Content-Type: {mime-type}
Content-Length: xxxx
Content-Disposition: filename="xxxx"

...
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.device.download_installer

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request. In the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued. In the event a installer firmware sketch is not defined for the device, the HTTP 422 Unprocessable Content response code will be issued.

/tenant/{id}/device/{id}/security

Service API: A route to query the security key for a device.

Method Request Response (on success)
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ..
}
JSON.schema

api.tenant.device.security

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error.

/tenant/{id}/device/{id}/checkin

Service API: A route to check in a device.

Method Request Response (on success)
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ..
}
JSON.schema

api.tenant.device.checkin

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error.

/tenant/{id}/device/{id}/fw_core

Service API: A route to request a core firmware.

Method Request Response (on success)
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ..
}
JSON.schema

api.tenant.device.fw_core

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error.

/tenant/{id}/device/{id}/fw_appl/{id}

Service API: A route to request an application firmware for the specified microcontroller.

Method Request Response (on success)
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ..
}
JSON.schema

api.tenant.device.fw_appl

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error.

/tenant/{id}/packet

A route to perform operations on a collection of packets.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.packet

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/packet/{id}

A route to perform operations on a specific packet.

Method Request Response (on success)
GET

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

{
  "id":        xxx,
  "id_tenant": xxx,
  "keys":      [ ... ],
  "meta":      [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.packet

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/packet/{id}/keys

A route to perform operations on a collection of keys associated to a specific packet.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.packet.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/packet/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific packet.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.packet.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/packet/{id}/meta

A route to perform operations on a collection of meta items associated to a specific packet.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.packet.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/packet/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific packet.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.packet.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/interface

A route to perform operations on a collection of hardware interfaces.

Method Request Response (on success)
POST
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{id}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.interface

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/interface/{id}

A route to perform operations on a specific hardware interface.

Method Request Response (on success)
GET

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

{
  "id":        xxx,
  "id_tenant": xxx,
  "keys":      [ ... ],
  "meta":      [ ... ]
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "keys":
  {
    "{key}": "{value}",
    ...
  }
}
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.interface

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

The PUT method expects a collection of categorized key-value pairs, similar to what is returned by the GET method when the expand parameter is provided. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request directly on the key must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/interface/{id}/keys

A route to perform operations on a collection of keys associated to a specific hardware interface.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
PUT
Content-Type: application/json
Content-Length: xxxx

{
  "{key}": "{value}",
  ...
}
HTTP/1.1 202 Accepted
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.interface.keys

The PUT method expects a collection of key-value pairs, similar to what is returned by the GET method. It provides the ability to perform multiple key updates at the same time, instead of doing them individually. If a key is not present in the request, the key will not be updated — if the intent is to remove the key completely a DELETE request must be performed.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/interface/{id}/keys/{keyname}

A route to perform operations on an individual key associated to a specific hardware interface.

Method Request Response (on success)
GET

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

value
PUT
Content-Type: application/json
Content-Length: xxxx

value
HTTP/1.1 202 Accepted
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, PUT, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.interface.keys.{keyname}

The PUT method will perform an UPSERT; if the key does not exist, it will be created, otherwise updated.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/interface/{id}/meta

A route to perform operations on a collection of meta items associated to a specific hardware interface.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.interface.meta

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/interface/{id}/meta/{keyname}

A route to perform operations on an individual meta item associated to a specific hardware interface.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.interface.meta.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/firmware_appl

A route to create and query application firmwares.

Method Request Response (on success)
POST
Content-Type: multipart/form-data

Content-Disposition: name="name"
Content-Disposition: name="microcontroller"
Content-Disposition: name="version"
Content-Disposition: name="description"
Content-Disposition: name="asset"; filename="xxx"
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{name}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.firmware_appl

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/firmware_appl/{name}

A route to perform operations on a specific application firmware.

Method Request Response (on success)
GET

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

{
  "name":      xxx,
  "id_tenant": xxx,
  "info":      [ ... ]
}
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.firmware_appl

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/firmware_appl/{name}/download

A route to perform a download operation for a specific application firmware.

Method Request Response (on success)
GET

HTTP/1.1 200 OK
Content-Type: {mime-type}
Content-Length: xxxx
Content-Disposition: filename="xxxx"

...
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/octet-stream

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/firmware_appl/{name}/info

A route to obtain information about a specific application firmware.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.firmware_appl.info

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/tenant/{id}/firmware_appl/{name}/info/{keyname}

A route to obtain information about an individual key of a specific application firmware.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.tenant.firmware_appl.info.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/firmware_core

A route to create and query core firmwares.

Method Request Response (on success)
POST
Content-Type: multipart/form-data

Content-Disposition: name="name"
Content-Disposition: name="modem"
Content-Disposition: name="description"
Content-Disposition: name="asset"; filename="xxx"
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{name}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.firmware_core

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/firmware_core/{name}

A route to perform operations on a specific core firmware.

Method Request Response (on success)
GET

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

{
  "name":   xxx,
  "info":   [ ... ]
}
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.firmware_core

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/firmware_core/{name}/download

A route to perform a download operation for a specific core firmware.

Method Request Response (on success)
GET

HTTP/1.1 200 OK
Content-Type: {mime-type}
Content-Length: xxxx
Content-Disposition: filename="xxxx"

...
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/octet-stream

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/firmware_core/{name}/info

A route to obtain information about a specific core firmware.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.firmware_core.info

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/firmware_core/{name}/info/{keyname}

A route to obtain information about an individual key of a specific core firmware.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.firmware_core.info.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/image

A route to perform operations on a collection of images.

Method Request Response (on success)
POST
Content-Type: multipart/form-data

Content-Disposition: name="name"
Content-Disposition: name="asset"; filename="xxx"
HTTP/1.1 201 Created
Content-Type: text/plain
Content-Length: xxxx

{name}
GET

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

[ .. ]
OPTIONS

HTTP/1.1 200 OK
Allow: POST, GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.image

The GET method returns a JSON array of identifiers; unless the expand parameter is provided, in which case an array of full objects is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/image/{name}

A route to perform operations on a specific image.

Method Request Response (on success)
GET

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

{
  "name":   xxx,
  "info":   [ ... ]
}
DELETE

HTTP/1.1 204 No Content
OPTIONS

HTTP/1.1 200 OK
Allow: GET, DELETE, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.image

The GET method returns a JSON object with field names; unless the expand parameter is provided, in which case the full object is returned.

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/image/{name}/download

A route to perform a download operation for a specific image.

Method Request Response (on success)
GET

HTTP/1.1 200 OK
Content-Type: {mime-type}
Content-Length: xxxx
Content-Disposition: filename="xxxx"

...
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/octet-stream

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/image/{name}/info

A route to obtain information about a specific image.

Method Request Response (on success)
GET

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

{
  "{key}": "{value}",
  ...
}
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.image.info

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.

/image/{name}/info/{keyname}

A route to obtain information about an individual key of a specific image.

Method Request Response (on success)
GET

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

value
OPTIONS

HTTP/1.1 200 OK
Allow: GET, OPTIONS
Content-Type: application/schema+json
Content-Length: xxxx
JSON.schema

schema.image.info.{keyname}

In the event of error, the appropriate HTTP response code will be issued explaining the purpose of the error. Using the OPTIONS method identifies the methods that the authenticated user is permitted to request; in the event a method not allowed is requested the HTTP 405 Method Not Allowed response code will be issued.