Lighthouse REST API API documentation version v1
https://{lighthousehost}/api/v1
- lighthousehost: required (string)
Lighthouse REST API
This API allows control and inspection of an Opengear Lighthouse management instance.
/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: object
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: object
Example:
{
"error": [
{
"type": 4,
"code": 40,
"text": "Required field 'username' was not provided in the request",
"args": {
"param": "username"
},
"level": 1
},
{
"type": 4,
"code": 40,
"text": "Required field 'password' was not provided in the request",
"args": {
"param": "password"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failed due to invalid credentials or session.
Body
Media type: application/json
Type: object
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.
Lighthouse 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 400
Session does not exist
Body
Media type: application/json
Type: object
Properties- state: required (string)
- session: required (string)
- user: (string)
- last_challenge: (string)
Example:
{
"state": "unknown",
"session": "4cf7ff89791062c2eddcbb7778d532a"
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Session does not exist
Body
Media type: application/json
Type: object
Example:
{
"state": "unknown",
"session": "4cf7ff89791062c2eddcbb7778d532a"
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /sessions/{sessionUid}
Apply a challenge response to a session
Lighthouse 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 (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
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 (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /sessions/{sessionUid}
Log out of and delete a session
Lighthouse 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 (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Session did not exist
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/nodes
Creating/registering and viewing the state of console server nodes.
Gets nodes attached to this lighthouse instance.
Any number of search query parameters can be provided to perform an ANDed search on the nodes. The parameters possible should be retrieved with GET /nodes/fields. The list provided is dynamic.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested. A node response will also contain a list of tags, which represents the user-editable attributes assigned to this node.
Enqueue a new node for enrollment. This can either be a direct (Lighthouse-driven) enrollment, or a enrollment request by a new node ("call-home"). The "call-home" parameter in the enrollment request body dictates what style it should be. If true, the request is not authenticated with a sesstion token (ie. from the web UI), but an enrollment request token. The caller should also pass a hostname to be used for the node name, and can optionally pass a bundle identifier to request enrollment against a specific bundle. If the enrollment is not "call-home", but directly driven from the Lighthouse, the request should be in an authenticted session, and provide the node details (name, address, username, password and auto-approve). The address must be a valid IPv4 address.
get /nodes
Gets nodes attached to this lighthouse instance.
Any number of search query parameters can be provided to perform an ANDed search on the nodes. The parameters possible should be retrieved with GET /nodes/fields. The list provided is dynamic.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested. A node response will also contain a list of tags, which represents the user-editable attributes assigned to this node.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Number of nodes expected per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- searchparameters: (string)
One or more search fields as provided by /nodes/fields
- json: (string)
One or more json URL encoded search parameters.
Example %7B%22type%22%3A1%2C%22items%22%3A%5B%7B%22datatype%22%3A4 %2C%22type%22%3A3%2C%22oper%22%3A1%2C%22fieldname%22%3A%22 config%3Aname%22%2C%22value%22%3A%22test%22%7D%5D%7D
which is the URL encoded json
{type:1,items:[{"datatype":4,type:3,"oper":1,"fieldname":"config:name","value":"test"}]}
- jb64: (string)
one or more base64 encoded json search parameters.
Ensure that any trailing = padding is URL encoded to %3D
- operator: (string - default: AND)
Operator applied between all searchparameters, json and jb64 query parameters.
AND or OR
- searchId: (string)
Lighthouse maintains search results for a limited timespan, which allows the user to paginate through results. The searchId is returned in meta data of a normal search and can then be used as a parameter to retrieve the same results. When searchId is used, no other search parameter may be included, only page and per_page can be used to proceed through pagination.
HTTP status code 200
The array of nodes, either a full or as requested by parameters
Body
Media type: application/json
Type: object
Properties- nodes: required (array of items)
Items: items
- status: required (one of Enrolled, Registering, Registered, Unknown, Pending)
- name: required (string)
- id: required (string)
- lhvpn_address: required (string)
- runtime_status: required (object)
- change_time: required (integer)
- action_status: required (one of in progress, finished, error, unknown)
- id: required (string)
- action_type: required (one of registration, enrollment, none)
- connection_status: required (one of connected, pending, disconnected, unknown, never seen)
- action_error_message: required (string)
- ports: required (array of items)
Items: items
- id: required (string)
- label: required (string)
- mode: required (one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- proxied_ssh_url: required (string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- tag_list: required (object)
- id: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- model: required (string)
- firmware_version: required (string)
- mac_address: required (string)
- serial_number: required (string)
- enrollment_bundle: required (string)
- interfaces: required (array of items)
Items: items
- name: required (string)
- ipv4_addr: required (string)
- ipv6_addr: required (string)
- meta: required (object)
- searchId: (string)
- total_pages: required (integer)
Example:
{
"nodes": [
{
"name": "test",
"id": "nodes-1",
"lhvpn_address": "192.168.128.2",
"runtime_status": {
"change_time": 0,
"action_status": "unknown",
"id": "nodes-1",
"action_type": "none",
"connection_status": "unknown",
"action_error_message": ""
},
"tag_list": {
"id": "nodes-1",
"tags": [
{
"id": "nodes_tags-4",
"name": "Location",
"value": "Hong Kong"
}
],
"rights": {
"create": true,
"modify": true,
"delete": true
}
},
"ports": [
{
"id": "port1",
"label": "User Label",
"mode": "disabled",
"proxied_ssh_url": ""
}
],
"status": "Enrolled",
"rights": {
"delete": true,
"modify": true
},
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:47:99",
"serial_number": "70000002451668",
"model": "ACM7004-5-LMR",
"interfaces": [],
"firmware_version": "4.0.0"
},
{
"name": "test3",
"id": "nodes-2",
"lhvpn_address": "192.168.128.3",
"runtime_status": {
"change_time": 1471516371,
"action_status": "error",
"id": "nodes-2",
"action_error_message": "Failed to contact node.",
"action_type": "registration",
"connection_status": "never seen"
},
"ports": [
{
"id": "port1",
"label": "User Label",
"mode": "disabled",
"proxied_ssh_url": ""
}
],
"tag_list": {
"id": "nodes-1",
"tags": [],
"rights": {
"create": true,
"modify": true,
"delete": true
}
},
"status": "Registering",
"rights": {
"delete": true,
"modify": true
},
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:5a:d5",
"serial_number": "71480488331675",
"model": "CM7148-2-DAC",
"interfaces": [],
"firmware_version": "4.0.0"
}
],
"meta": {
"total_pages": 1
}
}
HTTP status code 400
Invalid request, missing or incorrect page/per_page
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
},
{
"type": 4,
"code": 48,
"text": "Invalid parameter 'config:nam' was provided",
"args": {
"param": "config:nam"
},
"level": 1
},
{
"type": 2,
"code": 49,
"text": "Invalid json '{\"type\":1,\"items\":{\"datatype\":4,\"type\":3,\"oper\":1,\"fieldname\":\"config:name\",\"value\":\"test\"}]}' for parameter 'json'",
"args": {
"line": "1",
"position": "92",
"value": "{\"type\":1,\"items\":{\"datatype\":4,\"type\":3,\"oper\":1,\"fieldname\":\"config:name\",\"value\":\"test\"}]}",
"column": "92",
"error": "'}' expected near ']'",
"param": "json"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Invalid request, Incomplete data, Node not found, Failure during retrieval of nodes
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Failed to read nodes.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /nodes
Enqueue a new node for enrollment. This can either be a direct (Lighthouse-driven) enrollment, or a enrollment request by a new node ("call-home"). The "call-home" parameter in the enrollment request body dictates what style it should be. If true, the request is not authenticated with a sesstion token (ie. from the web UI), but an enrollment request token. The caller should also pass a hostname to be used for the node name, and can optionally pass a bundle identifier to request enrollment against a specific bundle. If the enrollment is not "call-home", but directly driven from the Lighthouse, the request should be in an authenticted session, and provide the node details (name, address, username, password and auto-approve). The address must be a valid IPv4 address.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- enrollment: required (object)
- product: (string)
- call_home: (boolean)
- hostname: (string)
- bundle: (string)
- token: (string)
- name: (string)
- address: (string)
- username: (string)
- password: (string)
- auto_approve: (boolean)
- connection_method: (string)
- base_port: (integer)
- port_count: (integer)
- port_labels: (array of items)
Examples:
example1:
{
"enrollment": {
"product": "opengear",
"call_home": true,
"token": "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456",
"bundle": "console-servers",
"hostname": "acm7004-5"
}
}
example2:
{
"enrollment": {
"product": "opengear",
"call_home": false,
"name": "bne-7004-backup",
"address": "1.2.3.4",
"username": "root",
"password": "default",
"auto_approve": true
}
}
example3:
{
"enrollment": {
"product": "generic",
"name": "bne-7004-backup",
"address": "1.2.3.4",
"connection_method": "ssh",
"username": "root",
"password": "default",
"auto_approve": true,
"base_port": 2100,
"port_count": 2,
"port_labels": [
"Port 1",
"Port 2"
]
}
}
HTTP status code 202
Enrollment initiated, but not yet complete. Client can poll for registration package using given UUID and enrollment package password.
Body
Media type: application/json
Type: object
Example:
{
"message": "Enrollment initiated: new registration package will be available soon",
"uuid": "{uuid}",
"package_password": "{package_password}"
}
HTTP status code 303
Redirect to new node session
Body
Media type: application/json
Type: object
Example:
{
"message": "Redirecting to new node at {redirect-url}"
}
HTTP status code 400
Invalid request, or error with supplied data (eg. incorrect IP address)
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 500
Unexpected error, including failure to start enrollment due to internal error.
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 2,
"code": 26,
"text": "Duplicate 'name' fields with value 'test'",
"args": {
"value": "test",
"uuid": "root-1-@nodes",
"field": "name"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a list of node smart groups
Create a new node smart group
get /nodes/smartgroups
Retrieve a list of node smart groups
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
A list of nodes
Body
Media type: application/json
Type: object
Example:
{
"meta": {
"total_pages": 1
},
"smartgroups": [
{
"id": "smart_groups_node_groups-1",
"name": "X",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
},
{
"id": "smart_groups_node_groups-5",
"name": "X3",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
},
{
"id": "smart_groups_node_groups-6",
"name": "X4",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
},
{
"id": "smart_groups_node_groups-7",
"name": "X9",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
},
{
"id": "smart_groups_node_groups-8",
"name": "X11",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 500
Unexpected error
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /nodes/smartgroups
Create a new node smart group
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"name": "X9",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 200
Smartgroup created successfully.
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_nodes_groups-4",
"rights": {
"delete": true,
"modify": true
},
"name": "X9",
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 303
Redirect to newly created smartgroup.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the details for a smart group.
Delete a smart group.
Updates the details for a smart group.
get /nodes/smartgroups/{groupId}
Retrieve the details for a smart group.
Lighthouse base authentication scheme
URI Parameters
- groupId: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Group exists
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_node_groups-1",
"name": "X",
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Smartgroup does not exist
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /nodes/smartgroups/{groupId}
Delete a smart group.
Lighthouse base authentication scheme
URI Parameters
- groupId: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The group was deleted succesfully.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Smartgroup does not exist
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /nodes/smartgroups/{groupId}
Updates the details for a smart group.
Lighthouse base authentication scheme
URI Parameters
- groupId: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"name": "X9",
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 200
Succesfully updated
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_node_groups-1",
"name": "X",
"query": "{\"type\": 2, \"fieldname\": \"config:blah\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 400
Request data was not valid or incomplete
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Smartgroup does not exist
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Download the system manifest file
get /nodes/manifest
Download the system manifest file
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The manifest file
Body
Media type: text/plain
Type: object
Example:
address=192.168.0.1 password=enrollmentToken
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
No manifest file is available
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Find a node by unique ID
Update a node
Delete (unenroll) a node.
get /nodes/{id}
Find a node by unique ID
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
Headers
- Authorization: required (string)
authorization session token
Example:
Token {{sessionUid}}
HTTP status code 200
The requested node
Body
Media type: application/json
Type: object
Properties- node: required (object)
- status: required (one of Enrolled, Registering, Registered, Unknown, Pending)
- name: required (string)
- id: required (string)
- lhvpn_address: required (string)
- runtime_status: required (object)
- change_time: required (integer)
- action_status: required (one of in progress, finished, error, unknown)
- id: required (string)
- action_type: required (one of registration, enrollment, none)
- connection_status: required (one of connected, pending, disconnected, unknown, never seen)
- action_error_message: required (string)
- tag_list: required (object)
- id: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- model: required (string)
- firmware_version: required (string)
- mac_address: required (string)
- serial_number: required (string)
- enrollment_bundle: required (string)
- interfaces: required (array of items)
Items: items
- name: required (string)
- ipv4_addr: required (string)
- ipv6_addr: required (string)
Example:
{
"node": {
"name": "test1",
"id": "nodes-1",
"lhvpn_address": "192.168.128.2",
"runtime_status": {
"change_time": 1471950616,
"action_status": "in progress",
"id": "nodes-1",
"action_error_message": "",
"action_type": "registration",
"connection_status": "never seen"
},
"tag_list": {
"id": "nodes-1",
"tags": [
{
"id": "nodes_tags-4",
"name": "Location",
"value": "Hong Kong"
}
],
"rights": {
"create": true,
"modify": true,
"delete": true
}
},
"rights": {
"delete": false,
"modify": true
},
"status": "Registering",
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:47:99",
"serial_number": "70000002451668",
"model": "ACM7004-5-LMR",
"interfaces": [],
"firmware_version": "4.0.0"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node does not exist
HTTP status code 500
Unexpected error
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /nodes/{id}
Update a node
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- node: required (object)
- name: required (string)
- mac_address: required (string)
- description: required (string)
- approved: required (integer)
- tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
Example:
{
"node": {
"name": "test1",
"mac_address": "AA:BB:CC:DD:EE:FF",
"description": "Test Node",
"approved": 0,
"tags": [
{
"id": "nodes_tags-4",
"name": "Location",
"value": "Hong Kong"
}
]
}
}
HTTP status code 200
The updated node
Body
Media type: application/json
Type: object
Properties- node: required (object)
- status: required (one of Enrolled, Registering, Registered, Unknown, Pending)
- name: required (string)
- id: required (string)
- lhvpn_address: required (string)
- runtime_status: required (object)
- change_time: required (integer)
- action_status: required (one of in progress, finished, error, unknown)
- id: required (string)
- action_type: required (one of registration, enrollment, none)
- connection_status: required (one of connected, pending, disconnected, unknown, never seen)
- action_error_message: required (string)
- tag_list: required (object)
- id: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- model: required (string)
- firmware_version: required (string)
- mac_address: required (string)
- serial_number: required (string)
- enrollment_bundle: required (string)
- interfaces: required (array of items)
Items: items
- name: required (string)
- ipv4_addr: required (string)
- ipv6_addr: required (string)
Example:
{
"node": {
"name": "test1",
"id": "nodes-1",
"lhvpn_address": "192.168.128.2",
"runtime_status": {
"change_time": 1471950616,
"action_status": "in progress",
"id": "nodes-1",
"action_error_message": "",
"action_type": "registration",
"connection_status": "never seen"
},
"tag_list": {
"id": "nodes-1",
"tags": [],
"rights": {
"create": true,
"modify": true,
"delete": true
}
},
"rights": {
"delete": false,
"modify": true
},
"status": "Registering",
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:47:99",
"serial_number": "70000002451668",
"model": "ACM7004-5-LMR",
"interfaces": [],
"firmware_version": "4.0.0"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /nodes/{id}
Delete (unenroll) a node.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 204
The node was deleted successfully.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the enrollment package for a node.
get /nodes/{id}/registration_package
Retrieve the enrollment package for a node.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The requested enrollment package
Body
Media type: application/json
Type: object
Properties- cert: required (string)
- key: required (string)
- ca: required (string)
- address: required (string)
- ignore_date_header: required (boolean)
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node does not exist
HTTP status code 500
Registration package not available for this node
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 5,
"code": 45,
"text": "Registration package is not currently available for this node",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Each node can have a list of tags associated with it. These tags are references to a global list of tags, allowing for the grouping of nodes. For example one can group nodes into geographical location by assigning multiple nodes with a tag (tag="Location", value="New York").
Get the list of all tags associated with this node.
Create and associate a new tag with the node. If the tag exists update or set the value. If no value is given, or the value is emplty, the value will be set to null.
get /nodes/{id}/tags
Get the list of all tags associated with this node.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The requested enrollment package
Body
Media type: application/json
Type: object
Properties- tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
Example:
{
"tags": [
{
"id": "nodes_tags-1",
"name": "myTag",
"value": "my tag value"
},
{
"id": "nodes_tags-2",
"name": "myTag2",
"value": ""
},
{
"id": "nodes_tags-3",
"name": "myTag3",
"value": "another value"
}
]
}
HTTP status code 400
Incomplete data.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node does not exist.
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /nodes/{id}/tags
Create and associate a new tag with the node. If the tag exists update or set the value. If no value is given, or the value is emplty, the value will be set to null.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- tag: required (object)
- name: required (string)
- value: required (string)
Example:
{
"tag": {
"name": "Location",
"value": "New York"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
Example:
{
"tags": [
{
"id": "nodes_tags-1",
"name": "Location",
"value": "New York"
}
]
}
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: name item missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get a tag's information by ID.
Delete a tag value from the node.
Update tag information for {node_tag_id} in node {id}
get /nodes/{id}/tags/{tag_value_id}
Get a tag's information by ID.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
- tag_value_id: required (string)
Identifier for unique tag within given node
Example:
nodes_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Tag information in node with {id} and tag identification {tag_value_id} successfully retrieved.
Body
Media type: application/json
Type: object
Example:
example1:
{
"tag": {
"id": "nodes_tags-1",
"name": "Location",
"value": "New York"
}
}
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: node id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /nodes/{id}/tags/{tag_value_id}
Delete a tag value from the node.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
- tag_value_id: required (string)
Identifier for unique tag within given node
Example:
nodes_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The {tag_value_id} tag information was deleted.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: node id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'nodes_tags-0'",
"args": {
"uuid": "nodes_tags-0"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /nodes/{id}/tags/{tag_value_id}
Update tag information for {node_tag_id} in node {id}
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the node.
Example:
nodes-1
- tag_value_id: required (string)
Identifier for unique tag within given node
Example:
nodes_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- tag: required (object)
- name: required (string)
- value: required (string)
Example:
{
"tag": {
"name": "Location",
"value": "USA.NewYork"
}
}
HTTP status code 200
The {tag_value_id} tag information was updated.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: node id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'nodes_tags-0'",
"args": {
"uuid": "nodes_tags-0"
},
"level": 1
}
]
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Obtain a list of node ids, for example /nodes/ids?config:name=test.
Any number of search query parameters can be provided to perform an ANDed search on the nodes. The parameters possible should be retrieved with GET /nodes/fields. The list provided is dynamic.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested.
get /nodes/ids
Obtain a list of node ids, for example /nodes/ids?config:name=test.
Any number of search query parameters can be provided to perform an ANDed search on the nodes. The parameters possible should be retrieved with GET /nodes/fields. The list provided is dynamic.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
authorization session token
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Number of nodes expected per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- searchparameters: (string)
One or more search fields as provided by /nodes/fields
- json: (string)
One or more json URL encoded search parameters.
Example %7B%22type%22%3A1%2C%22items%22%3A%5B%7B%22datatype%22%3A4 %2C%22type%22%3A3%2C%22oper%22%3A1%2C%22fieldname%22%3A%22 config%3Aname%22%2C%22value%22%3A%22test%22%7D%5D%7D
which is the URL encoded json
{type:1,items:[{"datatype":4,type:3,"oper":1,"fieldname":"config:name","value":"test"}]}
- jb64: (string)
one or more base64 encoded json search parameters.
Ensure that any trailing = padding is URL encoded to %3D
- operator: (string - default: AND)
Operator applied between all searchparameters, json and jb64 query parameters.
AND or OR
- searchId: (string)
Lighthouse maintains search results for a limited timespan, which allows the user to paginate through results. The searchId is returned in meta data of a normal search and can then be used as a parameter to retrieve the same results. When searchId is used, no other search parameter may be included, only page and per_page can be used to proceed through pagination.
HTTP status code 200
The list of search fields
Body
Media type: application/json
Type: object
Properties- nodes: required (array of items)
- meta: required (object)
- searchId: (string)
- total_pages: required (integer)
Example:
{
"nodes": [
"nodes-1",
"nodes-2",
"nodes-3",
"nodes-4",
"nodes-5"
],
"meta": {
"searchId": "{150f460-743e-11e6-baab-080027032960",
"total_pages": 1
}
}
HTTP status code 400
Invalid request: Missing or incorrect page/per_page. Invalid Condition value. Invalid search parameter. Invalid json/jb64 parameter.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 48,
"text": "Invalid parameter 'config:nam' was provided",
"args": {
"param": "config:nam"
},
"level": 1
},
{
"type": 2,
"code": 49,
"text": "Invalid json '{\"type\":1,\"items\":{\"datatype\":4,\"type\":3,\"oper\":1,\"fieldname\":\"config:name\",\"value\":\"test\"}]}' for parameter 'json'",
"args": {
"line": "1",
"position": "92",
"value": "{\"type\":1,\"items\":{\"datatype\":4,\"type\":3,\"oper\":1,\"fieldname\":\"config:name\",\"value\":\"test\"}]}",
"column": "92",
"error": "'}' expected near ']'",
"param": "json"
},
"level": 1
},
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 500
Unexpected error
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Obtain a list of fields which can be used to perform queries against nodes.
get /nodes/fields
Obtain a list of fields which can be used to perform queries against nodes.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
authorization session token
Example:
Token {{sessionUid}}
HTTP status code 200
The list of search fields
Body
Media type: application/json
Type: object
Properties- fields: required (array of items)
Example:
{
"fields": [
"config:common_name",
"config:description",
"config:lhvpn_address",
"config:mac_address",
"config:name",
"config:status",
"config:ssh_port",
"port:attachedDeviceType",
"port:hardwareSettings_pinout",
"port:hardwareSettings_protocol",
"port:hardwareSettings_uart_baud",
"port:hardwareSettings_uart_dataBits",
"port:hardwareSettings_uart_flowControl",
"port:hardwareSettings_uart_parity",
"port:hardwareSettings_uart_stopBits",
"port:hardwareType",
"port:id",
"port:label",
"port:logging_facility",
"port:logging_level",
"port:logging_priority",
"port:mode",
"port:modeSettings_bridge_rfc2217",
"port:modeSettings_bridge_server_address",
"port:modeSettings_bridge_server_port",
"port:modeSettings_bridge_sshTunnel",
"port:modeSettings_consoleServer_general_accumulateMS",
"port:modeSettings_consoleServer_general_escapeChar",
"port:modeSettings_consoleServer_general_powerMenuEnabled",
"port:modeSettings_consoleServer_general_replaceBackspace",
"port:modeSettings_consoleServer_portShare_authentication",
"port:modeSettings_consoleServer_portShare_enabled",
"port:modeSettings_consoleServer_portShare_encryption",
"port:modeSettings_consoleServer_portShare_password",
"port:modeSettings_consoleServer_rfc2217_enabled",
"port:modeSettings_consoleServer_ssh_enabled",
"port:modeSettings_consoleServer_tcp_enabled",
"port:modeSettings_consoleServer_telnet_enabled",
"port:modeSettings_consoleServer_telnet_unauthenticated",
"port:modeSettings_consoleServer_webShell_enabled",
"port:modeSettings_sdtServer_password",
"port:modeSettings_sdtServer_username",
"port:modeSettings_terminalServer_terminalType",
"port:nagios_enabled",
"port:nagios_name",
"port:nagios_portLogging",
"port:nagios_serialStatus"
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 500
Unexpected error
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a list of all ports belonging to a node.
get /nodes/{id}/ports
Retrieve a list of all ports belonging to a node.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The list of ports belonging to the node
Body
Media type: application/json
Type: object
Properties- ports: required (array of getPortByIdResponse)
Items: getPortByIdResponse
- webshell_enabled: required (boolean)
- port_csid: required (string)
- mode: required (one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- proxied_ssh_url: required (string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- runtime_status: required (object)
- change_time: required (integer)
- change_delta: required (integer)
- action_status: required (one of in progress, finished, error, unknown)
- id: required (string)
- action_type: required (one of registration, enrollment, none)
- connection_status: required (one of connected, pending, disconnected, unknown, never seen)
- action_error_message: (string)
- ssh_enabled: required (boolean)
- label: required (string)
- id: required (string)
- web_terminal_url: required (string)
- node_name: required (string)
- meta: required (object)
- searchId: (string)
- total_pages: required (integer)
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/ports
Used for working with port information.
Gets ports attached to this lighthouse instance.
Any number of search query parameters can be provided to perform an ANDed search on the ports.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested.
get /ports
Gets ports attached to this lighthouse instance.
Any number of search query parameters can be provided to perform an ANDed search on the ports.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Number of ports expected per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- searchparameters: (string)
One or more search fields
- json: (string)
One or more json URL encoded search parameters.
Example %7B%22type%22%3A1%2C%22items%22%3A%5B%7B%22datatype%22%3A4 %2C%22type%22%3A3%2C%22oper%22%3A1%2C%22fieldname%22%3A%22 config%3Aname%22%2C%22value%22%3A%22test%22%7D%5D%7D
which is the URL encoded json
{type:1,items:[{"datatype":4,type:3,"oper":1,"fieldname":"config:name","value":"test"}]}
- jb64: (string)
one or more base64 encoded json search parameters.
Ensure that any trailing = padding is URL encoded to %3D
- operator: (string - default: AND)
Operator applied between all searchparameters, json and jb64 query parameters.
AND or OR
- searchId: (string)
Lighthouse maintains search results for a limited timespan, which allows the user to paginate through results. The searchId is returned in meta data of a normal search and can then be used as a parameter to retrieve the same results. When searchId is used, no other search parameter may be included, only page and per_page can be used to proceed through pagination.
HTTP status code 200
The array of ports, either a full array or as requested by parameters
Body
Media type: application/json
Type: object
Properties- ports: required (array of getPortByIdResponse)
Items: getPortByIdResponse
- webshell_enabled: required (boolean)
- port_csid: required (string)
- mode: required (one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- proxied_ssh_url: required (string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- runtime_status: required (object)
- change_time: required (integer)
- change_delta: required (integer)
- action_status: required (one of in progress, finished, error, unknown)
- id: required (string)
- action_type: required (one of registration, enrollment, none)
- connection_status: required (one of connected, pending, disconnected, unknown, never seen)
- action_error_message: (string)
- ssh_enabled: required (boolean)
- label: required (string)
- id: required (string)
- web_terminal_url: required (string)
- node_name: required (string)
- meta: required (object)
- searchId: (string)
- total_pages: required (integer)
Example:
{
"ports": [
{
"proxied_ssh_url": "ssh://user:node1:port1@192.168.0.1",
"label": "Port 01",
"id": "nodes_ports-1",
"node_name": "node1",
"webshell_enabled": false,
"web_terminal_url": "manage/nodes/ports/terminal/node1/port1?name=Port_01",
"port_csid": "port1",
"mode": "consoleServer",
"runtime_status": {
"change_delta": 14,
"change_time": 1498603761,
"action_status": "in progress",
"id": "nodes-12",
"action_type": "none",
"connection_status": "connected"
},
"ssh_enabled": true
}
],
"meta": {
"searchId": "{4648d82-5b8a-11e7-a476-773c6172a34}",
"total_pages": 5
}
}
HTTP status code 400
Invalid request, missing or incorrect page/per_page
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
},
{
"type": 4,
"code": 48,
"text": "Invalid parameter 'config:nam' was provided",
"args": {
"param": "config:nam"
},
"level": 1
},
{
"type": 2,
"code": 49,
"text": "Invalid json '{\"type\":1,\"items\":{\"datatype\":4,\"type\":3,\"oper\":1,\"fieldname\":\"config:name\",\"value\":\"test\"}]}' for parameter 'json'",
"args": {
"line": "1",
"position": "92",
"value": "{\"type\":1,\"items\":{\"datatype\":4,\"type\":3,\"oper\":1,\"fieldname\":\"config:name\",\"value\":\"test\"}]}",
"column": "92",
"error": "'}' expected near ']'",
"param": "json"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Invalid request, Incomplete data, Port not found, Failure during retrieval of ports
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Failed to read ports.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a single port by ID.
get /ports/{id}
Retrieve a single port by ID.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns properties for a single port.
Body
Media type: application/json
Type: object
Properties- webshell_enabled: required (boolean)
- port_csid: required (string)
- mode: required (one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- proxied_ssh_url: required (string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- runtime_status: required (object)
- change_time: required (integer)
- change_delta: required (integer)
- action_status: required (one of in progress, finished, error, unknown)
- id: required (string)
- action_type: required (one of registration, enrollment, none)
- connection_status: required (one of connected, pending, disconnected, unknown, never seen)
- action_error_message: (string)
- ssh_enabled: required (boolean)
- label: required (string)
- id: required (string)
- web_terminal_url: required (string)
- node_name: required (string)
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/search
Used to perform searches on nodes and ports on the system.
Creating a search ID for nodes from the given query parameters.
Gets a search ID for searching nodes attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the nodes. The parameters possible should be retrieved with GET /nodes/fields. The list provided is dynamic.
get /search/nodes
Gets a search ID for searching nodes attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the nodes. The parameters possible should be retrieved with GET /nodes/fields. The list provided is dynamic.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- json: (string)
One or more json URL encoded search parameters. Example %7B%22type%22%3A1%2C%22items%22%3A%5B%7B%22datatype%22%3A4 %2C%22type%22%3A3%2C%22oper%22%3A1%2C%22fieldname%22%3A%22 config%3Aname%22%2C%22value%22%3A%22test%22%7D%5D%7D which is the URL encoded json {type:1,items:[{"datatype":4,type:3,"oper":1,"fieldname":"config:name","value":"test"}]}
- jb64: (string)
one or more base64 encoded json search parameters. Ensure that any trailing = padding is URL encoded to %3D
- searchparameters: (string)
One or more search fields as provided by /nodes/fields. For example, config:name=*test*, will search for nodes with names containing test, or config:status=!Enrolled will search for nodes which are not enrolled. Allowed operators are: =value, >value, >=value, <value, <=value, !value (not), *value (ends in), value* (starts with), *value* (contains). Reserved characters to be URl encoded, e.g. = as %3D
- operator: (string - default: AND)
Operator applied between all searchparameters, json and jb64 query parameters. AND or OR
HTTP status code 200
The search ID, as defined by given parameters
Body
Media type: application/json
Type: object
Properties- search: required (object)
- id: required (string)
Example:
{
"search": {
"id": "{268daae-5555-11e7-8af6-b7116753aa5}"
}
}
HTTP status code 400
Invalid request, missing or incorrect search parameters.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Invalid request, Incomplete data.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Failed to retrieve a search ID.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Creating a search ID for ports from the given query parameters.
Gets a search ID for searching ports attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the ports. The list provided is dynamic.
get /search/ports
Gets a search ID for searching ports attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the ports. The list provided is dynamic.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- json: (string)
One or more json URL encoded search parameters. Example %7B%22type%22%3A1%2C%22items%22%3A%5B%7B%22datatype%22%3A4 %2C%22type%22%3A3%2C%22oper%22%3A1%2C%22fieldname%22%3A%22 config%3Aname%22%2C%22value%22%3A%22test%22%7D%5D%7D which is the URL encoded json {type:1,items:[{"datatype":4,type:3,"oper":1,"fieldname":"config:label","value":"test"}]}
- jb64: (string)
one or more base64 encoded json search parameters. Ensure that any trailing = padding is URL encoded to %3D
- searchparameters: (string)
One or more search fields. For example, config:label=*test*, will search for ports with labels containing test. Allowed operators are: =value, >value, >=value, <value, <=value, !value (not), *value (ends in), value* (starts with), *value* (contains). Reserved characters to be URl encoded, e.g. = as %3D
- operator: (string - default: AND)
Operator applied between all searchparameters, json and jb64 query parameters. AND or OR
HTTP status code 200
The search ID, as defined by given parameters
Body
Media type: application/json
Type: object
Properties- search: required (object)
- id: required (string)
Example:
{
"search": {
"id": "{268daae-5555-11e7-8af6-b7116753aa5}"
}
}
HTTP status code 400
Invalid request, missing or incorrect search parameters.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Invalid request, Incomplete data.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Failed to retrieve a search ID.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/services
Used for working with the properties of the various services running on the system.
Provides access to the SSL certificate used by web services on the device.
Fetch HTTPS certificate details, or a CSR file if the zip flag is set.
Update HTTPS details. A certificate matching the CSR can be uploaded by setting the https.cert field, a CSR can be cancelled by sending through no https.csr body, and a new csr can be created by sending through a https.csr body with a csr value of "new".
get /services/https
Fetch HTTPS certificate details, or a CSR file if the zip flag is set.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- zip: (boolean - default: false)
A flag to download the CSR instead of view the details
HTTP status code 200
Returns the certificate currently in use by the server, as well as details about any current CSR.
Body
Media type: application/json
Type: object
Example:
{
"https": {
"valid_from": "Sep 21 00:39:03 2016 GMT",
"valid_to": "Sep 21 00:39:03 2016 GMT",
"common_name": "CName",
"country": "AU",
"locality": "Toowong",
"org_unit": "OU",
"email": "bob@bob.com",
"organization": "Internet Widgits Pty Ltd",
"key_length": 2048,
"cert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----",
"csr": {
"country": "AU",
"challenge_password": "aaa",
"common_name": "aa",
"state": "ee",
"locality": "dd",
"email": "bob@bob.com",
"key_length": 512
},
"key": "-----BEGIN PRIVATE KEY-----..."
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/https
Update HTTPS details. A certificate matching the CSR can be uploaded by setting the https.cert field, a CSR can be cancelled by sending through no https.csr body, and a new csr can be created by sending through a https.csr body with a csr value of "new".
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"https": {
"key_length": 2048,
"cert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----",
"csr": {
"country": "AU",
"challenge_password": "aaa",
"common_name": "aa",
"state": "ee",
"locality": "dd",
"key_length": 2048,
"email": "bob@bob.com"
},
"key": "-----BEGIN PRIVATE KEY-----..."
}
}
HTTP status code 200
Returns the updated HTTPS server details
Body
Media type: application/json
Type: object
Example:
{
"https": {
"valid_from": "Sep 21 00:39:03 2016 GMT",
"valid_to": "Sep 21 00:39:03 2016 GMT",
"common_name": "CName",
"country": "AU",
"locality": "Toowong",
"org_unit": "OU",
"email": "bob@bob.com",
"organization": "Internet Widgits Pty Ltd",
"key_length": 2048,
"cert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----",
"csr": {
"country": "AU",
"challenge_password": "aaa",
"common_name": "aa",
"state": "ee",
"locality": "dd",
"email": "bob@bob.com",
"key_length": 512
},
"key": "-----BEGIN PRIVATE KEY-----..."
}
}
HTTP status code 400
Returns an error after the operation failed due to invalid user input.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 2,
"code": 14,
"text": " String did not conform to the expected format.",
"args": {
"uuid": "root-1-services_https_csr_email"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Returns an error after the operation failed.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 2,
"code": 14,
"text": " String did not conform to the expected format.",
"args": {
"uuid": "root-1-services_https_csr_email"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Provides access to the NTP client configuration on the system.
Fetch NTP client configuration.
Update NTP client configuration, including enabling/disabling the NTP service.
get /services/ntp
Fetch NTP client configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns the current NTP configuration.
Body
Media type: application/json
Type: object
Example:
{
"ntp": {
"enabled": true,
"servers": [
{
"id": "services_ntp_servers-0",
"value": "0.au.pool.ntp.org"
},
{
"id": "services_ntp_servers-1",
"value": "1.au.pool.ntp.org"
}
],
"id": "services_ntp"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/ntp
Update NTP client configuration, including enabling/disabling the NTP service.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"ntp": {
"enabled": true,
"servers": [
{
"id": "services_ntp_servers-0",
"value": "0.au.pool.ntp.org"
},
{
"id": "services_ntp_servers-1",
"value": "2.au.pool.ntp.org"
},
{
"id": null,
"value": "3.au.pool.ntp.org"
}
],
"id": "services_ntp"
}
}
HTTP status code 200
Returns the updated NTP configuration.
Body
Media type: application/json
Type: object
Example:
{
"ntp": {
"enabled": true,
"servers": [
{
"id": "services_ntp_servers-0",
"value": "0.au.pool.ntp.org"
},
{
"id": "services_ntp_servers-1",
"value": "2.au.pool.ntp.org"
},
{
"id": null,
"value": "3.au.pool.ntp.org"
}
],
"id": "services_ntp"
}
}
HTTP status code 400
Returns an error after the operation failed due to invalid request.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 40,
"text": "Required field 'server-1' was not provided in the request",
"args": {
"param": "server-1"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Error saving NTP configuration.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 2,
"code": 25,
"text": "'' is not a valid hostname",
"args": {
"address": "",
"uuid": "services_ntp_servers-0"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Requests config parameters related to the Console Gateway service.
Update config parameters related to the Console Gateway service.
get /services/console_gateway
Requests config parameters related to the Console Gateway service.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- console_gateway: required (object)
- ssh_url_delimiter: required (string)
Example:
{
"console_gateway": {
"ssh_url_delimiter": ":"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/console_gateway
Update config parameters related to the Console Gateway service.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"console_gateway": {
"ssh_url_delimiter": ":"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- console_gateway: required (object)
- ssh_url_delimiter: required (string)
Example:
{
"console_gateway": {
"ssh_url_delimiter": ":"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/tags
Tags are a user definable set of name/value pairs which can be assigned to Lighthouse system objects like nodes.
Provides the ability to retrieve and manipulate all tags associated with Lighthouse nodes.
Returns the global tag list and associated values. Each associated name/value pair can be referenced from any node by using nodes/:id/tags/:tag_value_id.
Create a global node tag
get /tags/node_tags
Returns the global tag list and associated values. Each associated name/value pair can be referenced from any node by using nodes/:id/tags/:tag_value_id.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Number of tags expected per page
- page: (integer - default: 1)
The page to return (indexed from 1)
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- meta: required (object)
- searchId: (string)
- total_pages: required (integer)
- nodeTags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- values: required (array of items)
A list of values associated with this tag
Items: items
- id: required (string)
- value: required (string)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
Example:
{
"nodeTags": [
{
"id": "tags_node_tags-1",
"name": "myTag",
"values": [
{
"id": "tags_node_tags_values-1",
"value": "my tag value"
},
{
"id": "tags_node_tags_values-2",
"value": "new value"
}
],
"rights": {
"delete": true,
"modify": true
}
},
{
"id": "tags_node_tags-2",
"name": "myTag2",
"values": [
{
"id": "tags_node_tags_values-3",
"value": "something else"
}
],
"rights": {
"delete": true,
"modify": true
}
},
{
"id": "tags_node_tags-3",
"name": "myTag3",
"values": [
{
"id": "tags_node_tags_values-4",
"value": "one item"
}
],
"rights": {
"delete": true,
"modify": true
}
}
],
"meta": {
"total_pages": 1
}
}
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: ??.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /tags/node_tags
Create a global node tag
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- nodeTag: required (object)
- name: required (string)
- values: required (array of )
Example:
{
"nodeTag": {
"name": "Location",
"values": [
{
"value": "USA.NewYork"
},
{
"value": "UK.London"
}
]
}
}
HTTP status code 200
The newly created global tag.
Body
Media type: application/json
Type: object
Example:
{
"nodeTag": {
"id": "tags_node_tags-50",
"name": "Location",
"values": [
{
"id": "tags_node_tags_values_90",
"value": "USA.NewYork"
},
{
"id": "tags_node_tags_values_91",
"value": "UK.London"
}
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Update tag values for the given id.
Delete a tag by id.
put /tags/node_tags/{tag_value_id}
Update tag values for the given id.
Lighthouse base authentication scheme
URI Parameters
- tag_value_id: required (string)
Identifier for unique tag
Example:
nodes_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- nodeTag: required (object)
- name: required (string)
- values: required (array of )
Example:
{
"nodeTag": {
"name": "Location",
"values": [
{
"id": "tags_node_tags_values_90",
"value": "USA.NewYork"
},
{
"id": "tags_node_tags_values_91",
"value": "UK.London"
},
{
"value": "France.Paris"
}
]
}
}
HTTP status code 200
The tag information was updated.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: node id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /tags/node_tags/{tag_value_id}
Delete a tag by id.
Lighthouse base authentication scheme
URI Parameters
- tag_value_id: required (string)
Identifier for unique tag
Example:
nodes_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The {tag_value_id} tag information was deleted.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'nodes_tags-0'",
"args": {
"uuid": "nodes_tags-0"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/interfaces
Read and manipulate the network interfaces on the Lighthouse server.
Get a list of the network interfaces on the Lighthouse server.
get /interfaces
Get a list of the network interfaces on the Lighthouse server.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Number of interfaces expected per page
- page: (integer - default: 1)
The page to return (indexed from 1)
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- meta: required (object)
- searchId: (string)
- total_pages: required (integer)
- interfaces: required (array of items)
Items: items
- enabled: required (boolean)
- description: required (string)
- media: required (string)
- netmask: (string)
- physif: required (string)
- role: required (string)
- name: required (string)
- address: (string)
- gateway: (string)
- mode: required (string)
- runtime_status: required (object)
- status: required (string)
- last_status_change: required (number)
- id: required (string)
- dhcp_netmask: (string)
- dhcp_gateway: (string)
- dhcp_dns: (string)
- dhcp_address: (string)
- dhcp_vendor_class: (string)
- id: required (string)
Example:
{
"interfaces": [
{
"enabled": true,
"description": "Default static network connection",
"media": "auto",
"netmask": "255.255.255.0",
"physif": "net1",
"role": "lan",
"name": "default-conn-1",
"address": "192.168.87.156",
"gateway": "192.168.87.100",
"mode": "static",
"runtime_status": {
"status": "running",
"last_status_change": 1471506633,
"id": "system_net_conns-1"
},
"id": "system_net_conns-1"
},
{
"enabled": true,
"description": "Default DHCP network connection",
"media": "auto",
"id": "system_net_conns-2",
"dhcp_vendor_class": "Opengear/Lighthouse",
"role": "lan",
"name": "default-conn-2",
"mode": "dhcp",
"runtime_status": {
"status": "running",
"dhcp_netmask": "255.255.255.0",
"dhcp_gateway": "192.168.87.1",
"id": "system_net_conns-2",
"dhcp_dns": "192.168.87.1",
"dhcp_address": "192.168.87.200",
"last_status_change": 1471506160
},
"physif": "net1"
}
],
"meta": {
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get interface information by id.
Update settings for interface {id}
get /interfaces/{id}
Get interface information by id.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the interface to fetch
Example:
system_net_conns-2
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- interface: required (object)
- role: required (string)
- description: required (string)
- address: (string)
- physif: required (string)
- name: required (string)
- mode: required (string)
- gateway: (string)
- runtime_status: (object)
- status: required (string)
- last_status_change: required (number)
- id: required (string)
- id: (string)
- netmask: (string)
- enabled: required (boolean)
- media: required (string)
Example:
{
"interface": {
"enabled": true,
"description": "Default static network connection",
"media": "auto",
"netmask": "255.255.255.0",
"physif": "net1",
"role": "lan",
"name": "default-conn-1",
"address": "192.168.87.156",
"gateway": "192.168.87.100",
"mode": "static",
"runtime_status": {
"status": "running",
"last_status_change": 1471506633,
"id": "system_net_conns-1"
},
"id": "system_net_conns-1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /interfaces/{id}
Update settings for interface {id}
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of the interface to fetch
Example:
system_net_conns-2
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- interface: required (object)
- role: required (string)
- description: required (string)
- address: (string)
- physif: required (string)
- name: required (string)
- mode: required (string)
- gateway: (string)
- runtime_status: (object)
- status: required (string)
- last_status_change: required (number)
- id: required (string)
- id: (string)
- netmask: (string)
- enabled: required (boolean)
- media: required (string)
Example:
{
"interface": {
"enabled": true,
"description": "Default static network connection",
"media": "auto",
"netmask": "255.255.255.0",
"physif": "net1",
"role": "lan",
"name": "default-conn-1",
"address": "192.168.87.156",
"gateway": "192.168.87.100",
"mode": "static"
}
}
HTTP status code 200
The interface {id} settings was updated.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: interface id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Interface {id} does not exist. Attempted to change read only fields. Attempted to change unknown fields.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/system
System endpoints are related to configuring and accessing information about the Lighthouse system itself.
Retrieve or change the Lighthouse system's hostname.
Get the Lighthouse hostname.
Update the Lighthouse hostname.
get /system/hostname
Get the Lighthouse hostname.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_hostname: required (object)
- hostname: required (string)
Example:
{
"system_hostname": {
"hostname": "Lighthouse"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/hostname
Update the Lighthouse hostname.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_hostname: required (object)
- hostname: required (string)
Example:
{
"system_hostname": {
"hostname": "Lighthouse"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_hostname: required (object)
- hostname: required (string)
Example:
{
"system_hostname": {
"hostname": "Lighthouse"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve or change the Lighthouse session timeout.
Retrieve the session timeout (in minutes).
Update the session timeout (in minutes).
get /system/webui_session_timeout
Retrieve the session timeout (in minutes).
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_webui_session_timeout: required (object)
- timeout: required (integer)
Example:
{
"system_webui_session_timeout": {
"timeout": 20
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/webui_session_timeout
Update the session timeout (in minutes).
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_webui_session_timeout: required (object)
- timeout: required (integer)
Example:
{
"system_webui_session_timeout": {
"timeout": 20
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_webui_session_timeout: required (object)
- timeout: required (integer)
Example:
{
"system_webui_session_timeout": {
"timeout": 20
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve or update the Lighthouse server's global enrollment token.
Retrieve the Lighthouse's global enrollment token.
Update the Lighthouse's global enrollment token.
get /system/global_enrollment_token
Retrieve the Lighthouse's global enrollment token.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_global_enrollment_token: required (object)
- token: required (string)
Example:
{
"system_global_enrollment_token": {
"token": "mySomewhatSecret"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/global_enrollment_token
Update the Lighthouse's global enrollment token.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_global_enrollment_token: required (object)
- token: required (string)
Example:
{
"system_global_enrollment_token": {
"token": "mySomewhatSecret"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_global_enrollment_token: required (object)
- token: required (string)
Example:
{
"system_global_enrollment_token": {
"token": "mySomewhatSecret"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a link to the global enrollment manifest file.
Returns the url for downloading the manifest file in plaintext.
get /system/manifest_link
Returns the url for downloading the manifest file in plaintext.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_global_manifest_link: required (object)
- url: required (string)
Example:
{
"system_global_manifest_link": {
"url": "http://192.168.1.1/manifest.txt"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve and update the system's timezone.
Retrieves the system timezone.
Update the system timezone.
get /system/timezone
Retrieves the system timezone.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_timezone: required (object)
- timezone: required (string)
Example:
{
"system_timezone": {
"timezone": "Australia/Brisbane"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/timezone
Update the system timezone.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_timezone: required (object)
- timezone: required (string)
Example:
{
"system_timezone": {
"timezone": "Australia/Brisbane"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_timezone: required (object)
- timezone: required (string)
Example:
{
"system_timezone": {
"timezone": "Australia/Brisbane"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve and update the Lighthouse system's externally reachable network address.
Retrieve the Lighthouse external address.
Update the Lighthouse external address.
get /system/external_address
Retrieve the Lighthouse external address.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_external_address: required (object)
- external_address: required (string)
- os_default_external_address: required (string)
Example:
{
"system_external_address": {
"external_address": " ",
"os_default_external_address": " "
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/external_address
Update the Lighthouse external address.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_external_address: required (object)
- external_address: required (string)
- os_default_external_address: required (string)
Example:
{
"system_external_address": {
"external_address": " ",
"os_default_external_address": " "
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_external_address: required (object)
- external_address: required (string)
- os_default_external_address: required (string)
Example:
{
"system_external_address": {
"external_address": " ",
"os_default_external_address": " "
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve and update the Lighthouse server's time.
Retrieve the Lighthouse current time.
Update the Lighthouse current time.
get /system/time
Retrieve the Lighthouse current time.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- time: required (object)
- time: required (string)
Example:
{
"time": {
"time": "16:22 Sep 23, 2016"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/time
Update the Lighthouse current time.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- time: required (object)
- time: required (string)
Example:
{
"time": {
"time": "16:22 Sep 23, 2016"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- time: required (object)
- time: required (string)
Example:
{
"time": {
"time": "16:22 Sep 23, 2016"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Delete the configuration effectively performing a system reset. The Lighthouse host will reset to factory settings and reboot. The user will need to access the device via the console to set the root password before the network will be available.
delete /system/config
Delete the configuration effectively performing a system reset. The Lighthouse host will reset to factory settings and reboot. The user will need to access the device via the console to set the root password before the network will be available.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The factory reset process was started successfuly.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Upgrade the system firmware either by uploading a file or providing a url to download the file from. This endpoint will always return success if the firmware upgrade job was started - it occurs in the background and the state of which should be retrieved from the GET /system/firmware_upgrade_status endpoint. At least 'file' or 'firmware_url' are required.
post /system/firmware_upgrade
Upgrade the system firmware either by uploading a file or providing a url to download the file from. This endpoint will always return success if the firmware upgrade job was started - it occurs in the background and the state of which should be retrieved from the GET /system/firmware_upgrade_status endpoint. At least 'file' or 'firmware_url' are required.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: multipart/form-data
Type: object
Properties- file: (file)
The file to be uploaded.
- firmware_url: (string)
A url for the file to download.
- firmware_options: (string)
Options for the firmware upgrade tool.
HTTP status code 200
The firmware upgrade process was started.
Body
Media type: application/json
Type: object
Properties- system_firmware_upgrade_status: required (object)
- state: required (one of pending, running, error, finished)
- error_message: (one of format_error, download_error, version_error, runtime_error)
Example:
{
"system_firmware_upgrade_status":
{
"state": "running"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the status of the most recent firmware upgrade job.
get /system/firmware_upgrade_status
Retrieve the status of the most recent firmware upgrade job.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The factory reset process was started successfuly.
Body
Media type: application/json
Type: object
Properties- system_firmware_upgrade_status: required (object)
- state: required (one of pending, running, error, finished)
- error_message: (one of format_error, download_error, version_error, runtime_error)
Example:
{
"system_firmware_upgrade_status":
{
"state": "error",
"error_message": "download_error"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve entitlement information for the Lighthouse based on the licenses applied.
Retrieve a list of entitlements.
get /system/entitlements
Retrieve a list of entitlements.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing entitlements information.
Body
Media type: application/json
Type: object
Properties- entitlements: required (array of items)
A list of entitlements.
Example:
{
"entitlements": [
{
"id": "SKU1",
"contact": {
"name": "Jenny Bloggs",
"email": "jennyb@bloggs.com"
},
"features": {
"maintenance": 1546214400,
"nodes": 20
}
},
{
"id": "SKU2",
"contact": {
"name": "Joe Bloggs",
"email": "joeb@bloggs.com"
},
"features": {
"maintenance": 1546214400,
"nodes": 1578
}
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Create and view licenses applied to the Lighthouse system.
Retrieve a list of license strings.
Apply a list of licenses.
get /system/licenses
Retrieve a list of license strings.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing raw license strings information.
Body
Media type: application/json
Type: object
Properties- licenses: required (array of items)
Example:
{
"licenses": [
{
"id": 1,
"raw": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1pY2hhZWxmQGZpdHp5c2l0ZS5jb20iLCJzdWIiOiJ..."
},
{
"id": 2,
"raw": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1pY2hhZWxmQGZpdHp5c2l0ZS5jb20iLCJzdWIiOiJ..."
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /system/licenses
Apply a list of licenses.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- licenses: required (array of items)
Example:
{
"licenses": [
{
"raw": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1pY2hhZWxmQGZpdHp5c2l0ZS5jb20iLCJzdWIiOiJ..."
},
{
"raw": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1pY2hhZWxmQGZpdHp5c2l0ZS5jb20iLCJzdWIiOiJ..."
}
]
}
HTTP status code 201
A JSON object containing the raw licenses that were just applied.
Body
Media type: application/json
Type: object
Properties- licenses: required (array of items)
Example:
{
"licenses": [
{
"id": 1,
"raw": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1pY2hhZWxmQGZpdHp5c2l0ZS5jb20iLCJzdWIiOiJ..."
},
{
"id": 2,
"raw": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1pY2hhZWxmQGZpdHp5c2l0ZS5jb20iLCJzdWIiOiJ..."
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/stats
Retrieve statistical information about the Lighthouse deployment.
A summary of connected, pending and disconnected nodes
get /stats/nodes/connection_summary
A summary of connected, pending and disconnected nodes
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- connectionSummary: required (array of items)
Items: items
- status: required (one of connected, pending, disconnected)
- count: required (integer)
Example:
{
"connectionSummary": [
{
"status": "connected",
"count": 11
},
{
"status": "pending",
"count": 1
},
{
"status": "disconnected",
"count": 1
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/support_report
Obtain a report which will provide information about the state of the Lighthouse server. This information can be used to help analyse and understand the state of the system. The report is large and may take in the order of a minute to obtain.
Retrieve the support report data.
get /support_report
Retrieve the support report data.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
System report was successfully generated and returned including a url to a corresponding zip file.
Body
Media type: application/json
Type: object
Properties- support_report: required (object)
- contents: required (string)
A new line delimited dump of the current state of the system.
- zip_file: required (string)
url to a zip file which contains the system report.
- contents: required (string)
Example:
{
"support_report": {
"contents": "*** System time ***\nMon Aug 22 11:27:29 2016\n\n\n*** Firmware Version ***\n$ sysflash_info\nsysflash info\ncurrent copy name: 'root1'\ncurrent config dev: '/dev/sda6'\ncurrent root dev: '/dev/sda5'\ncurrent boot dev: '/dev/sda2'\nother (upgradable) copy name: 'root2'\nother (upgradable) config dev: '/dev/sda8'\nother (upgradable) root dev: '/dev/sda7'\nother (upgradable) boot dev: '/dev/sda3'\nboard name: 'lighthouse-vm'\nboard rev: '1.0'\ncurrent software vendor: 'opengear'\ncurrent software product: 'ironman'\ncurrent software version: '5.0.0'\ncurrent software variant: 'release'\n\n*** Uptime ***\n359140.57 715606.84\n\n*** IP Configuration ***\n$ ifconfig\nnet1 Link encap:Ethernet HWaddr 08:00:27:d7:1c:38 \n ",
"zip_file": "/api/v1/support_report?zip=1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/auth
Configure remote authentication, authorization, accounting (AAA) servers.
Retrieve information on AAA servers.
Update the AAA config.
get /auth
Retrieve information on AAA servers.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing the AAA config is returned.
Body
Media type: application/json
Type: object
Example:
{
"auth": {
"mode": "tacacs",
"radiusPassword": "hunter2",
"radiusAuthenticationServers": [
{
"id": "auth_radius_authenticationServers-2",
"hostname": "192.168.250.1.2"
}
],
"radiusAccountingServers": [
{
"id": "auth_radius_accountingServers-1",
"hostname": "192.168.250.1.2"
}
],
"tacacsService": "raccess",
"tacacsMethod": "pap",
"tacacsPassword": "hunter2",
"tacacsAuthenticationServers": [
{
"hostname": "192.168.1.2",
"id": "auth_tacacs_authenticationServers-2"
}
],
"ldapAuthenticationServers": [
{
"id": "auth_ldap_authenticationServers-1",
"hostname": "192.168.1.2"
}
],
"ldapBaseDN": "cn=Users,dc=example,dc=com",
"ldapBindDN": "cn=Administrator,cn=Users,dc=example,dc=com",
"ldapUsernameAttribute": "sAMAccountName",
"ldapBindPassword": "hunter2"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /auth
Update the AAA config.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"auth": {
"mode": "radius",
"radiusPassword": "hunter2",
"radiusAuthenticationServers": [
{
"id": "auth_radius_authenticationServers-1",
"hostname": "192.168.250.2"
}
],
"radiusAccountingServers": [
{
"id": "auth_radius_accountingServers-1",
"hostname": "192.168.250.2"
}
],
"tacacsAuthenticationServers": [],
"ldapAuthenticationServers": []
}
}
HTTP status code 200
A JSON object containing the AAA config is returned.
Body
Media type: application/json
Type: object
Example:
{
"auth": {
"mode": "radius",
"radiusPassword": "hunter2",
"radiusAuthenticationServers": [
{
"id": "auth_radius_authenticationServers-1",
"hostname": "192.168.250.2"
}
],
"radiusAccountingServers": [
{
"id": "auth_radius_accountingServers-1",
"hostname": "192.168.250.2"
}
],
"tacacsService": "raccess",
"tacacsMethod": "pap",
"tacacsPassword": "hunter2",
"tacacsAuthenticationServers": [
{
"hostname": "192.168.1.2",
"id": "auth_tacacs_authenticationServers-2"
}
],
"ldapAuthenticationServers": [
{
"id": "auth_ldap_authenticationServers-1",
"hostname": "192.168.1.2"
}
],
"ldapBaseDN": "cn=Users,dc=example,dc=com",
"ldapBindDN": "cn=Administrator,cn=Users,dc=example,dc=com",
"ldapUsernameAttribute": "sAMAccountName",
"ldapBindPassword": "hunter2"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/bundles
Creating/registering and viewing the state of console server bundles.
Gets bundles attached to this lighthouse instance.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested. A bundle response will also contain a list of tags, which represents the user-editable attributes assigned to this bundle.
Add a new Bundle. The automatic_tags values must be valid as obtained using by a GET on endpoint /tags/node_tags.
get /bundles
Gets bundles attached to this lighthouse instance.
The standard ember-data pagination fields {per_page} and {page} apply to this list.
{per_page} and {page} are optional but both are to be supplied if pages are requested. A bundle response will also contain a list of tags, which represents the user-editable attributes assigned to this bundle.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Number of bundles expected per page
- page: (integer - default: 1)
The page to return (indexed from 1)
HTTP status code 200
The array of bundles, either a full or as requested by parameters
Body
Media type: application/json
Type: object
Example:
{
"bundles": [
{
"name": "Test Bundle 1",
"auto_approve": 0,
"id": "enrollment_bundles-1",
"automatic_tags": [
{
"id": "enrollment_bundles_automatic_tags-1",
"name": "Test Tag Key 1",
"value": "Test Tag Value 1"
},
{
"id": "enrollment_bundles_automatic_tags-2",
"name": "Test Tag Key 2",
"value": "Test Tag Value 2"
}
],
"nodes": [],
"token": "abcdefghijklmnop",
"manifest_link": "/api/v1/bundles/enrollment_bundles-1/manifest"
},
{
"name": "Test Bundle 2",
"auto_approve": 0,
"id": "enrollment_bundles-2",
"automatic_tags": [
{
"id": "enrollment_bundles_automatic_tags-3",
"name": "Test Tag Key A",
"value": "Test Tag Value B"
}
],
"nodes": [],
"token": "1234567890",
"manifest_link": "/api/v1/bundles/enrollment_bundles-2/manifest"
}
],
"meta": {
"total_pages": 1
}
}
HTTP status code 400
Invalid request, missing or incorrect page/per_page
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Invalid request, Incomplete data, Bundle not found, Failure during retrieval of bundles
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Failed to read bundles.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /bundles
Add a new Bundle. The automatic_tags values must be valid as obtained using by a GET on endpoint /tags/node_tags.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"bundle": {
"name": "PrimaryBundle",
"auto_approve": true,
"token": "ABCD1234567",
"automatic_tags": [
{
"name": "Location",
"value": "Brisbane"
}
]
}
}
HTTP status code 200
Bundle added successfully.
Body
Media type: application/json
Type: object
Example:
{
"bundle": {
"name": "Test Bundle 1",
"auto_approve": 0,
"id": "enrollment_bundles-1",
"automatic_tags": [
{
"id": "enrollment_bundles_automatic_tags-1",
"name": "Test Tag Key 1",
"value": "Test Tag Value 1"
},
{
"id": "enrollment_bundles_automatic_tags-2",
"name": "Test Tag Key 2",
"value": "Test Tag Value 2"
}
],
"nodes": [],
"token": "abcdefghijklmnop"
}
}
HTTP status code 400
Invalid request, or error with supplied data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Redirect to new bundle session
Body
Media type: application/json
Type: object
Example:
{
"message": "Redirecting to new bundle at {redirect-url}"
}
HTTP status code 500
Unexpected error.
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 2,
"code": 26,
"text": "Duplicate 'name' fields with value 'test'",
"args": {
"value": "test",
"uuid": "root-1-@bundles",
"field": "name"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Find a bundle by unique ID
Update a bundle
get /bundles/{id}
Find a bundle by unique ID
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
Headers
- Authorization: required (string)
authorization session token
Example:
Token {{sessionUid}}
HTTP status code 200
The requested bundle
Body
Media type: application/json
Type: object
Properties- bundle: required (object)
- id: required (string)
- name: required (string)
- auto_approve: required (boolean)
- token: required (string)
- automatic_tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
- nodes: required (array of items)
- manifest_link: required (string)
Example:
{
"bundle": {
"name": "Test Bundle 1",
"auto_approve": false,
"id": "enrollment_bundles-1",
"automatic_tags": [
{
"id": "enrollment_bundles_automatic_tags-1",
"name": "Test Tag Key 1",
"value": "Test Tag Value 1"
},
{
"id": "enrollment_bundles_automatic_tags-2",
"name": "Test Tag Key 2",
"value": "Test Tag Value 2"
}
],
"nodes": [],
"token": "abcdefghijklmnop",
"manifest_link": "/api/v1/bundles/enrollment_bundles-1/manifest"
}
}
HTTP status code 400
Invalid request, or error with supplied data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle does not exist
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /bundles/{id}
Update a bundle
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"bundle": {
"name": "PrimaryBundle",
"auto_approve": true,
"token": "BCDEFGHIJKLMNOPQRSTUVWXYZ123456",
"automatic_tags": [
{
"name": "Location",
"value": "Brisbane"
}
]
}
}
HTTP status code 200
The updated bundle
Body
Media type: application/json
Type: object
Properties- bundle: required (object)
- id: required (string)
- name: required (string)
- auto_approve: required (boolean)
- token: required (string)
- automatic_tags: required (array of items)
Items: items
- id: required (string)
- name: required (string)
- value: required (string)
- nodes: required (array of items)
- manifest_link: required (string)
Example:
{
"bundle": {
"name": "PrimaryBundle",
"auto_approve": true,
"id": "enrollment_bundles-3",
"automatic_tags": [
{
"id": "enrollment_bundles_automatic_tags-4",
"name": "Location",
"value": "Brisbane"
}
],
"nodes": [],
"token": "BCDEFGHIJKLMNOPQRSTUVWXYZ123456",
"manifest_link": ""
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Each bundle can have a list of tags associated with it. These tags are references to a global list of tags. Any node that enrolls against a specific bundle will automatically be assigned these tags and specified values at time of enrollment.
Get the list of all automatic tags for this bundle.
Create and associate a new tag with the bundle. If the tag exists update or set the value. If no value is given, or the value is empty, the value will be set to null.
get /bundles/{id}/automatic_tags
Get the list of all automatic tags for this bundle.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The list of automatic tags for the bundle
Body
Media type: application/json
Type: object
Example:
{
"tags": [
{
"id": "bundle_tags-1",
"name": "myTag",
"value": "my tag value"
},
{
"id": "bundle_tags-2",
"name": "myTag2",
"value": ""
},
{
"id": "bundle_tags-3",
"name": "myTag3",
"value": "another value"
}
]
}
HTTP status code 400
Incomplete data.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle does not exist.
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /bundles/{id}/automatic_tags
Create and associate a new tag with the bundle. If the tag exists update or set the value. If no value is given, or the value is empty, the value will be set to null.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"tag": {
"name:\"Location\"": null,
"value": "New York"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Example:
{
"automatic_tag": {
"id": "bundle_tags-1",
"name": "Location",
"value": "New York"
}
}
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: name item missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieves a bundle's tag by id.
Delete a bundle's tag by id.
Update tag information for {bundle_tag_id} in bundle {id}
get /bundles/{id}/automatic_tags/{tag_value_id}
Retrieves a bundle's tag by id.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
- tag_value_id: required (string)
Identifier for unique tag within given bundle
Example:
bundles_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Tag information in bundle with {id} and tag identification {tag_value_id} successfully retrieved.
Body
Media type: application/json
Type: object
Example:
{
"automatic_tag": {
"id": "bundle_tags-1",
"name": "Location",
"value": "New York"
}
}
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: bundle id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /bundles/{id}/automatic_tags/{tag_value_id}
Delete a bundle's tag by id.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
- tag_value_id: required (string)
Identifier for unique tag within given bundle
Example:
bundles_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The {tag_value_id} tag information was deleted.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: bundle id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'bundles_tags-0'",
"args": {
"uuid": "bundles_tags-0"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /bundles/{id}/automatic_tags/{tag_value_id}
Update tag information for {bundle_tag_id} in bundle {id}
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
- tag_value_id: required (string)
Identifier for unique tag within given bundle
Example:
bundles_tags-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"automatic_tag": {
"name": "Location",
"value": "USA.NewYork"
}
}
HTTP status code 200
The {tag_value_id} tag information was updated.
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: bundle id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'bundles_tags-0'",
"args": {
"uuid": "bundles_tags-0"
},
"level": 1
}
]
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Download the bundle specific manifest file
get /bundles/{id}/manifest
Download the bundle specific manifest file
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
ID of bundle to fetch
Example:
enrollment_bundles-1
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
The manifest file
Body
Media type: text/plain
Type: object
Example:
address=192.168.0.1 bundle=bundle1 password=bundle1Token
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'enrollment_bundles-1'",
"args": {
"uuid": "enrollment_bundles-1"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/users
Retrieve and update user information.
Retrieve a list of users.
Create a new User data in the config.
get /users
Retrieve a list of users.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing Users Config is returned.
Body
Media type: application/json
Type: object
Example:
{
"users": [
{
"username": "root",
"enabled": true,
"id": "users-1",
"groups": [
"groups-1",
"groups-2"
],
"rights": {
"delete": true,
"modify": true
}
},
{
"username": "username-1",
"enabled": false,
"description": "Description- 1",
"id": "users-2",
"groups": [
"groups-1",
"groups-2"
],
"rights": {
"delete": true,
"modify": true
}
}
],
"meta": {
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /users
Create a new User data in the config.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"user": {
"username": "usernamenew",
"password": "testPassword",
"description": "desc",
"enabled": true,
"groups": [
"groups-1"
]
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- user: required (object)
- id: required (string)
- username: required (string)
- description: required (string)
- enabled: required (boolean)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- groups: required (array of )
Example:
{
"user": {
"username": "usernamenew",
"enabled": true,
"description": "desc",
"groups": [
"groups-1",
"groups-2"
],
"id": "users-2",
"rights": {
"delete": true,
"modify": true
}
}
}
HTTP status code 400
Failed to initiate user creation due to error in post body.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 2,
"code": 12,
"text": "Element is below the minimum allowed length of 1 character(s)",
"args": {
"min": "1",
"uuid": "{60e2b0a-aafa-11e6-aca7-cb7fd0646002"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failed due to invalid session.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the User information by ID.
Update a User data in the config.
Delete a User
get /users/{id}
Retrieve the User information by ID.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
User exists
Body
Media type: application/json
Type: object
Properties- user: required (object)
- id: required (string)
- username: required (string)
- description: required (string)
- enabled: required (boolean)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- groups: required (array of )
Example:
{
"user": {
"username": "usernamenew",
"enabled": true,
"description": "desc",
"id": "users-2",
"groups": [
"groups-1",
"groups-2"
],
"rights": {
"delete": true,
"modify": true
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failed due to invalid session.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
User does not exist. User Not Found.
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'users-2'",
"args": {
"uuid": "users-2"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /users/{id}
Update a User data in the config.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- user: required (object)
Example:
{
"user": {
"username": "usernamenew",
"password": "UpdatedPassword",
"description": "Updated description",
"groups": [
"groups-1",
"groups-2"
],
"enabled": true
}
}
HTTP status code 200
User has been Updated.
Body
Media type: application/json
Type: object
Properties- user: required (object)
- id: required (string)
- username: required (string)
- description: required (string)
- enabled: required (boolean)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- groups: required (array of )
Example:
{
"user": {
"username": "usernamenew",
"enabled": true,
"description": "Updated description",
"groups": [
"groups-1",
"groups-2"
],
"id": "users-2",
"rights": {
"delete": true,
"modify": true
}
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /users/{id}
Delete a User
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
User deleted
Body
Media type: application/json
Type: object
Properties- user: required (object)
- id: required (string)
- username: required (string)
- description: required (string)
- enabled: required (boolean)
- rights: required (object)
- create: (boolean)
- delete: required (boolean)
- modify: required (boolean)
- groups: required (array of )
Example:
{
"user": {
"username": "Updatedusername",
"enabled": true,
"description": "desc",
"groups": [
"groups-1",
"groups-2"
],
"id": "users-2",
"rights": {
"delete": true,
"modify": true
}
}
}
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
User did not exist
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'users-2'",
"args": {
"uuid": "users-2"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/groups
Retrieve or update group information.
Retrieve a list of groups.
Create a new Group in the config.
get /groups
Retrieve a list of groups.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing Groups config is returned.
Body
Media type: application/json
Type: object
Example:
{
"groups": [
{
"id": "groups-1",
"groupname": "admin",
"description": "The admin group",
"mode": "global",
"global_roles": "LighthouseAdmin",
"members": {},
"rights": {
"delete": false,
"modify": true
}
},
{
"id": "groups-2",
"groupname": "smartgroup-admin",
"description": null,
"mode": "smart_group",
"smart_group_roles": "NodeAdmin",
"smart_group": "my_smart_group",
"members": {},
"rights": {
"delete": false,
"modify": true
}
}
],
"meta": {
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /groups
Create a new Group in the config.
Lighthouse base authentication scheme
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Example:
{
"group": {
"groupname": "my_node_group",
"description": "to hold the node admin users",
"mode": "smart_group",
"smart_group_roles": "NodeAdmin",
"smart_group": "nodes_groups_1"
}
}
HTTP status code 201
Body
Media type: application/json
Example:
{
"group": {
"id": "groups-4",
"groupname": "netgrp",
"mode": "smart_group",
"members": [],
"smart_group_roles": "NodeAdmin",
"smart_group": "my_smartgroup",
"rights": {
"modify": true,
"delete": true
}
}
}
HTTP status code 400
Failed to initiate group creation due to error in post body.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 2,
"code": 26,
"text": "Duplicate 'groupname' fields with value 'netgrp'",
"args": {
"value": "netgrp",
"uuid": "root-1-@groups",
"field": "groupname"
},
"level": 1
},
{
"type": 1,
"code": 33,
"text": "Push command failed",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failed due to invalid session.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the Group information by ID.
Update a Group data in the config.
Delete a Group
get /groups/{id}
Retrieve the Group information by ID.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 200
Group exists
Body
Media type: application/json
Example:
{
"group": {
"groupname": "netgrp2",
"id": "groups-6",
"mode": "global",
"members": [],
"global_roles": "NodeUser",
"rights": {
"delete": false,
"modify": true
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failed due to invalid session.
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Examples:
example1:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 46,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Group does not exist. Group Not Found.
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'groups-59'",
"args": {
"uuid": "groups-59"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /groups/{id}
Update a Group data in the config.
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Example:
{
"group": {
"groupname": "netgrp2",
"description": "my new description",
"mode": "global",
"global_roles": "NodeUser"
}
}
HTTP status code 200
Group has been updated.
Body
Media type: application/json
Example:
{
"group": {
"groupname": "netgrp2",
"description": "my new description",
"id": "groups-6",
"mode": "global",
"members": [],
"global_roles": "NodeUser",
"rights": {
"delete": false,
"modify": true
}
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid request body",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /groups/{id}
Delete a Group
Lighthouse base authentication scheme
URI Parameters
- id: required (string)
Headers
- Authorization: required (string)
Example:
Token {{sessionUid}}
HTTP status code 204
Group deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required (array of items)
A list of errors
Items: items
- type: required (integer)
- code: required (integer)
- level: required (integer)
- text: required (string)
- args: required (object)
Example:
{
"error": [
{
"type": 7,
"code": 42,
"text": "Invalid session ID",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Group did not exist
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'groups-6'",
"args": {
"uuid": "groups-6"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required (string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c