Console Server REST API version v1.8
https://{cshost}/api/v1.8
- cshost: required(string)
Console Server REST API
This API allows inspection of an Opengear Console Server Appliance.
/sessions
The sessions endpoint is used to authenticate the user and create a session token for accessing all other Lighthouse endpoints.
Create a new authenticated session.
post /sessions
Create a new authenticated session.
Body
Media type: application/json
Type: object
Properties- username: required(string)
- password: required(string)
Example:
{
"username": "root",
"password": "default"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- state: required(string)
- session: required(string)
- user: (string)
- last_challenge: (string)
Example:
{
"state": "authenticated",
"session": "71dcba707b6c177644ede1b224f69096",
"user": "root"
}
HTTP status code 303
Redirect to new authentication session
Body
Media type: application/json
Type: any
Example:
{
"sid": "71dcba707b6c177644ede1b224f69096",
"message": "Redirecting to new session at {redirect-url}"
}
HTTP status code 400
Failed to initiate session creation due to error in post body.
Body
Media type: application/json
Type: any
Example:
{
"type": "authError",
"example": {
"error": "Invalid request body"
}
}
HTTP status code 401
Authentication failed due to invalid credentials or session.
Body
Media type: application/json
Type: any
Example:
{
"error": [
{
"type": 7,
"code": 41,
"text": "Invalid login credentials",
"args": {},
"level": 1
}
]
}
Retrieve the state of an authentication session by ID. A session ID may be valid for some period after the user logs out.
Apply a challenge response to a session
Log out of and delete a session
get /sessions/{sessionUid}
Retrieve the state of an authentication session by ID. A session ID may be valid for some period after the user logs out.
Console Server base authentication scheme
URI Parameters
- sessionUid: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Session exists
Body
Media type: application/json
Type: object
Properties- state: required(string)
- session: required(string)
- user: (string)
- last_challenge: (string)
Example:
{
"state": "authenticated",
"session": "71dcba707b6c177644ede1b224f69096",
"user": "root"
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
No session in data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /sessions/{sessionUid}
Apply a challenge response to a session
Console Server base authentication scheme
URI Parameters
- sessionUid: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- session: required(string)
- state: required(object)
- challenge: required(string)
Next challenge (if any)
HTTP status code 200
Response applied. Next challenge in {challenge} if required.
Body
Media type: application/json
Type: object
Properties- session: required(string)
- state: required(object)
- challenge: required(string)
Next challenge (if any)
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 403
Authentication failed. No more attempts allowed.
HTTP status code 404
Authentication failed.
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /sessions/{sessionUid}
Log out of and delete a session
Console Server base authentication scheme
URI Parameters
- sessionUid: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Session deleted
Body
Media type: application/json
Type: object
Properties- session: required(string)
- success: required(string)
- state: required(string)
- user: required(string)
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Session did not exist
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/registration
The Registration endpoint is used by Lighthouse to provide the Node with the address and credentials to retrieve an enrollment package for the device
post /registration
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- id: required(string)
The ID of the node - this is generated by Lighthouse
- server: required(string)
The address of the Lighthouse - this is either an IP address or a hostname
- package_password: required(string)
This is the password used to request the enrollment package from Lighthouse. Once enrolled, a certificate is used for all authentication
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
{
"error": "Invalid request data."
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /registration
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Enrollment Deleted
Body
Media type: application/json
Type: object
Properties- message: required(string)
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Error during processing
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Remove a connection to Lighthouse
delete /registration/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Lighthouse connection removed successfully
Body
Media type: application/json
Type: any
Example:
{
"message": "OK"
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
{
"error": "Parameter 'id' not provided."
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal server error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Update the server address of a connection to Lighthouse
put /registration/{$id}/server_address
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- address: required(string)
updated server address
Example:
{
"address": "192.168.128.6"
}
HTTP status code 200
Server address updated successfully
Body
Media type: application/json
Type: any
Example:
{
"message": "OK"
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
{
"error": "Parameter 'id' not provided."
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal server error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/auth
The auth endpoint is used to update and retrieve the authentication configuration from the console server
put /auth
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- auth: required(object)
- auth_type: required(string)
- use_remote_groups: required(boolean)
- radius: required(object)
- auth_server: required(string)
- acct_server: (string)
- password: required(string)
- tacacs: required(object)
- auth_server: required(string)
- auth_method: required(string)
- service: required(string)
- password: (string)
- ldap: required(object)
- server: required(string)
- bind_dn: (string)
- base_dn: (string)
- bind_password: (string)
- username_attr: (string)
- group_membership_attr: (string)
- protocol: (string)
- ignore_ssl_errors: (boolean)
- ca_cert: (string)
Example:
{
"auth": {
"radius": {
"password": "default",
"auth_server": "192.168.0.1:5555",
"acct_server": "192.168.0.2:5555"
},
"ldap": {
"username_attr": "member",
"base_dn": "basedn",
"group_membership_attr": "group",
"bind_dn": "binddn",
"bind_password": "default",
"server": "192.168.0.1:5555",
"protocol": "ldaps_only",
"ignore_ssl_errors": false,
"ca_cert": "-----BEGIN CERTIFICATE-----\nMIIG ... ikTH/\n-----END CERTIFICATE-----\n"
},
"tacacs": {
"auth_server": "192.168.0.1:5555",
"auth_method": "pap",
"service": "raccess",
"password": "secret"
},
"auth_type": "RADIUS",
"use_remote_groups": true
}
}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- auth: required(object)
- auth_type: required(string)
- use_remote_groups: required(boolean)
- radius: required(object)
- auth_server: required(string)
- acct_server: (string)
- password: required(string)
- tacacs: required(object)
- auth_server: required(string)
- auth_method: required(string)
- service: required(string)
- password: (string)
- ldap: required(object)
- server: required(string)
- bind_dn: (string)
- base_dn: (string)
- bind_password: (string)
- username_attr: (string)
- group_membership_attr: (string)
- protocol: (string)
- ignore_ssl_errors: (boolean)
- ca_cert: (string)
Example:
{
"auth": {
"radius": {
"password": "default",
"auth_server": "192.168.0.1:5555",
"acct_server": "192.168.0.2:5555"
},
"ldap": {
"username_attr": "member",
"base_dn": "basedn",
"group_membership_attr": "grou",
"bind_dn": "binddn",
"bind_password": "asdf",
"server": "1.4.5.6:2345",
"protocol": "ldaps_only",
"ignore_ssl_errors": false,
"ca_cert": "-----BEGIN CERTIFICATE-----\nMIIG ... ikTH/\n-----END CERTIFICATE-----\n"
},
"tacacs": {
"auth_server": "1.2.3.4",
"auth_method": "pap",
"service": "raccess"
},
"auth_type": "Local",
"use_remote_groups": true
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
get /auth
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- auth: required(object)
- auth_type: required(string)
- use_remote_groups: required(boolean)
- radius: required(object)
- auth_server: required(string)
- acct_server: (string)
- password: required(string)
- tacacs: required(object)
- auth_server: required(string)
- auth_method: required(string)
- service: required(string)
- password: (string)
- ldap: required(object)
- server: required(string)
- bind_dn: (string)
- base_dn: (string)
- bind_password: (string)
- username_attr: (string)
- group_membership_attr: (string)
- protocol: (string)
- ignore_ssl_errors: (boolean)
- ca_cert: (string)
Example:
{
"auth": {
"radius": {
"password": "default",
"auth_server": "192.168.0.1:5555",
"acct_server": "192.168.0.2:5555"
},
"ldap": {
"username_attr": "member",
"base_dn": "basedn",
"group_membership_attr": "grou",
"bind_dn": "binddn",
"bind_password": "asdf",
"server": "1.4.5.6:2345",
"protocol": "ldaps_only",
"ignore_ssl_errors": false,
"ca_cert": "-----BEGIN CERTIFICATE-----\nMIIG ... ikTH/\n-----END CERTIFICATE-----\n"
},
"tacacs": {
"auth_server": "1.2.3.4",
"auth_method": "pap",
"service": "raccess"
},
"auth_type": "Local",
"use_remote_groups": true
}
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/groups
The groups endpoint is used to update and retrieve the group configuration from the console server
put /groups
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- groups: required(array of group)
Items: group
- name: required(string)
The name of the group
- description: (string)
The description of the group
- roles: required(array of string)
The list of roles provided by the group
- ports: required(array of boolean)
A list of flags for whether the group has access to each serial port
- system: required(boolean)
A flag indicating whether or not this is a system group
- name: required(string)
- meta: (object)
- total_pages: (number)
Example:
{
"groups": [
{
"name": "custom_group",
"description": "A custom group",
"roles": [
"admin",
"operators"
],
"ports": [
true,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"system": false
}
]
}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- groups: required(array of group)
Items: group
- name: required(string)
The name of the group
- description: (string)
The description of the group
- roles: required(array of string)
The list of roles provided by the group
- ports: required(array of boolean)
A list of flags for whether the group has access to each serial port
- system: required(boolean)
A flag indicating whether or not this is a system group
- name: required(string)
- meta: (object)
- total_pages: (number)
Example:
{
"meta": {
"total_pages": 1
},
"groups": [
{
"name": "root",
"description": "Default system super user group",
"roles": [],
"ports": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"system": true
},
{
"name": "custom_group",
"description": "A custom group",
"roles": [
"admin",
"operators"
],
"ports": [
true,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"system": false
}
]
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
{
"error": "Invalid request data."
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
get /groups
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- groups: required(array of group)
Items: group
- name: required(string)
The name of the group
- description: (string)
The description of the group
- roles: required(array of string)
The list of roles provided by the group
- ports: required(array of boolean)
A list of flags for whether the group has access to each serial port
- system: required(boolean)
A flag indicating whether or not this is a system group
- name: required(string)
- meta: (object)
- total_pages: (number)
Example:
{
"meta": {
"total_pages": 1
},
"groups": [
{
"name": "root",
"description": "Default system super user group",
"roles": [],
"ports": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"system": true
}
]
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the configuration of a particular group
get /groups/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- group: required(object)
Console Server Group Configuration
- name: required(string)
The name of the group
- description: (string)
The description of the group
- roles: required(array of string)
The list of roles provided by the group
- ports: required(array of boolean)
A list of flags for whether the group has access to each serial port
- system: required(boolean)
A flag indicating whether or not this is a system group
- name: required(string)
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/users
User list configuration for console server
Get full list of users and user configuration data
Update the full list of users configurations. Note 'password' is required for new users.
Delete all users except root
get /users
Get full list of users and user configuration data
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- users: required(array of object)
Items: userConfiguration
- id: required(string)
- description: required(string)
Must not contain ':'
- username: required(string)
- disabled: required(boolean)
- groups: required(array of string)
List of group names for which this user is a member
- meta: required(object)
- total_pages: required(number)
Example:
{
"meta": {
"total_pages": 1
},
"users": [
{
"id": "user1",
"username": "root",
"description": "Root User",
"disabled": false,
"groups": []
},
{
"id": "user2",
"username": "coolguy",
"description": "",
"disabled": false,
"groups": [
"cool"
]
},
{
"id": "user3",
"username": "alice",
"description": "",
"disabled": false,
"groups": [
"pmadmin"
]
}
]
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /users
Update the full list of users configurations. Note 'password' is required for new users.
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- users: required(array of userConfigurationUpdate)
Items: userConfigurationUpdate
- id: required(string)
- description: required(string)
Must not contain ':'
- username: required(string)
- password: (string)
- disabled: required(boolean)
- groups: required(array of string)
List of group names for which this user is a member
Example:
{
"users": [
{
"id": "user1",
"username": "root",
"description": "Root User",
"disabled": false,
"groups": []
},
{
"id": "user2",
"username": "coolguy",
"description": "test",
"disabled": false,
"password": "asdf1234",
"groups": [
"cool"
]
},
{
"id": "user3",
"username": "alice",
"description": "test",
"disabled": false,
"password": "password",
"groups": [
"pmadmin"
]
}
]
}
HTTP status code 201
On success the updated list of user configurations is returned
Body
Media type: application/json
Type: object
Properties- users: required(array of userConfiguration)
Items: userConfiguration
- id: required(string)
- description: required(string)
Must not contain ':'
- username: required(string)
- disabled: required(boolean)
- groups: required(array of string)
List of group names for which this user is a member
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /users
Delete all users except root
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- message: required(string)
Example:
{
"message": "OK"
}
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Single user configuration for console server
Get single user configuration
get /users/{$id}
Get single user configuration
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- user: required(object)
Console server user configuration
- id: required(string)
- description: required(string)
Must not contain ':'
- username: required(string)
- disabled: required(boolean)
- groups: required(array of string)
List of group names for which this user is a member
Example:
{
"user": {
"id": "user1",
"username": "root",
"description": "Root User",
"disabled": false,
"groups": []
}
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/scripts
The scripts endpoint is used to upload and execute custom user scripts on the console server and to retrieve the status of currently executing scripts
Upload a shell script to be executed on the node
Retrieve the status of a script executing on the node by execution ID
post /scripts
Upload a shell script to be executed on the node
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: multipart/form-data
Type: object
Properties- script_metadata: required(object)
JSON object containing script_timeout in minutes and the script_checksum (SHA1).
- script_timeout: required(integer)
The number of minutes that the script is allowed to run
- script_checksum: required(string)
The SHA1 checksum of the script
Example:
{ "script_timeout": 15, "script_checksum": "ca69c6a865dffa6b745f25f6c446d1ff24a7d394" }
- script_timeout: required(integer)
- file: required(file)
The file to be uploaded.
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- execution_id: required(string)
- info: required(string)
Example:
{
"info": "Script execution started successfully",
"execution_id": "ASD123"
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
{
"error": "Invalid script metadata"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
get /scripts
Retrieve the status of a script executing on the node by execution ID
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- execution_id: required(string)
Example:
ASD123
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Example:
{
"script_status": "in_progress"
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Examples:
example1:
{
"error": "Failed to parse request data"
}
{
"error": "Script execution ID not provided"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Unexpected error
Body
Media type: application/json
Type: object
Examples:
example1:
{
"error": "Failed to open configuration handle"
}
{
"error": "Script exit code not found"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/serialPorts
The Serial port endpoint is used to retrieve the serial port configuration from the console server
get /serialPorts
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- serialports: required(array of serialPort)
Items: serialPort
- label: required(string)
The label for the serial port
- id: required(string)
The id of the serial port. This ID can be used to fetch individual ports using the /serialPorts/{portid} endpoint
- attachedDeviceType: required(one of unknown, none, remotePowerControl, uninterruptiblePowerSupply, environmentMonitor, nmeaSource, powerAlert)
The type of device attached to the serial port. Ports in console server mode will have this property set to 'none'
- hardwareType: required(one of unknown, builtInUART, builtInUSB, removableUSB)
The underlying hardware type of the port. This is used to indicate if its a fixed or removable port.
- mode: required(one of disabled, localConsole, consoleServer, bridge, terminalServer, reserved, powerman, unknown)
The mode that the port is in
- hardwareSettings: required(object)
This group of properties define the hardware level configuration of the port
- pinout: required(one of X0, X1, X2)
The physical pinout of the port connector
- protocol: required(one of RS232, RS422, RS485, RS485e)
The data protocol the port is using when transmitting and receiving
- uart: required(object)
UART configuration settings
- parity: required(one of none, unknown, even, mark, space)
The format of the parity byte
- baud: required(one of 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400)
The communication rate of the port
- stopBits: required(one of 1, 1.5, 2)
The number of stop bits between characters
- dataBits: required(one of 5, 6, 7, 8)
The number of data bits in a character
- flowControl: required(one of unknown, none, noneUnpowered, hardware, software, softwareUnpowered)
The algorithm used for flow control.
- dtrMode: required(one of alwayson, activeuser)
When to assert DTR
- parity: required(one of none, unknown, even, mark, space)
- pinout: required(one of X0, X1, X2)
- ctrlCode: required(object)
Additional key sequences for pmshell control commands. Each is an integer in the range [0, 255] inclusive.
- quit: required(number)
Additional control code for the 'Exit pmshell' control function
- generateBreak: required(number)
Additional control code for the 'Generate BREAK' control function
- chooser: required(number)
Additional control code for the 'Connect to port menu' control function
- power: (number)
Additional control code for the 'Power menu' control function
- help: required(number)
Additional control code for the 'Show help message' control function
- portLog: required(number)
Additional control code for the 'View History' control function
- quit: required(number)
- modeSettings: required(union of consoleServer or terminalServer or bridge)
This object contains mode specific configuration objects. Only the object corresponding to the 'mode' property will be present
- nagios: required(object)
This object contains Nagios related configuration settings for this port
- enabled: required(boolean)
Indicates if nagios checks are enabled for this port
- serialStatus: required(boolean)
Indicates if the nagios serial status check should be configured for this port
- name: required(string)
The Nagios name for the port (autogenerated from the hostname and the port name)
- portLogging: required(boolean)
Indicates if nagios port logging is enabled
- enabled: required(boolean)
- logging: required(object)
This object contains logging related configuration settings for this port
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
Indicates the logging level for the port
- priority: required(one of default, warning, notice, info, error, emergency, debug, critical, alert)
The log priority to assign to log messages from this port when they're sent to a remote syslog server
- facility: required(one of default, local0, local1, local2, local3, local4, local5, local6, local7, auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, user, uucp)
The log facility to assign to log messages from this port when they're sent to a remote syslog server
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
- nmeaStreaming: (object)
Only valid for predefined GPS serial ports. Will be rejected by PUT/PATCH on non-GPS ports.
- enabled: required(boolean)
Enable GPS NMEA data streaming
- fixFrequency: required(number)
The GPS fix rate, from 1-255 seconds. If changed, this field will not be applied until the device restarts, or NMEA streaming is disabled and re-enabled
- enabled: required(boolean)
- label: required(string)
Example:
{
"serialports": [
{
"label": "sv.router",
"id": "port1",
"modeSettings": {
"consoleServer": {
"ssh": {
"enabled": true,
"unauthenticated": false
},
"tcp": {
"enabled": false
},
"general": {
"accumulateMS": 0,
"replaceBackspace": false,
"powerMenuEnabled": false,
"escapeChar": "~",
"singleConnection": false
},
"portShare": {
"enabled": false,
"password": "secrets",
"authentication": false,
"encryption": false
},
"rfc2217": {
"enabled": false
},
"webShell": {
"enabled": false
},
"telnet": {
"enabled": true,
"unauthenticated": false
},
"ipAlias": {
"wan": [],
"oobfo": [],
"wlan": [],
"lan": []
}
}
},
"attachedDeviceType": "none",
"hardwareSettings": {
"pinout": "X2",
"protocol": "RS232",
"uart": {
"parity": "none",
"baud": "9600",
"stopBits": "1",
"dataBits": "8",
"flowControl": "none",
"dtrMode": "alwayson"
}
},
"ctrlCode": {
"quit": 4,
"generateBreak": 6,
"chooser": 3,
"help": 5,
"portLog": 1,
"power": 0
},
"logging": {
"level": "accessInputOutput",
"priority": "default",
"facility": "default"
},
"mode": "consoleServer",
"nagios": {
"enabled": false,
"serialStatus": false,
"name": "",
"portLogging": false
},
"hardwareType": "builtInUART",
"nmeaStreaming": {
"enabled": false,
"fixFrequency": 5
}
},
{
"label": "sv.fileserver",
"id": "port2",
"modeSettings": {
"consoleServer": {
"ssh": {
"enabled": true,
"unauthenticated": false
},
"tcp": {
"enabled": false
},
"general": {
"accumulateMS": 0,
"replaceBackspace": false,
"powerMenuEnabled": false,
"escapeChar": "~",
"singleConnection": false
},
"portShare": {
"enabled": false,
"password": "secrets",
"authentication": false,
"encryption": false
},
"rfc2217": {
"enabled": false
},
"webShell": {
"enabled": false
},
"telnet": {
"enabled": true,
"unauthenticated": false
},
"ipAlias": {
"wan": [],
"oobfo": [],
"wlan": [],
"lan": []
}
}
},
"attachedDeviceType": "none",
"hardwareSettings": {
"pinout": "X2",
"protocol": "RS232",
"uart": {
"parity": "none",
"baud": "9600",
"stopBits": "1",
"dataBits": "8",
"flowControl": "none",
"dtrMode": "alwayson"
}
},
"ctrlCode": {
"quit": 10,
"generateBreak": 6,
"chooser": 0,
"help": 5,
"portLog": 1,
"power": 0
},
"logging": {
"level": "accessInputOutput",
"priority": "default",
"facility": "default"
},
"mode": "consoleServer",
"nagios": {
"enabled": false,
"serialStatus": false,
"name": "",
"portLogging": false
},
"hardwareType": "builtInUART",
"nmeaStreaming": {
"enabled": false,
"fixFrequency": 5
}
}
]
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve / update the configuration of a particular serial port
get /serialPorts/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- serialport: required(object)
Console Server Serial Port Configuration
- label: required(string)
The label for the serial port
- id: required(string)
The id of the serial port. This ID can be used to fetch individual ports using the /serialPorts/{portid} endpoint
- attachedDeviceType: required(one of unknown, none, remotePowerControl, uninterruptiblePowerSupply, environmentMonitor, nmeaSource, powerAlert)
The type of device attached to the serial port. Ports in console server mode will have this property set to 'none'
- hardwareType: required(one of unknown, builtInUART, builtInUSB, removableUSB)
The underlying hardware type of the port. This is used to indicate if its a fixed or removable port.
- mode: required(one of disabled, localConsole, consoleServer, bridge, terminalServer, reserved, powerman, unknown)
The mode that the port is in
- hardwareSettings: required(object)
This group of properties define the hardware level configuration of the port
- pinout: required(one of X0, X1, X2)
The physical pinout of the port connector
- protocol: required(one of RS232, RS422, RS485, RS485e)
The data protocol the port is using when transmitting and receiving
- uart: required(object)
UART configuration settings
- parity: required(one of none, unknown, even, mark, space)
The format of the parity byte
- baud: required(one of 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400)
The communication rate of the port
- stopBits: required(one of 1, 1.5, 2)
The number of stop bits between characters
- dataBits: required(one of 5, 6, 7, 8)
The number of data bits in a character
- flowControl: required(one of unknown, none, noneUnpowered, hardware, software, softwareUnpowered)
The algorithm used for flow control.
- dtrMode: required(one of alwayson, activeuser)
When to assert DTR
- parity: required(one of none, unknown, even, mark, space)
- pinout: required(one of X0, X1, X2)
- ctrlCode: required(object)
Additional key sequences for pmshell control commands. Each is an integer in the range [0, 255] inclusive.
- quit: required(number)
Additional control code for the 'Exit pmshell' control function
- generateBreak: required(number)
Additional control code for the 'Generate BREAK' control function
- chooser: required(number)
Additional control code for the 'Connect to port menu' control function
- power: (number)
Additional control code for the 'Power menu' control function
- help: required(number)
Additional control code for the 'Show help message' control function
- portLog: required(number)
Additional control code for the 'View History' control function
- quit: required(number)
- modeSettings: required(union of consoleServer or terminalServer or bridge)
This object contains mode specific configuration objects. Only the object corresponding to the 'mode' property will be present
- nagios: required(object)
This object contains Nagios related configuration settings for this port
- enabled: required(boolean)
Indicates if nagios checks are enabled for this port
- serialStatus: required(boolean)
Indicates if the nagios serial status check should be configured for this port
- name: required(string)
The Nagios name for the port (autogenerated from the hostname and the port name)
- portLogging: required(boolean)
Indicates if nagios port logging is enabled
- enabled: required(boolean)
- logging: required(object)
This object contains logging related configuration settings for this port
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
Indicates the logging level for the port
- priority: required(one of default, warning, notice, info, error, emergency, debug, critical, alert)
The log priority to assign to log messages from this port when they're sent to a remote syslog server
- facility: required(one of default, local0, local1, local2, local3, local4, local5, local6, local7, auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, user, uucp)
The log facility to assign to log messages from this port when they're sent to a remote syslog server
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
- nmeaStreaming: (object)
Only valid for predefined GPS serial ports. Will be rejected by PUT/PATCH on non-GPS ports.
- enabled: required(boolean)
Enable GPS NMEA data streaming
- fixFrequency: required(number)
The GPS fix rate, from 1-255 seconds. If changed, this field will not be applied until the device restarts, or NMEA streaming is disabled and re-enabled
- enabled: required(boolean)
- label: required(string)
Example:
{
"serialport": {
"label": "sv.router",
"id": "port1",
"modeSettings": {
"consoleServer": {
"ssh": {
"enabled": true,
"unauthenticated": false
},
"tcp": {
"enabled": false
},
"general": {
"accumulateMS": 0,
"replaceBackspace": false,
"powerMenuEnabled": false,
"escapeChar": "~",
"singleConnection": false
},
"portShare": {
"enabled": false,
"password": "secrets",
"authentication": false,
"encryption": false
},
"rfc2217": {
"enabled": false
},
"webShell": {
"enabled": false
},
"telnet": {
"enabled": true,
"unauthenticated": false
},
"ipAlias": {
"wan": [],
"oobfo": [],
"wlan": [],
"lan": []
}
}
},
"attachedDeviceType": "none",
"hardwareSettings": {
"pinout": "X2",
"protocol": "RS232",
"uart": {
"parity": "none",
"baud": "9600",
"stopBits": "1",
"dataBits": "8",
"flowControl": "none",
"dtrMode": "alwayson"
}
},
"ctrlCode": {
"quit": 0,
"generateBreak": 6,
"chooser": 3,
"power": 2,
"help": 5,
"portLog": 1
},
"logging": {
"level": "accessInputOutput",
"priority": "default",
"facility": "default"
},
"mode": "consoleServer",
"nagios": {
"enabled": false,
"serialStatus": false,
"name": "",
"portLogging": false
},
"hardwareType": "builtInUART",
"nmeaStreaming": {
"enabled": false,
"fixFrequency": 5
}
}
}
HTTP status code 304
Serial Port configuration matches the provided Etag
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Invalid Port ID
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal server error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /serialPorts/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- serialport: required(object)
Console Server Serial Port Configuration
- ctrlCode: required(object)
Additional key sequences for pmshell control commands. Each is an integer in the range [0, 255] inclusive.
- quit: required(number)
Additional control code for the 'Exit pmshell' control function
- generateBreak: required(number)
Additional control code for the 'Generate BREAK' control function
- chooser: required(number)
Additional control code for the 'Connect to port menu' control function
- power: required(number)
Additional control code for the 'Power menu' control function
- help: required(number)
Additional control code for the 'Show help message' control function
- portLog: required(number)
Additional control code for the 'View History' control function
- quit: required(number)
- label: required(string)
The label for the serial port
- id: required(string)
The id of the serial port. This ID can be used to fetch individual ports using the /serialPorts/{portid} endpoint
- attachedDeviceType: required(one of unknown, none, remotePowerControl, uninterruptiblePowerSupply, environmentMonitor, nmeaSource, powerAlert)
The type of device attached to the serial port. Ports in console server mode will have this property set to 'none'
- hardwareType: required(one of unknown, builtInUART, builtInUSB, removableUSB)
The underlying hardware type of the port. This is used to indicate if its a fixed or removable port.
- mode: required(one of disabled, localConsole, consoleServer, bridge, terminalServer, reserved, powerman, unknown)
The mode that the port is in
- hardwareSettings: required(object)
This group of properties define the hardware level configuration of the port
- pinout: required(one of X0, X1, X2)
The physical pinout of the port connector
- protocol: required(one of RS232, RS422, RS485, RS485e)
The data protocol the port is using when transmitting and receiving
- uart: required(object)
UART configuration settings
- parity: required(one of none, unknown, even, mark, space)
The format of the parity byte
- baud: required(one of 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400)
The communication rate of the port
- stopBits: required(one of 1, 1.5, 2)
The number of stop bits between characters
- dataBits: required(one of 5, 6, 7, 8)
The number of data bits in a character
- flowControl: required(one of unknown, none, noneUnpowered, hardware, software, softwareUnpowered)
The algorithm used for flow control.
- dtrMode: required(one of alwayson, activeuser)
When to assert DTR
- parity: required(one of none, unknown, even, mark, space)
- pinout: required(one of X0, X1, X2)
- modeSettings: required(union of consoleServer or terminalServer or bridge)
This object contains mode specific configuration objects. Only the object corresponding to the 'mode' property will be present
- nagios: required(object)
This object contains Nagios related configuration settings for this port
- enabled: required(boolean)
Indicates if nagios checks are enabled for this port
- serialStatus: required(boolean)
Indicates if the nagios serial status check should be configured for this port
- name: required(string)
The Nagios name for the port (autogenerated from the hostname and the port name)
- portLogging: required(boolean)
Indicates if nagios port logging is enabled
- enabled: required(boolean)
- logging: required(object)
This object contains logging related configuration settings for this port
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
Indicates the logging level for the port
- priority: required(one of default, warning, notice, info, error, emergency, debug, critical, alert)
The log priority to assign to log messages from this port when they're sent to a remote syslog server
- facility: required(one of default, local0, local1, local2, local3, local4, local5, local6, local7, auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, user, uucp)
The log facility to assign to log messages from this port when they're sent to a remote syslog server
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
- nmeaStreaming: (object)
Only valid for predefined GPS serial ports. Will be rejected by PUT/PATCH on non-GPS ports.
- enabled: required(boolean)
Enable GPS NMEA data streaming
- fixFrequency: required(number)
The GPS fix rate, from 1-255 seconds. If changed, this field will not be applied until the device restarts, or NMEA streaming is disabled and re-enabled
- enabled: required(boolean)
- ctrlCode: required(object)
Example:
{
"serialport": {
"label": "Port 5",
"id": "port5",
"modeSettings": {
"consoleServer": {
"ssh": {
"enabled": true,
"unauthenticated": false
},
"telnet": {
"enabled": false,
"unauthenticated": false
},
"general": {
"replaceBackspace": false,
"escapeChar": "~",
"singleConnection": false,
"accumulateMS": 0,
"powerMenuEnabled": false
},
"portShare": {
"password": "",
"authentication": false,
"enabled": false,
"encryption": false
},
"rfc2217": {
"enabled": false
},
"webShell": {
"enabled": false
},
"tcp": {
"enabled": false
},
"ipAlias": {
"wan": [],
"oobfo": [],
"wlan": [],
"lan": []
}
}
},
"attachedDeviceType": "none",
"hardwareSettings": {
"pinout": "X2",
"protocol": "RS232",
"uart": {
"parity": "none",
"baud": "9600",
"stopBits": "1",
"dataBits": "8",
"flowControl": "none",
"dtrMode": "alwayson"
}
},
"logging": {
"priority": "default",
"facility": "default",
"level": "disabled"
},
"ctrlCode": {
"quit": 4,
"generateBreak": 5,
"chooser": 3,
"power": 2,
"help": 6,
"portLog": 1
},
"hardwareType": "builtInUART",
"mode": "consoleServer",
"nagios": {
"enabled": false,
"serialStatus": false,
"name": "",
"portLogging": false
}
}
}
HTTP status code 200
Successful update
Body
Media type: application/json
Type: object
Properties- serialport: required(object)
Console Server Serial Port Configuration
- label: required(string)
The label for the serial port
- id: required(string)
The id of the serial port. This ID can be used to fetch individual ports using the /serialPorts/{portid} endpoint
- attachedDeviceType: required(one of unknown, none, remotePowerControl, uninterruptiblePowerSupply, environmentMonitor, nmeaSource, powerAlert)
The type of device attached to the serial port. Ports in console server mode will have this property set to 'none'
- hardwareType: required(one of unknown, builtInUART, builtInUSB, removableUSB)
The underlying hardware type of the port. This is used to indicate if its a fixed or removable port.
- mode: required(one of disabled, localConsole, consoleServer, bridge, terminalServer, reserved, powerman, unknown)
The mode that the port is in
- hardwareSettings: required(object)
This group of properties define the hardware level configuration of the port
- pinout: required(one of X0, X1, X2)
The physical pinout of the port connector
- protocol: required(one of RS232, RS422, RS485, RS485e)
The data protocol the port is using when transmitting and receiving
- uart: required(object)
UART configuration settings
- parity: required(one of none, unknown, even, mark, space)
The format of the parity byte
- baud: required(one of 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400)
The communication rate of the port
- stopBits: required(one of 1, 1.5, 2)
The number of stop bits between characters
- dataBits: required(one of 5, 6, 7, 8)
The number of data bits in a character
- flowControl: required(one of unknown, none, noneUnpowered, hardware, software, softwareUnpowered)
The algorithm used for flow control.
- dtrMode: required(one of alwayson, activeuser)
When to assert DTR
- parity: required(one of none, unknown, even, mark, space)
- pinout: required(one of X0, X1, X2)
- ctrlCode: required(object)
Additional key sequences for pmshell control commands. Each is an integer in the range [0, 255] inclusive.
- quit: required(number)
Additional control code for the 'Exit pmshell' control function
- generateBreak: required(number)
Additional control code for the 'Generate BREAK' control function
- chooser: required(number)
Additional control code for the 'Connect to port menu' control function
- power: required(number)
Additional control code for the 'Power menu' control function
- help: required(number)
Additional control code for the 'Show help message' control function
- portLog: required(number)
Additional control code for the 'View History' control function
- quit: required(number)
- modeSettings: required(union of consoleServer or terminalServer or bridge or consoleServer or terminalServer or bridge or consoleServer or terminalServer or bridge)
This object contains mode specific configuration objects. Only the object corresponding to the 'mode' property will be present
- nagios: required(object)
This object contains Nagios related configuration settings for this port
- enabled: required(boolean)
Indicates if nagios checks are enabled for this port
- serialStatus: required(boolean)
Indicates if the nagios serial status check should be configured for this port
- name: required(string)
The Nagios name for the port (autogenerated from the hostname and the port name)
- portLogging: required(boolean)
Indicates if nagios port logging is enabled
- enabled: required(boolean)
- logging: required(object)
This object contains logging related configuration settings for this port
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
Indicates the logging level for the port
- priority: required(one of default, warning, notice, info, error, emergency, debug, critical, alert)
The log priority to assign to log messages from this port when they're sent to a remote syslog server
- facility: required(one of default, local0, local1, local2, local3, local4, local5, local6, local7, auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, user, uucp)
The log facility to assign to log messages from this port when they're sent to a remote syslog server
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
- nmeaStreaming: (object)
Only valid for predefined GPS serial ports. Will be rejected by PUT/PATCH on non-GPS ports.
- enabled: required(boolean)
Enable GPS NMEA data streaming
- fixFrequency: required(number)
The GPS fix rate, from 1-255 seconds. If changed, this field will not be applied until the device restarts, or NMEA streaming is disabled and re-enabled
- enabled: required(boolean)
- label: required(string)
HTTP status code 400
Invalid request data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Invalid Port ID
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 412
Etag doesn't match (Indicates serial port config has changed since last get request)
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal server error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
patch /serialPorts/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- serialport: required(object)
Console Server Serial Port Configuration
- label: (string)
The label for the serial port
- id: (string)
The id of the serial port. This ID can be used to fetch individual ports using the /serialPorts/{portid} endpoint
- attachedDeviceType: (one of unknown, none, remotePowerControl, uninterruptiblePowerSupply, environmentMonitor, nmeaSource, powerAlert)
The type of device attached to the serial port. Ports in console server mode will have this property set to 'none'
- hardwareType: (one of unknown, builtInUART, builtInUSB, removableUSB)
The underlying hardware type of the port. This is used to indicate if its a fixed or removable port.
- mode: (one of disabled, localConsole, consoleServer, bridge, terminalServer, reserved, powerman, unknown)
The mode that the port is in
- hardwareSettings: (object)
This group of properties define the hardware level configuration of the port
- pinout: (one of X0, X1, X2)
The physical pinout of the port connector
- protocol: (one of RS232, RS422, RS485, RS485e)
The data protocol the port is using when transmitting and receiving
- uart: (object)
UART configuration settings
- parity: (one of none, unknown, even, mark, space)
The format of the parity byte
- baud: (one of 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400)
The communication rate of the port
- stopBits: (one of 1, 1.5, 2)
The number of stop bits between characters
- dataBits: (one of 5, 6, 7, 8)
The number of data bits in a character
- flowControl: (one of unknown, none, noneUnpowered, hardware, software, softwareUnpowered)
The algorithm used for flow control.
- dtrMode: (one of alwayson, activeuser)
When to assert DTR
- parity: (one of none, unknown, even, mark, space)
- pinout: (one of X0, X1, X2)
- ctrlCode: (object)
Additional key sequences for pmshell control commands. Each is an integer in the range [0, 255] inclusive.
- quit: (number)
Additional control code for the 'Exit pmshell' control function
- generateBreak: (number)
Additional control code for the 'Generate BREAK' control function
- chooser: (number)
Additional control code for the 'Connect to port menu' control function
- power: (number)
Additional control code for the 'Power menu' control function
- help: (number)
Additional control code for the 'Show help message' control function
- portLog: (number)
Additional control code for the 'View History' control function
- quit: (number)
- modeSettings: (union of consoleServer or terminalServer or bridge)
This object contains mode specific configuration objects. Only the object corresponding to the 'mode' property will be present
- nagios: (object)
This object contains Nagios related configuration settings for this port
- enabled: (boolean)
Indicates if nagios checks are enabled for this port
- serialStatus: (boolean)
Indicates if the nagios serial status check should be configured for this port
- name: (string)
The Nagios name for the port (autogenerated from the hostname and the port name)
- portLogging: (boolean)
Indicates if nagios port logging is enabled
- enabled: (boolean)
- logging: (object)
This object contains logging related configuration settings for this port
- level: (one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
Indicates the logging level for the port
- priority: (one of default, warning, notice, info, error, emergency, debug, critical, alert)
The log priority to assign to log messages from this port when they're sent to a remote syslog server
- facility: (one of default, local0, local1, local2, local3, local4, local5, local6, local7, auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, user, uucp)
The log facility to assign to log messages from this port when they're sent to a remote syslog server
- level: (one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
- nmeaStreaming: (object)
Only valid for predefined GPS serial ports. Will be rejected by PUT/PATCH on non-GPS ports.
- enabled: (boolean)
Enable GPS NMEA data streaming
- fixFrequency: (number)
The GPS fix rate, from 1-255 seconds. If changed, this field will not be applied until the device restarts, or NMEA streaming is disabled and re-enabled
- enabled: (boolean)
- label: (string)
Example:
{
"serialport": {
"label": "My Port"
}
}
HTTP status code 200
Successful update
Body
Media type: application/json
Type: object
Properties- serialport: required(object)
Console Server Serial Port Configuration
- label: required(string)
The label for the serial port
- id: required(string)
The id of the serial port. This ID can be used to fetch individual ports using the /serialPorts/{portid} endpoint
- attachedDeviceType: required(one of unknown, none, remotePowerControl, uninterruptiblePowerSupply, environmentMonitor, nmeaSource, powerAlert)
The type of device attached to the serial port. Ports in console server mode will have this property set to 'none'
- hardwareType: required(one of unknown, builtInUART, builtInUSB, removableUSB)
The underlying hardware type of the port. This is used to indicate if its a fixed or removable port.
- mode: required(one of disabled, localConsole, consoleServer, bridge, terminalServer, reserved, powerman, unknown)
The mode that the port is in
- hardwareSettings: required(object)
This group of properties define the hardware level configuration of the port
- pinout: required(one of X0, X1, X2)
The physical pinout of the port connector
- protocol: required(one of RS232, RS422, RS485, RS485e)
The data protocol the port is using when transmitting and receiving
- uart: required(object)
UART configuration settings
- parity: required(one of none, unknown, even, mark, space)
The format of the parity byte
- baud: required(one of 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400)
The communication rate of the port
- stopBits: required(one of 1, 1.5, 2)
The number of stop bits between characters
- dataBits: required(one of 5, 6, 7, 8)
The number of data bits in a character
- flowControl: required(one of unknown, none, noneUnpowered, hardware, software, softwareUnpowered)
The algorithm used for flow control.
- dtrMode: required(one of alwayson, activeuser)
When to assert DTR
- parity: required(one of none, unknown, even, mark, space)
- pinout: required(one of X0, X1, X2)
- ctrlCode: required(object)
Additional key sequences for pmshell control commands. Each is an integer in the range [0, 255] inclusive.
- quit: required(number)
Additional control code for the 'Exit pmshell' control function
- generateBreak: required(number)
Additional control code for the 'Generate BREAK' control function
- chooser: required(number)
Additional control code for the 'Connect to port menu' control function
- power: (number)
Additional control code for the 'Power menu' control function
- help: required(number)
Additional control code for the 'Show help message' control function
- portLog: required(number)
Additional control code for the 'View History' control function
- quit: required(number)
- modeSettings: required(union of consoleServer or terminalServer or bridge)
This object contains mode specific configuration objects. Only the object corresponding to the 'mode' property will be present
- nagios: required(object)
This object contains Nagios related configuration settings for this port
- enabled: required(boolean)
Indicates if nagios checks are enabled for this port
- serialStatus: required(boolean)
Indicates if the nagios serial status check should be configured for this port
- name: required(string)
The Nagios name for the port (autogenerated from the hostname and the port name)
- portLogging: required(boolean)
Indicates if nagios port logging is enabled
- enabled: required(boolean)
- logging: required(object)
This object contains logging related configuration settings for this port
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
Indicates the logging level for the port
- priority: required(one of default, warning, notice, info, error, emergency, debug, critical, alert)
The log priority to assign to log messages from this port when they're sent to a remote syslog server
- facility: required(one of default, local0, local1, local2, local3, local4, local5, local6, local7, auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, user, uucp)
The log facility to assign to log messages from this port when they're sent to a remote syslog server
- level: required(one of unknown, disabled, access, accessInputOutput, accessInput, accessOutput)
- nmeaStreaming: (object)
Only valid for predefined GPS serial ports. Will be rejected by PUT/PATCH on non-GPS ports.
- enabled: required(boolean)
Enable GPS NMEA data streaming
- fixFrequency: required(number)
The GPS fix rate, from 1-255 seconds. If changed, this field will not be applied until the device restarts, or NMEA streaming is disabled and re-enabled
- enabled: required(boolean)
- label: required(string)
HTTP status code 400
Invalid request data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Invalid Port ID
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 412
Etag doesn't match (Indicates serial port config has changed since last get request)
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal server error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/secureShell
This endpoint is used for getting the SSH port of the device
get /secureShell
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful Request
Body
Media type: application/json
Type: object
Properties- ssh: required(object)
- port: required(integer)
The host port that the SSH daemon is listening on
- port: required(integer)
Example:
{
"ssh": {
"port": 22
}
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal Error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
This endpoint is used for retrieving SSH keys, and modifying user's authorized keys lists
get /secureShell/keys/host
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful Request
Body
Media type: application/json
Type: object
Properties- keys: required(object)
- ecdsa: (string)
The ECDSA SSH host key - base64 encoded
- ed25519: (string)
The ED25519 host key - base64 encoded
- rsa: (string)
the RSA host key - base64 encoded
- ecdsa: (string)
Example:
{
"keys": {
"ecdsa": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMhfUnZC8MD+iqxLq7vhvUCoFTzC1+lmieMXj2N6j+SUHYkKipoNkI9kks3PEXIMwShiVJ3ySW5cERFDvRsVT+c=",
"ed25519": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC59SOqiYAs3DfLEtdW6RE/W2OY1WCEkQi/1AqUkOvs5",
"rsa": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDN+Gd1ul7tCYWiAC3CQ76MM+FfhesjKimeMSeVNUfIvK4rTGfL14LKUB37rJAU5PhO/snRw+xtQRaD5SHzDHzCh1xXzVlb+x77IqeasbeKhWNCCYfgHNx1sAxzwnAUA26UifoAZSv81HLmE9kJnCqTH0o54HKdRtUQGyo0a0F1tTweQKlrCPxQ6YoDfMbFhsYgPPX+66L6ku5xvcc4pbT5caJ1pw6cX5Fej49Bkbl+SHYiMYNFX05nIHSstpfgdWgOv3xm43DjAXLD3d5lGC5aYkqgJO0X5n6KjpoOGHaMZ9dn/t4O14ZX2Jl46SMSr8XQmSZoIijQyUP9AW8oUMTdSvUT/P1TLBlcPuw76MHJkij8TP2/r9ICyzXQSzhlCv0vGWAZsi1SZ8PQFv6iAtTu/2UXdvmBxdkuDx2IPwNtvC+e8GRcEYFY8ziUnWVlf7QjhaDkrcamdoAo7wErEKO1iV/hcgfKemLuIVvqkKS9Qj0rHS5wAnrfFx7WhjRa5BqCA/H4pBozgMBrdR/9lseYNu4vjMaGRYLaUhfZj1S2c7uKd+vEZI3nmCCQmBJ1qR2ih8USeZbIcrf2QMGhdKUIoFxjM9c3NabWmRNPSJIgL8N19+itb4Yz6ycs+wJyegdpJ5TCrSrHo8Tt5e/5PX604NuHtEDXpG+T/HjhccWNQ=="
}
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal Error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
This endpoint is used for modifying user's authorized keys lists
Add authorized keys for the user. Note that existing keys that match both keytype and identifier will be replaced. This is designed to avoid adding duplicate entries.
Remove authorized keys for the user. Existing keys must match all of the supplied fields to be removed.
put /secureShell/keys/user/${username}/authorized
Add authorized keys for the user. Note that existing keys that match both keytype and identifier will be replaced. This is designed to avoid adding duplicate entries.
Console Server base authentication scheme
URI Parameters
- username: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- keys: required(array of object)
Items: items
- keytype: required(one of ssh-rsa, ssh-ed25519, ssh-ecdsa)
The encryption type for the key.
- key: required(string)
The key as a base64 encoded string.
- identifier: required(string)
A comment to identify the key. Usually an email address.
- keytype: required(one of ssh-rsa, ssh-ed25519, ssh-ecdsa)
Example:
{
"keys": [
{
"keytype": "ssh-ed25519",
"key": "AAAAC3NzaC1lZDI1NTE5AAAAIAw5O2cMeS3LPPkNH7J846w00m7TDjuirsdnRMY2FxOM",
"identifier": "user@somehost"
}
]
}
HTTP status code 200
Successful Request
Body
Media type: application/json
Type: object
Properties- message: required(string)
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal Error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /secureShell/keys/user/${username}/authorized
Remove authorized keys for the user. Existing keys must match all of the supplied fields to be removed.
Console Server base authentication scheme
URI Parameters
- username: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- keys: required(array of object)
Items: items
- keytype: (string)
The encryption type for the key.
- key: (string)
The key as a base64 encoded string.
- identifier: (string)
A comment to identify the key. Usually an email address.
- keytype: (string)
Example:
{
"keys": [
{
"keytype": "ssh-ed25519",
"identifier": "user@somehost"
}
]
}
HTTP status code 200
Successful Request
Body
Media type: application/json
Type: object
Properties- message: required(string)
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal Error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/nodeDescription
This endpoint is used to retrieve run-time details about the device
get /nodeDescription
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful Request
Body
Media type: application/json
Type: object
Properties- model_number: required(string)
The model of the Node
- serial_number: required(string)
The serial number of the Node. In some cases, this may not be programatically retrievable. 'N/A' will be returned in that case
- hostname: required(string)
The hostname of the node
- mac_address: required(string)
The MAC address of the NET 1 interface
- firmware_version: required(string)
The version of firmware that the Node is running
- interfaces: required(array of object)
An array of the configured interfaces
Items: items
- name: required(string)
The interface name
- ipv4_addresses: required(array of string)
All IPv4 addresses assigned to the interface
- ipv6_addresses: required(array of string)
All IPv6 addresses assigned to the interface
- name: required(string)
Example:
{
"model_number": "ACM7004-2",
"serial_number": "70000261411598",
"hostname": "acm7004-2",
"interfaces": [
{
"ipv4_addresses": [
"192.168.125.102"
],
"name": "Network",
"ipv6_addresses": [
"fd07:2218:1350:7d::1:8fcb",
"fd07:2218:1350:7d:213:c6ff:fe01:d005",
"fe80::213:c6ff:fe01:d005"
]
},
{
"ipv4_addresses": [
"10.250.100.5"
],
"name": "Management LAN",
"ipv6_addresses": [
"fd07:2218:1350:7d::1:78da",
"fd07:2218:1350:7d:213:c6ff:fe01:d006",
"fe80::213:c6ff:fe01:d006"
]
}
],
"mac_address": "00:13:c6:01:d0:05",
"firmware_version": "4.8.0"
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal Error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/system/version
The system/version endpoint is used to retrieve the system version from the console server
get /system/version
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- system_version: required(object)
- rest_api_version: required(string)
The REST API version e.g. v1.1
- firmware_version: required(string)
The console server firmware version e.g. 4.3.0
- etc_version: required(string)
The contents of /etc/version on console server romfs
- rest_api_version: required(string)
Example:
{
"system_version": {
"etc_version": "OpenGear/ACM700x Version 4.3.0 host:yavin4 branch:branch1 d732a8c4* -- Wednesday 11 July 23:14:11 UTC 2018",
"rest_api_version": "v1.1",
"firmware_version": "4.3.0"
}
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/interfaces
This endpoint is used to list network interfaces (only cellmodem for now)
get /interfaces
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Succesful request
Body
Media type: application/json
Type: array of object
Items: items
- href: required(string)
Interface URI
- id: required(string)
Interface Id
- enabled: required(boolean)
Enabled
- links: required(array of object)
Items: items
- href: required(string)
Link URI
- rel: required(string)
Relationship
- href: required(string)
Example:
[
{
"href": "/api/v1.3/interfaces/cellmodem",
"id": "cellmodem",
"enabled": true,
"links": [
{
"href": "/api/v1.1/interfaces/cellmodem/status",
"rel": "status"
},
{
"href": "/api/v1.1/interfaces/cellmodem/tests",
"rel": "tests"
}
]
}
]
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Cellular modem end-points are nested under here
This endpoint is used to retrieve status data about the cellular modem in the device
get /interfaces/cellmodem/status
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Succesful request
Body
Media type: application/json
Type: object
Properties- interface: required(string)
URI for the interface itself
- enabled: required(boolean)
Is the interface currently enabled
- up: required(boolean)
Is this link currently connected
- passthrough: (object)
Details about whether IP Passthrough is enabled for this interface
- enabled: required(boolean)
Is IP Passthrough enabled
- active: required(boolean)
The current state of IP Passthrough
- enabled: required(boolean)
- ar_controlled: required(boolean)
Is this interface controlled by the Auto-Response system
- failover: (object)
Details about whether failover is enabled to this interface
- enabled: required(boolean)
Is Failover enabled
- active: required(boolean)
Is Failover active
- dormant: required(boolean)
Does the interface stay up when not failed-over to
- enabled: required(boolean)
- links: required(array of object)
The list of physical links
Items: items
- wwan: (object)
Details specifically related to cellmodem connections
- mdn: required(string)
Mobile Directory Number (MDN)
- signalStrength: required(integer)
Signal quality (%)
- rssi: required(integer)
Received Signal Strength Indicator (RSSI)
- technology: required(string)
Access technology
- msid: required(string)
Mobile station ID (MSID)
- failure_reason: required(string)
Failure reason
- carrier: required(string)
Carrier name
- modem_status: required(string)
Modem status
- imei: required(string)
IMEI
- imsi: required(string)
IMSI
- iccid: required(string)
ICCID
- current_bands: required(string)
Current bands
- mdn: required(string)
- wwan: (object)
Example:
{
"interface": "/api/v1.3/interfaces/cellmodem",
"enabled": true,
"up": true,
"passthrough": {
"enabled": true,
"active": true
},
"ar_controlled": false,
"failover": {
"enabled": false,
"dormant": false,
"active": false
},
"links": [
{
"wwan": {
"mdn": "",
"signalStrength": 89,
"technology": "gsm-umts, lte",
"msid": "",
"rssi": -67,
"failure_reason": "none",
"carrier": "Telstra Corp. Ltd.",
"modem_status": "connected",
"imei": "359260080000588",
"imsi": "403013419552809",
"iccid": "29310160092730753632",
"current_bands": "WCDMA 2100 MHz (Class I), WCDMA 3GPP 1800 MHz (Class III), WCDMA 3GPP UMTS 1900 MHz (Class II), WCDMA 3GPP AWS 1700/2100 MHz (Class IV), WCDMA 3GPP UMTS 800 MHz (Class VI), WCDMA 3GPP UMTS 850 MHz (Class V), WCDMA 3GPP UMTS 900 MHz (Class VIII), WCDMA 3GPP UMTS 1700 MHz (Class IX), E-UTRAN band I, E-UTRAN band II, E-UTRAN band III, E-UTRAN band IV, E-UTRAN band V, E-UTRAN band VII, E-UTRAN band VIII, E-UTRAN band IX, E-UTRAN band XII, E-UTRAN band XIII, E-UTRAN band XVIII, E-UTRAN band XIX, E-UTRAN band XX, E-UTRAN band XLI, E-UTRAN band XLI, E-UTRAN band XLIII"
}
}
]
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
This endpoint is used to list available cell modem tests
get /interfaces/cellmodem/tests
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Succesful request
Body
Media type: application/json
Type: array of object
Items: items
- href: required(string)
URI for the interface test
- rel: required(string)
Test name
Example:
[
{
"rel": "ping",
"href": "/api/v1.3/interfaces/cellmodem/tests/ping"
},
{
"rel": "http",
"href": "/api/v1.3/interfaces/cellmodem/tests/http"
},
{
"rel": "dns",
"href": "/api/v1.3/interfaces/cellmodem/tests/dns"
}
]
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
This endpoint is used to test ping on a cellmodem interface
post /interfaces/cellmodem/tests/ping
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- notifyUrl: (array of string)
List of URLs to POST the test result
- expirySeconds: required(number)
The number of seconds before an incomplete test is abandoned
- destination: required(string)
Name or IP for the interface test
HTTP status code 201
Ping test created
Body
Media type: application/json
Type: object
Example:
{}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
This endpoint is used to test HTTP on a cellmodem interface
post /interfaces/cellmodem/tests/http
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- notifyUrl: (array of string)
List of URLs to POST the test result
- expirySeconds: required(number)
The number of seconds before an incomplete test is abandoned
- url: required(string)
URI for the interface test
HTTP status code 201
HTTP test created
Body
Media type: application/json
Type: object
Example:
{}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
This endpoint is used to test DNS on a cellmodem interface
post /interfaces/cellmodem/tests/dns
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- notifyUrl: (array of string)
List of URLs to POST the test result
- expirySeconds: required(number)
The number of seconds before an incomplete test is abandoned
- server: required(string)
Server to query for DNS interface test
HTTP status code 201
DNS test created
Body
Media type: application/json
Type: object
Example:
{}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/backup
This endpoint is used to request a system configuration backup file
get /backup
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
System configuration backup file attached
Body
Media type: application/octet-stream
Type: any
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/eventLogs
This endpoint is used to retrieve the active event log receivers
get /eventLogs
Console Server base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Array of event log descriptors
Body
Media type: application/json
Type: object
Properties- eventlog: required(array of object)
Items: eventLogRef
- id: required(string)
Unique ID for the eventlog. The reserved ID "remote" is managed by the local system.
- href: required(string)
URI to the eventlog
- id: required(string)
Example:
{
"eventlog": [
{
"id": "application@example.com",
"href": "/api/v1.8/eventLogs/remote"
}
]
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
An instance of an event log receiver
get /eventLogs/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successful request
Body
Media type: application/json
Type: object
Properties- eventlog: required(object)
Describes an event log that receives serial port events such as TXDATA, RXDATA, LOGIN, LOGOUT.
- id: required(string)
The event log's unique ID. This is conventionally of the form "owner-type@owner-location[:sub-id]". The legacy, webui-only eventlog configuration has the reserved ID "remote".
- type: required(string)
The eventlog receiver's type. Currently only "syslog" is supported.
- syslog: (object)
The eventlog description, required when the type is "syslog".
- address: required(string)
hostname or IP/IPv6 address, or an URL of the form "tcp://{address}[:port]" or "udp://{address}[:port]". Defaults to port 514.
- address: required(string)
- id: required(string)
Example:
{
"eventlog": {
"id": "application@example.com",
"type": "syslog",
"syslog": {
"address": "syslog.example.com"
}
}
}
HTTP status code 304
Etag matched If-None-Match header
Body
Media type: application/json
Type: object
Example:
example1:
{}
HTTP status code 400
Request data error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to parse request data"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
example1:
{
"error": "Invalid login credentials"
}
HTTP status code 404
Resource not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Resource not found"
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Example:
example1:
{
"error": "Failed to open configuration handle"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /eventLogs/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- eventlog: required(object)
Describes an event log that receives serial port events such as TXDATA, RXDATA, LOGIN, LOGOUT.
- type: required(string)
The eventlog receiver's type. Currently only "syslog" is supported.
- syslog: (object)
The eventlog description, required when the type is "syslog".
- address: required(string)
hostname or IP/IPv6 address, or an URL of the form "tcp://{address}[:port]" or "udp://{address}[:port]". Defaults to port 514.
- address: required(string)
- type: required(string)
Example:
{
"eventlog": {
"type": "syslog",
"syslog": {
"address": "syslog.example.com"
}
}
}
HTTP status code 201
Accepted
Body
Media type: application/json
Type: object
Properties- message: required(string)
HTTP status code 400
Bad request
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /eventLogs/{$id}
Console Server base authentication scheme
URI Parameters
- $id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
Deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(string)
The authentication error string
Example:
{
"error": "Invalid Session ID"
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(string)
An error string
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c