Introduction
Welcome to NETIO Cloud API documentation.
The latest API version is running on api.cloud.netio-products.com/.
Alternatively you can use api.cloud.netio-products.com/v1/ to use the current version.
In future there might be v2 which will eventually end up as the default version.
Authentication
All API requests must be authorized with your organization API token.
You can generate this token in the "Settings" tab within your organization.
This token is then passed In the Authorization: Bearer {.....} header to all request made to the API.
Rate limits are associated with a token.
{
"info": {
"title": "Netio Cloud API",
"version": "0.1.0",
"description": "\n\n*Current rate limits are:*\n\n - 5000 per day\n - 500 per hour\n - 100 per minute\n"
},
"tags": [
{
"name": "Device"
},
{
"name": "Directory"
},
{
"name": "Firmware"
},
{
"name": "Organization"
}
],
"paths": {
"/device/": {
"get": {
"parameters": [],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReadDeviceList"
}
}
},
"description": "Successful response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"description": "Validation error"
}
},
"tags": [
"Device"
],
"summary": "Get the list of devices and their outputs."
}
},
"/firmware/": {
"get": {
"parameters": [
{
"in": "query",
"name": "serial",
"description": "Serial number of the device.",
"schema": {
"type": "string",
"default": "",
"writeOnly": true
},
"required": false
},
{
"in": "query",
"name": "model",
"description": "(e.g.: PowerPDU 3KF",
"schema": {
"type": "string",
"default": "",
"writeOnly": true
},
"required": false
},
{
"in": "query",
"name": "version",
"description": "Current firmware version.",
"schema": {
"type": "string",
"writeOnly": true
},
"required": true
},
{
"in": "query",
"name": "latest",
"description": "return only latest firmware version.",
"schema": {
"type": "boolean",
"default": false,
"writeOnly": true
},
"required": false
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReadFirmwareList"
}
}
},
"description": "Successful response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"description": "Validation error"
}
},
"tags": [
"Firmware"
],
"summary": "Returns a list of all available firmware versions for a specific device or a model.",
"description": "Either serial or combination of serial+model has to be provided.\n\ndownload_url, download_url_no_mcu can be null if the firmware\nvariant is not available for the device.\n\nNo authentication is required."
}
},
"/directory/": {
"post": {
"parameters": [],
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DirectoryRead"
}
}
},
"description": "Successful response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"description": "Validation error"
}
},
"tags": [
"Directory"
],
"summary": "Create new (sub)directory.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DirectoryCreateRequest"
}
}
}
}
}
},
"/organization/": {
"get": {
"parameters": [],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationRead"
}
}
},
"description": "Successful response"
}
},
"tags": [
"Organization"
],
"summary": "Read detailed information about the organization."
}
},
"/firmware/{name}": {
"get": {
"parameters": [
{
"in": "path",
"name": "name",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "variant",
"schema": {
"type": "string",
"default": null,
"writeOnly": true,
"nullable": true
},
"required": false
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"description": "Validation error"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Firmware"
],
"summary": "Returns the binary firmware file.",
"description": "Specify the variant \"no_mcu\" to get the specific version of the firmware.\nIf the firmware name or its variant does not exist, 404 is returned.\n\nNo authentication is required."
}
},
"/device/{device_id}": {
"get": {
"parameters": [
{
"in": "path",
"name": "device_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceRead"
}
}
},
"description": "Successful response"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Device"
],
"summary": "Read Device Information"
},
"patch": {
"parameters": [
{
"in": "path",
"name": "device_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceUpdate"
}
}
},
"description": "Successful response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"description": "Validation error"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Device"
],
"summary": "Update device information.",
"description": "requires the role to have permission DEVICE_MANAGE on the device.\nFor directory transfer the DEVICE_MANAGE permissions is required in the target directory as well.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceUpdate"
}
}
}
}
},
"delete": {
"parameters": [
{
"in": "path",
"name": "device_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"204": {
"description": "Successful response"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Device"
],
"summary": "Remove device from the organization."
}
},
"/directory/{directory_id}": {
"get": {
"parameters": [
{
"in": "path",
"name": "directory_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DirectoryRead"
}
}
},
"description": "Successful response"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Directory"
],
"summary": "Read Directory Information"
},
"patch": {
"parameters": [
{
"in": "path",
"name": "directory_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DirectoryUpdate"
}
}
},
"description": "Successful response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
},
"description": "Validation error"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Directory"
],
"summary": "Update directory information.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DirectoryUpdate"
}
}
}
}
},
"delete": {
"parameters": [
{
"in": "path",
"name": "directory_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"204": {
"description": "Successful response"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Directory"
],
"summary": "Remove directory from organization."
}
},
"/directory/{directory_id}/structure": {
"get": {
"parameters": [
{
"in": "path",
"name": "directory_id",
"schema": {
"type": "string"
},
"required": true
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DirectoryStructure"
}
}
},
"description": "Successful response"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPError"
}
}
},
"description": "Not found"
}
},
"tags": [
"Directory"
],
"summary": "Read Directory Structure"
}
}
},
"openapi": "3.0.3",
"components": {
"schemas": {
"ValidationError": {
"properties": {
"detail": {
"type": "object",
"properties": {
"
app startup: root