Lighthouse REST API version v3.7
https://{lighthousehost}/api/v3.7
- 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)
- password_expired: required(boolean)
- session: required(string)
- user: (string)
- last_challenge: (string)
Example:
{
"state": "authenticated",
"password_expired": false,
"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.
Apply a challenge response to a session
Log out of and delete a session
get /sessions/self
Retrieve the state of an authentication session.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Session exists
Body
Media type: application/json
Type: object
Properties- state: required(string)
- password_expired: required(boolean)
- session: required(string)
- user: (string)
- last_challenge: (string)
Example:
{
"state": "authenticated",
"password_expired": false,
"session": "71dcba707b6c177644ede1b224f69096",
"user": "root"
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Session does not exist
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /sessions/self
Apply a challenge response to a session
Lighthouse base authentication scheme
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
Authentication failed. No more attempts allowed.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Authentication failed.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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/self
Log out of and delete a session
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
Session deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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 an 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 authenticated session, and provide the node details (name, address, username, password, auto-approve and subscription). 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
- order_by: (string - default: id)
Field by which to sort the nodes.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
- per_page: (integer - default: 100000)
Maximum number of items per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- json: (string)
JSON URL encoded search parameters.
For 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%22config%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)
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 equal to test, or
config:status=!Enrolled will search for nodes which are not enrolled.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D - 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 object)
Items: items
- id: required(string)
- approved: required(boolean)
- status: required(one of Enrolled, Registering, Registered, Unknown, Pending)
- name: required(string)
- firmware_version: required(string)
- mac_address: required(string)
- product: required(string)
- serial_number: required(string)
- enrollment_bundle: required(string)
- port_logging_enabled: required(boolean)
- runtime_status: required(object)
- id: required(string)
- connection_status: required(one of connected, pending, disconnected, unknown, never seen)
- change_delta: required(integer)
- change_time: required(integer)
- action_status: required(one of in progress, finished, error, unknown)
- action_error_message: required(string)
- action_type: required(one of registration, enrollment, none)
- nom_modules: required(array of object)
Items: items
- name: (string)
- version: (string)
- tag_list: required(object)
- id: required(string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- tags: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- value: required(string)
- ports: required(array of object)
Items: items
- id: required(string)
- label: required(string)
- mode: required(one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- node_id: required(string)
- node_name: required(string)
- ssh_enabled: required(boolean)
- webshell_enabled: required(boolean)
- port_csid: required(string)
- runtime_status: required(object)
- id: required(string)
- connection_status: required(one of connected, pending, disconnected, unknown, never seen)
- change_delta: required(integer)
- change_time: required(integer)
- action_status: required(one of in progress, finished, error, unknown)
- action_error_message: required(string)
- action_type: required(one of registration, enrollment, none)
- resource_tags: required(array of string)
- web_terminal_url: required(string)
- proxied_ssh_url: required(string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- interfaces: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- ipv4_addr: (string)
- ipv6_addr: (string)
- config-push-status: required(object)
- failed: (array of )
- finished: (array of )
- cellhealth_runtime_status: required(object)
- id: required(string)
- change_delta: required(integer)
- change_time: required(integer)
- status: required(one of bad, moderate, good, pending, unknown, sim_issues, connectivity_test_failed, interface_disabled)
- etags: required(array of object)
Items: items
- id: required(string)
- status: required(string)
- version: required(string)
- name: required(string)
- firewall_zones: required(array of object)
Items: items
- name: required(string)
- label: required(string)
- interfaces: required(array of string)
- model: required(string)
- family: required(string)
- common_name: required(string)
- subscription: required(object)
- expired: required(boolean)
- last_updated: required(integer)
- tier: required(string)
- rights: required(object)
- delete: required(boolean)
- modify: required(boolean)
- view_cellhealth_runtime_details: required(boolean)
- view_config_sync_status: required(boolean)
- view_template_push_status: required(boolean)
- netops: required(boolean)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"nodes": [
{
"name": "test",
"id": "nodes-1",
"lhvpn_address": "192.168.128.2",
"product": "opengear",
"runtime_status": {
"change_delta": 2148,
"change_time": 0,
"action_status": "unknown",
"id": "nodes-1",
"action_type": "none",
"connection_status": "unknown",
"action_error_message": ""
},
"cellhealth_runtime_status": {
"change_delta": 2148,
"change_time": 1471516371,
"status": "good",
"id": "nodes-1"
},
"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": false,
"view_template_push_status": true,
"modify": true,
"view_config_sync_status": true,
"view_cellhealth_runtime_details": true
},
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:47:99",
"serial_number": "70000002451668",
"model": "ACM7004-5-LMR",
"interfaces": [],
"approved": true,
"firmware_version": "4.0.0",
"etags": [
{
"id": "nodes-etags-1",
"name": "serialPorts",
"status": "Supported",
"version": 1
},
{
"id": "nodes-etags-2",
"name": "nodeDescription",
"status": "Supported",
"version": 1
},
{
"id": "nodes-etags-3",
"name": "groups",
"status": "Supported",
"version": 1
},
{
"id": "nodes-etags-4",
"name": "auth",
"status": "Supported",
"version": 1
}
],
"config-push-status": {},
"nom_modules": [],
"firewall_zones": []
},
{
"name": "test3",
"id": "nodes-2",
"lhvpn_address": "192.168.128.3",
"product": "opengear",
"runtime_status": {
"change_delta": 2148,
"change_time": 1471516371,
"action_status": "error",
"id": "nodes-2",
"action_error_message": "Failed to contact node.",
"action_type": "registration",
"connection_status": "never seen"
},
"cellhealth_runtime_status": {
"change_delta": 2148,
"change_time": 1471516371,
"status": "good",
"id": "nodes-2"
},
"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": false,
"view_template_push_status": true,
"modify": true,
"view_config_sync_status": true,
"view_cellhealth_runtime_details": true
},
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:5a:d5",
"serial_number": "71480488331675",
"model": "CM7148-2-DAC",
"interfaces": [],
"approved": true,
"firmware_version": "4.0.0",
"etags": [
{
"id": "nodes-etags-5",
"name": "serialPorts",
"status": "Supported",
"version": 1
},
{
"id": "nodes-etags-6",
"name": "nodeDescription",
"status": "Supported",
"version": 1
},
{
"id": "nodes-etags-7",
"name": "groups",
"status": "Error",
"version": 1
},
{
"id": "nodes-etags-8",
"name": "auth",
"status": "Supported",
"version": 1
}
],
"config-push-status": {
"finished": [
"script1",
"template1"
],
"failed": [
"script2",
"groups2"
]
},
"nom_modules": [
{
"name": "dop",
"version": "1.2.0"
}
],
"firewall_zones": []
}
],
"meta": {
"total_count": 2,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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 an 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 authenticated session, and provide the node details (name, address, username, password, auto-approve and subscription). 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)
- subscription: (string)
- auto_approve: (boolean)
- connection_method: (string)
- base_port: (integer)
- port_count: (integer)
- port_labels: (array of string)
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",
"subscription": "premium",
"auto_approve": true
}
}
example3:
{
"enrollment": {
"product": "generic",
"name": "bne-7004-backup",
"address": "1.2.3.4",
"connection_method": "ssh",
"username": "root",
"password": "default",
"subscription": "enterprise",
"auto_approve": true,
"base_port": 2100,
"port_count": 2,
"port_labels": [
"Port 1",
"Port 2"
]
}
}
HTTP status code 200
For direct enrollment. Enrollment initiated, but not yet complete. Lighthouse will now try to enroll the node at address given.
Body
Media type: application/json
Type: object
Example:
{
"node": {
"tag_list": {
"id": "nodes-3",
"rights": {
"delete": true,
"create": true,
"modify": true
},
"tags": []
},
"etags": [],
"subscription": {
"expired": false,
"tier": "premium"
},
"rights": {
"view_template_push_status": true,
"delete": true,
"view_config_sync_status": true,
"modify": true
},
"status": "Pending",
"approved": true,
"runtime_status": {
"change_delta": 0,
"change_time": 1535071583,
"action_status": "in progress",
"id": "nodes-3",
"action_error_message": "",
"action_type": "registration",
"connection_status": "never seen"
},
"config_push_status": {},
"id": "nodes-3",
"enrollment_bundle": "Global",
"name": "nodes-3",
"interfaces": [],
"ports": []
}
}
HTTP status code 202
For callhome enrollment. 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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
Request not allowed
Body
Media type: application/json
Type: object
Example:
{
"error": "Dependent Lighthouse cannot process node enrollment"
}
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_count": 2,
"total_pages": 1
},
"smartgroups": [
{
"id": "smart_groups_node_groups-1",
"name": "X",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:example\", \"oper\": 3, \"datatype\": 2}"
},
{
"id": "smart_groups_node_groups-5",
"name": "X3",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 2, \"fieldname\": \"config:example\", \"oper\": 3, \"datatype\": 2}"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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:example\", \"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:example\", \"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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",
"rights": {
"delete": true,
"modify": true
},
"name": "X",
"query": "{\"type\": 2, \"fieldname\": \"config:example\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 successfully.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
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:example\", \"oper\": 3, \"datatype\": 2}"
}
}
HTTP status code 200
Successfully updated
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_node_groups-1",
"rights": {
"delete": true,
"modify": true
},
"name": "X",
"query": "{\"type\": 2, \"fieldname\": \"config:example\", \"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Smartgroup does not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Current member nodes of the resolved smart group
get /nodes/smartgroups/{groupId}/nodes
Current member nodes of the resolved 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
Properties- nodes: required(array of string)
Example:
{
"nodes": [
"nodes-2",
"nodes-7",
"nodes-9"
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
Approve a batch of nodes
post /nodes/bulk/approve
Approve a batch of nodes
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- node_ids: required(array of string)
Example:
{
"node_ids": [
"nodes-1",
"nodes-2"
]
}
HTTP status code 202
Batch of results
Body
Media type: application/json
Type: object
Properties- total: required(integer)
- job_id: required(string)
- number_of_successes: required(integer)
- results: required(array of object)
Items: items
- node_uuid: required(string)
- status: required(one of success, error)
- error_message: (string)
Example:
{
"total": 2,
"job_id": "278c89e1-fa8a-4a5b-81e2-fefa60fc2471",
"number_of_successes": 1,
"results": [
{
"node_uuid": "nodes-1",
"status": "success"
},
{
"node_uuid": "nodes-2",
"status": "error",
"error_message": "Node with id 'nodes-2' does not exist."
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Unenroll a batch of nodes
post /nodes/bulk/unenroll
Unenroll a batch of nodes
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- node_ids: required(array of string)
Example:
{
"node_ids": [
"nodes-1",
"nodes-2"
]
}
HTTP status code 202
Batch of results
Body
Media type: application/json
Type: object
Properties- total: required(integer)
- job_id: required(string)
- number_of_successes: required(integer)
- results: required(array of object)
Items: items
- node_uuid: required(string)
- status: required(one of success, error)
- error_message: (string)
Example:
{
"total": 2,
"job_id": "48986737-7bd3-426f-936d-570f11dc321b",
"number_of_successes": 1,
"results": [
{
"node_uuid": "nodes-1",
"status": "success"
},
{
"node_uuid": "nodes-2",
"status": "error",
"error_message": "Node with id 'nodes-2' does not exist."
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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
api_port=443
password=enrollmentToken
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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)
- product: 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)
- cellhealth_runtime_status: required(object)
- change_delta: required(integer)
- change_time: required(integer)
- status: required(one of bad, moderate, good, pending, unknown, sim_issues, connectivity_test_failed, interface_disabled)
- tag_list: required(object)
- id: required(string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- tags: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- value: required(string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- model: required(string)
- approved: required(boolean)
- firmware_version: required(string)
- mac_address: required(string)
- serial_number: required(string)
- enrollment_bundle: required(string)
- interfaces: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- ipv4_addr: (string)
- ipv6_addr: (string)
- etags: required(array of object)
Items: items
- id: required(string)
- status: required(string)
- version: required(integer)
- name: required(string)
- ports: required(array of object)
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
- nom_modules: required(array of object)
Items: items
- name: (string)
- version: (string)
- firewall_zones: required(array of object)
Items: items
- name: required(string)
- label: required(string)
- interfaces: required(array of string)
Example:
{
"node": {
"name": "test1",
"id": "nodes-1",
"lhvpn_address": "192.168.128.2",
"product": "opengear",
"runtime_status": {
"change_delta": 2148,
"change_time": 1471950616,
"action_status": "in progress",
"id": "nodes-1",
"action_error_message": "",
"action_type": "registration",
"connection_status": "never seen"
},
"cellhealth_runtime_status": {
"change_delta": 2148,
"change_time": 1471516371,
"status": "good",
"id": "nodes-1"
},
"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,
"view_template_push_status": true,
"modify": true,
"view_config_sync_status": true
},
"status": "Registering",
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:47:99",
"serial_number": "70000002451668",
"model": "ACM7004-5-LMR",
"last_job_id": "e26918b7-439e-4daf-8520-6a17e13b0dac",
"interfaces": [],
"etags": [],
"ports": [],
"approved": true,
"firmware_version": "4.0.0",
"nom_modules": [
{
"name": "dop",
"version": "1.2.0"
}
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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)
- connection_info: (object)
- address: (string)
- username: (string)
- password: (string)
- mac_address: (string)
- approved: required(boolean)
- tags: (array of object)
Items: items
- id: required(string)
- name: required(string)
- value: required(string)
Example:
{
"node": {
"name": "test1",
"approved": false,
"connection_info": {
"address": "192.168.1.1",
"username": "new_username",
"password": "new_pass"
},
"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)
- product: 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)
- cellhealth_runtime_status: required(object)
- change_delta: required(integer)
- change_time: required(integer)
- status: required(one of bad, moderate, good, pending, unknown, sim_issues, connectivity_test_failed, interface_disabled)
- tag_list: required(object)
- id: required(string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- tags: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- value: required(string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- model: required(string)
- approved: required(boolean)
- firmware_version: required(string)
- mac_address: required(string)
- serial_number: required(string)
- enrollment_bundle: required(string)
- interfaces: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- ipv4_addr: (string)
- ipv6_addr: (string)
- etags: required(array of object)
Items: items
- id: required(string)
- status: required(string)
- version: required(integer)
- name: required(string)
- ports: required(array of object)
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
- nom_modules: required(array of object)
Items: items
- name: (string)
- version: (string)
- firewall_zones: required(array of object)
Items: items
- name: required(string)
- label: required(string)
- interfaces: required(array of string)
Example:
{
"node": {
"name": "test1",
"id": "nodes-1",
"lhvpn_address": "192.168.128.2",
"product": "opengear",
"runtime_status": {
"change_delta": 2148,
"change_time": 1471950616,
"action_status": "in progress",
"id": "nodes-1",
"action_error_message": "",
"action_type": "registration",
"connection_status": "never seen"
},
"cellhealth_runtime_status": {
"change_delta": 2148,
"change_time": 1471516371,
"id": "nodes-1",
"status": "bad"
},
"tag_list": {
"id": "nodes-1",
"tags": [],
"rights": {
"create": true,
"modify": true,
"delete": true
}
},
"rights": {
"delete": false,
"view_template_push_status": true,
"modify": true,
"view_config_sync_status": true
},
"status": "Registering",
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:47:99",
"serial_number": "70000002451668",
"model": "ACM7004-5-LMR",
"interfaces": [],
"etags": [],
"ports": [],
"approved": false,
"firmware_version": "4.0.0",
"nom_modules": [
{
"name": "dop",
"version": "1.2.0"
}
]
}
}
HTTP status code 400
Invalid request data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 'name' was not provided in the request.",
"args": {
"param": "name"
},
"level": 1
},
{
"type": 4,
"code": 105,
"text": "'name' : Opengear devices address and credentials are not editable.",
"args": {
"param": "name"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node does not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
Request not allowed
Body
Media type: application/json
Type: object
Example:
{
"error": "Dependent Lighthouse cannot process node unenrollment"
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the enrollment package for a node, secured by the package password generated by lighthouse.
get /nodes/{id}/registration_package
Retrieve the enrollment package for a node, secured by the package password generated by lighthouse.
URI Parameters
- id: required(string)
ID of the node.
Example:
nodes-1
- password: required(string)
Registration password generated by Lighthouse when initiating registration
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)
- server_api_port: required(number)
- server_vpn_port: required(number)
- lh_ext_eps: required(array of object)
Items: items
- server: required(string)
- server_api_port: required(number)
- server_vpn_port: required(number)
- ignore_date_header: required(boolean)
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
}
]
}
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.
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
List of tags
Body
Media type: application/json
Type: object
Properties- tags: required(array of object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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.
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
The newly created node tag.
Body
Media type: application/json
Type: object
Properties- tag: required(object)
- id: required(string)
- name: required(string)
- value: required(string)
Example:
{
"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: name item missing.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node with given node id not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node with given node {id} not found. Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node with given node {id} not found. Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node with given node {id} not found. Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
If configured each node can display runtime cell health details this includes the result of the last connectivity test run There may be some delay between the connectivity test and the other results due to the time that a connectivity test can take, up to 5 minutes.
Get the current cell health runtime details
get /nodes/{id}/cellhealth_runtime_details
Get the current cell health runtime details
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 cell health run time details
Body
Media type: application/json
Type: object
Properties- node_cellhealth_runtime_details: required(object)
- id: required(string)
- failover_status: required(one of Active, Failover, Failed)
Current status of fail over.
- signal_strength: required(integer)
Current signal strength of cellular modem
- failover_enabled: required(boolean)
Whether fail over has been enabled for cellular modem
- rssi: required(integer)
Current RSSI of cellular modem
- ipv6_address: required(string)
The ipv6 address of the modem if the interface is active
- ipv4_address: required(string)
The ipv4 address of the modem if the interface is active
- connection_status: required(boolean)
Whether the connection is up or down
- sim_issues: required(boolean)
If there are any sim issues detected (missing sim, or not enabled)
- connectivity_test: required(boolean)
The status of the last connectivity test. Which can take up to 15 minutes depending on the cellular modem within the node. There will be some delay between the other values returned in the node_cellhealth_runtime_details and the connectivity test.
- passthrough_enabled: required(boolean)
Whether IP Passthrough has been enabled.
- ar_controlled: required(boolean)
Whether auto response controlling has been enabled for fail over.
- failover_dormant: required(boolean)
Whether fail over dormant has been enabled. This would leave the cellular connection active even when not used for fail over.
- connection_type: required(string)
Current connection type, e.g lte, GSM
- carrier: required(string)
The mobile network carrier of the active SIM in the cellular modem.
- imei: required(string)
The IMEI of the cellular modem.
- imsi: required(string)
The IMSI of the active SIM in the cellular modem.
- iccid: required(string)
The ICCID of the active SIM in the cellular modem.
Example:
{
"node_cellhealth_runtime_details": {
"rssi": -75,
"ar_controlled": false,
"ipv6_address": "fe80::fc54:ff:fe56:a4b9",
"id": "nodes-1",
"passthrough_enabled": false,
"ipv4_address": "192.168.1.1",
"connectivity_test": true,
"failover_enabled": false,
"failover_dormant": false,
"sim_issues": true,
"connection_status": false,
"connection_type": "lte",
"signal_strength": 62,
"failover_status": "Active",
"carrier": "Telstra",
"imei": "353533100575607",
"imsi": "89148000004743232368",
"iccid": "310410892915611"
}
}
HTTP status code 400
Incomplete data.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
View the port logs if the node is configured to send their syslogs to Lighthouse.
Retrieve the port logs for a node.
get /nodes/{id}/port_logs
Retrieve the port logs 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}}
Query Parameters
- port_id: (integer)
Filter for which port the logs are from
- from_date: (string)
Filter for port logs that received after this time
- to_date: (string)
Filter for port logs that received before this time
- contains: (string)
Filter for port logs that contained specific text
- per_page: (integer - default: 10000)
Maximum number of port logs 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- port_logs: required(array of object)
Items: items
- id: required(string)
- port_id: required(string)
- message: required(string)
- node_time: required(string)
- lighthouse_time: required(string)
- meta: required(object)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"port_logs": [
{
"id": 1,
"port_id": "nodes_ports-1",
"message": "port log message example 1",
"node_time": "2020-09-07T03:00:00.000000",
"lighthouse_time": "2020-09-07T03:00:00.000005"
},
{
"id": 2,
"port_id": "nodes_ports-2",
"message": "port log message example 2",
"node_time": "2020-09-08T03:11:00.000000",
"lighthouse_time": "2020-09-08T03:11:00.000005"
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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
- order_by: (string - default: id)
Field by which to sort the nodes.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
- per_page: (integer - default: 100000)
Maximum number of items per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- json: (string)
JSON URL encoded search parameters.
For 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%22config%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)
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 equal to test, or
config:status=!Enrolled will search for nodes which are not enrolled.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D - 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 string)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"nodes": [
"nodes-1",
"nodes-2",
"nodes-3",
"nodes-4",
"nodes-5"
],
"meta": {
"searchId": "{150f460-743e-11e6-baab-080027032960",
"total_count": 5,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 string)
Example:
{
"fields": [
"config:approved",
"config:common_name",
"config:description",
"config:lhvpn_address",
"config:mac_address",
"config:name",
"config:product",
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
Items: items
- id: required(string)
- label: required(string)
- mode: required(one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- node_id: required(string)
- node_name: required(string)
- ssh_enabled: required(boolean)
- webshell_enabled: required(boolean)
- port_csid: required(string)
- runtime_status: required(object)
- id: required(string)
- connection_status: required(one of connected, pending, disconnected, unknown, never seen)
- change_delta: required(integer)
- change_time: required(integer)
- action_status: required(one of in progress, finished, error, unknown)
- action_error_message: required(string)
- action_type: required(one of registration, enrollment, none)
- resource_tags: required(array of string)
- web_terminal_url: required(string)
- proxied_ssh_url: required(string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
- order_by: (string - default: _id)
Field by which to sort the ports.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
- per_page: (integer - default: 100000)
Maximum number of items per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- json: (string)
JSON URL encoded search parameters.
For 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%22config%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)
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 equal to test, or
config:status=!Enrolled will search for nodes which are not enrolled.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D - 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 object)
Items: items
- id: required(string)
- label: required(string)
- mode: required(one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- node_id: required(string)
- node_name: required(string)
- ssh_enabled: required(boolean)
- webshell_enabled: required(boolean)
- port_csid: required(string)
- runtime_status: required(object)
- id: required(string)
- connection_status: required(one of connected, pending, disconnected, unknown, never seen)
- change_delta: required(integer)
- change_time: required(integer)
- action_status: required(one of in progress, finished, error, unknown)
- action_error_message: required(string)
- action_type: required(one of registration, enrollment, none)
- resource_tags: required(array of string)
- web_terminal_url: required(string)
- proxied_ssh_url: required(string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- 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,
"resource_tags": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
}
],
"meta": {
"searchId": "{4648d82-5b8a-11e7-a476-773c6172a34}",
"total_count": 5,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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- port: required(object)
- id: required(string)
- label: required(string)
- mode: required(one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- node_id: required(string)
- node_name: required(string)
- ssh_enabled: required(boolean)
- webshell_enabled: required(boolean)
- port_csid: required(string)
- runtime_status: required(object)
- id: required(string)
- connection_status: required(one of connected, pending, disconnected, unknown, never seen)
- change_delta: required(integer)
- change_time: required(integer)
- action_status: required(one of in progress, finished, error, unknown)
- action_error_message: required(string)
- action_type: required(one of registration, enrollment, none)
- resource_tags: required(array of string)
- web_terminal_url: required(string)
- proxied_ssh_url: required(string)
URI to ssh to a port on a Lighthouse-enrolled node
Example:
ssh://username:consoleserver:portnumber@lhip
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a list of smart groups for port objects
Create a new smart group for port objects
get /ports/smartgroups
Retrieve a list of smart groups for port objects
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns a list of smart groups for port objects
Body
Media type: application/json
Type: object
Example:
{
"meta": {
"total_count": 2,
"total_pages": 1
},
"smartgroups": [
{
"id": "smart_groups_ports_groups-1",
"name": "single-port-label",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}"
},
{
"id": "smart_groups_ports_groups-2",
"name": "multi-port-label",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"items\":[{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}, {\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"om\"}], \"type\": 1}"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 /ports/smartgroups
Create a new smart group for port objects
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"name": "single-port-label",
"query": "{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}"
}
}
HTTP status code 200
Smartgroup created successfully.
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_ports_groups-4",
"rights": {
"delete": true,
"modify": true,
},
"name": "single-port-label",
"query": "{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}",
}
}
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a port smart group by ID
Update a port smart group by ID
Delete a port smart group by ID
get /ports/smartgroups/{id}
Retrieve a port smart group by ID
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns smart group query for port objects
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_ports_groups-1",
"name": "single-port-label",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
put /ports/smartgroups/{id}
Update a port smart group by ID
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_ports_groups-1",
"name": "single-port-label",
"query": "{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}"
}
}
HTTP status code 200
Updated port smart group
Body
Media type: application/json
Type: object
Example:
{
"smartgroup": {
"id": "smart_groups_ports_groups-1",
"name": "single-port-label",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"type\": 3, \"fieldname\": \"config:label\", \"oper\": 1, \"datatype\": 4, \"value\": \"acm\"}"
}
}
HTTP status code 400
Request data was not valid or incomplete
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Smartgroup does not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /ports/smartgroups/{id}
Delete a port smart group by ID
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
The port smart group was deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
/managed_devices
Retrieving information on managed devices grouped by nodes
Retrieve a list of managed devices grouped by nodes Any number of search query parameters can be provided to perform an ANDed search on the ports and nodes. This search must be performed with field names in the context of a port search. 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 /managed_devices
Retrieve a list of managed devices grouped by nodes Any number of search query parameters can be provided to perform an ANDed search on the ports and nodes. This search must be performed with field names in the context of a port search. 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)
Maximum number of nodes per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: id)
Field by which to sort the nodes.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
- searchparameters: (string)
One or more search fields
HTTP status code 200
Returns a list of managed devices grouped by nodes
Body
Media type: application/json
Type: object
Example:
{
"nodes": [
{
"interfaces": [
{
"id": "nodes_interfaces-1",
"ipv4_addr": "192.168.1.11",
"name": "Network"
},
{
"id": "nodes_interfaces-2",
"name": "Management LAN"
},
{
"id": "nodes_interfaces-3",
"name": "Internal Cellular Modem"
}
],
"rights": {
"delete": true,
"modify": true,
"view_cellhealth_runtime_details": true
},
"lhvpn_address": "192.168.128.2",
"product": "opengear",
"id": "nodes-1",
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:a3:07",
"common_name": "nodes-1",
"ports": [
{
"label": "Port 1",
"id": "nodes_ports-1",
"node_name": "acm7008-2",
"webshell_enabled": false,
"port_csid": "port1",
"mode": "localConsole",
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-1",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"ssh_enabled": false
},
{
"proxied_ssh_url": "ssh://root:nodes-1:port3@192.168.1.2",
"label": "Crossover 1",
"id": "nodes_ports-3",
"node_name": "acm7008-2",
"webshell_enabled": false,
"web_terminal_url": "manage/devices/ports/terminal/nodes-1/port3?name=Crossover 1",
"port_csid": "port3",
"mode": "consoleServer",
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-1",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"cellhealth_runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"status": "moderate",
"id": "nodes-1"
},
"ssh_enabled": true
},
{
"label": "Rear USB 1",
"id": "nodes_ports-9",
"node_name": "acm7008-2",
"webshell_enabled": false,
"port_csid": "port9",
"mode": "disabled",
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-1",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"ssh_enabled": false
}
],
"serial_number": "70081708004801",
"name": "acm7008-2",
"model": "ACM7008-2",
"status": "Enrolled",
"approved": 1,
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-1",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"firmware_version": "CI-1182"
},
{
"interfaces": [
{
"id": "nodes_interfaces-4",
"ipv4_addr": "192.168.1.12",
"name": "Network"
},
{
"id": "nodes_interfaces-5",
"name": "Management LAN"
},
{
"id": "nodes_interfaces-6",
"name": "Internal Cellular Modem"
}
],
"rights": {
"delete": true,
"modify": true
},
"lhvpn_address": "192.168.128.3",
"product": "opengear",
"id": "nodes-2",
"enrollment_bundle": "Global",
"mac_address": "00:13:c6:02:a3:08",
"common_name": "nodes-2",
"ports": [
{
"label": "Port 1",
"id": "nodes_ports-20",
"node_name": "acm7004-5",
"webshell_enabled": false,
"port_csid": "port1",
"mode": "localConsole",
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-1",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"ssh_enabled": false
},
{
"proxied_ssh_url": "ssh://root:nodes-2:port3@192.168.1.2",
"label": "Super 1",
"id": "nodes_ports-23",
"node_name": "acm7004-5",
"webshell_enabled": false,
"web_terminal_url": "manage/devices/ports/terminal/nodes-2/port3?name=Super 1",
"port_csid": "port3",
"mode": "consoleServer",
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-1",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"ssh_enabled": true
}
],
"serial_number": "70081708004801",
"name": "acm7004-5",
"model": "ACM7004-5",
"status": "Enrolled",
"approved": 1,
"runtime_status": {
"change_delta": 86921,
"change_time": 1515973541,
"action_status": "finished",
"id": "nodes-2",
"action_error_message": "",
"action_type": "enrollment",
"connection_status": "connected"
},
"firmware_version": "CI-1182"
}
],
"meta": {
"searchId": "{85e937c-fa4f-11e7-9714-fbc312b6355}",
"total_count": 1,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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, ports and SMF resources on the system.
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.
Searching nodes attached to this lighthouse instance.
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)
JSON URL encoded search parameters.
For 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%22config%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)
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 equal to test, or
config:status=!Enrolled will search for nodes which are not enrolled.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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 /search/nodes
Searching nodes attached to this lighthouse instance.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- searchparameters: (string)
One or more search fields as provided by /nodes/fields. For example, config:name=*test*, will search for nodes with names equal to test, or config:status=!Enrolled will search for nodes which are not enrolled. Allowed operators are: =value, =!value. Reserved characters to be URl encoded, e.g. = as %3D
- per_page: (integer - default: 100000)
Maximum number of nodes per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: id)
Field by which to sort the nodes.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
Body
Media type: application/json
Type: object
Properties- search: required(object)
- type: required(one of 1, 2, 3, 4)
The possible values for the condition type: 1 - AND 2 - OR 3 - BASIC 4 - IN
- items: required(array of object)
Items: items
- value: required(string)
- fieldname: required(string)
- type: required(one of 1, 2, 3, 4)
The possible values for the condition type: 1 - AND 2 - OR 3 - BASIC 4 - IN
- datatype: required(one of 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13)
The possible values for the data type: 1 - BOOL 2 - INT 3 - FLOAT 4 - STRING 6 - BLOB 7 - LIST 8 - MAP 9 - REFERENCE 10 - IF 11 - ONE_OF 12 - IPV4 13 - NONE
- oper: required(one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
The possible values for the operator type: 1 - EQUAL 2 - NEQUAL 3 - LESS 4 - LEQUAL 5 - GREATER 6 - GEQUAL 7 - BEGINS 8 - ENDS 9 - CONTAINS 10 - EXISTS 11 - NEXISTS 12 - IN 13 - NIN
- type: required(one of 1, 2, 3, 4)
Example:
{
"search": {
"type": 1,
"items": [
{
"value": "node_name",
"fieldname": "config:name",
"type": 3,
"datatype": 4,
"oper": 9
},
{
"value": "4.8.2",
"fieldname": "config:firmware_version",
"type": 3,
"datatype": 4,
"oper": 1
}
]
}
}
HTTP status code 200
The nodes fulfill the search conditions
Body
Media type: application/json
Type: array of object
Items: items
- id: required(string)
- addresses: required(array of string)
- approved: required(boolean)
- status: required(one of Enrolled, Registering, Registered, Unknown, Pending)
- name: required(string)
- lhvpn_addresses: required(array of string)
- firmware_version: required(string)
- mac_address: required(string)
- model: required(string)
- product: required(string)
- serial_number: required(string)
- non_lhvpn_address: required(string)
- ports: required(array of object)
Items: items
- id: required(string)
- label: required(string)
- mode: required(one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- node_id: required(string)
- ssh_enabled: required(boolean)
- webshell_enabled: required(boolean)
Example:
[
{
"id": 1,
"addresses": [
"192.168.0.1",
"10.74.0.168",
"10.74.0.170"
],
"approved": true,
"status": "Enrolled",
"name": "om2200-q",
"lhvpn_addresses": [
"192.168.128.2"
],
"firmware_version": "23.03.3",
"mac_address": "12:11:11:11:11:11",
"model": "OM2200-Q",
"product": "opengear",
"serial_number": "000000emulated",
"non_lhvpn_address": "",
"ports": [
{
"id": 1,
"label": "Port-1",
"mode": "consoleServer",
"node_id": 1,
"ssh_enabled": false,
"webshell_enabled": false
}
]
}
]
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
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.
Searching ports attached to this lighthouse instance.
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)
JSON URL encoded search parameters.
For 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%22config%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)
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 equal to test, or
config:status=!Enrolled will search for nodes which are not enrolled.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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 /search/ports
Searching ports attached to this lighthouse instance.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Maximum number of nodes per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: id)
Field by which to sort the nodes.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
Body
Media type: application/json
Type: object
Properties- search: required(object)
- type: required(one of 1, 2, 3, 4)
The possible values for the condition type: 1 - AND 2 - OR 3 - BASIC 4 - IN
- items: required(array of object)
Items: items
- value: required(string)
- fieldname: required(string)
- type: required(one of 1, 2, 3, 4)
The possible values for the condition type: 1 - AND 2 - OR 3 - BASIC 4 - IN
- datatype: required(one of 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13)
The possible values for the data type: 1 - BOOL 2 - INT 3 - FLOAT 4 - STRING 6 - BLOB 7 - LIST 8 - MAP 9 - REFERENCE 10 - IF 11 - ONE_OF 12 - IPV4 13 - NONE
- oper: required(one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
The possible values for the operator type: 1 - EQUAL 2 - NEQUAL 3 - LESS 4 - LEQUAL 5 - GREATER 6 - GEQUAL 7 - BEGINS 8 - ENDS 9 - CONTAINS 10 - EXISTS 11 - NEXISTS 12 - IN 13 - NIN
- type: required(one of 1, 2, 3, 4)
Example:
{
"search": {
"type": 1,
"items": [
{
"value": "tag1",
"fieldname": "config:tag",
"type": 3,
"datatype": 4,
"oper": 1
},
{
"value": "Port",
"fieldname": "config:label",
"type": 3,
"datatype": 4,
"oper": 7
}
]
}
}
HTTP status code 200
The nodes with ports which fulfill the search conditions
Body
Media type: application/json
Type: array of object
Items: items
- id: required(string)
- addresses: required(array of string)
- approved: required(boolean)
- status: required(one of Enrolled, Registering, Registered, Unknown, Pending)
- name: required(string)
- lhvpn_addresses: required(array of string)
- firmware_version: required(string)
- mac_address: required(string)
- model: required(string)
- product: required(string)
- serial_number: required(string)
- non_lhvpn_address: required(string)
- ports: required(array of object)
Items: items
- id: required(string)
- label: required(string)
- mode: required(one of disabled, localConsole, consoleServer, sdtServer, bridge, terminalServer, reserved, powerman, unknown)
- node_id: required(string)
- ssh_enabled: required(boolean)
- webshell_enabled: required(boolean)
Example:
[
{
"id": 1,
"addresses": [
"192.168.0.1",
"10.74.0.168",
"10.74.0.170"
],
"approved": true,
"status": "Enrolled",
"name": "om2200-q",
"lhvpn_addresses": [
"192.168.128.2"
],
"firmware_version": "23.03.3",
"mac_address": "12:11:11:11:11:11",
"model": "OM2200-Q",
"product": "opengear",
"serial_number": "000000emulated",
"non_lhvpn_address": "",
"ports": [
{
"id": 1,
"label": "Port-1",
"mode": "consoleServer",
"node_id": 1,
"ssh_enabled": false,
"webshell_enabled": false
},
{
"id": 2,
"label": "Port-2",
"mode": "consoleServer",
"node_id": 1,
"ssh_enabled": false,
"webshell_enabled": false
}
]
}
]
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Creating a search ID for managed devices from the given query parameters.
Gets a search ID for searching managed devices attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the managed devices. The list provided is dynamic. This search must be performed with field names in the context of a port search.
get /search/managed
Gets a search ID for searching managed devices attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the managed devices. The list provided is dynamic. This search must be performed with field names in the context of a port search.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- json: (string)
JSON URL encoded search parameters.
For 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%22config%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)
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 equal to test, or
config:status=!Enrolled will search for nodes which are not enrolled.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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 SMF resources from the given query parameters.
Gets a search ID for searching SMF resources attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the SMF resources. The parameters possible should be retrieved with GET /smf_resources/fields. The list provided is dynamic.
Searching SMF resources attached to this lighthouse instance.
get /search/smf_resources
Gets a search ID for searching SMF resources attached to this lighthouse instance. Any number of search query parameters can be provided to perform an ANDed search on the SMF resources. The parameters possible should be retrieved with GET /smf_resources/fields. The list provided is dynamic.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- json: (string)
JSON URL encoded search parameters.
For 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%22config%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:resource_name","value":"test"}]} - jb64: (string)
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 /smf_resources/fields.
For example,
config:resource_name=*test*, will search for SMF resource with names equal to test, or
config:tag=!tag1 will search for
SMF resources which are not tagged with tag1.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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 /search/smf_resources
Searching SMF resources attached to this lighthouse instance.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- searchparameters: (string)
One or more search fields as provided by /smf_resources/fields. For example, config:resource_name=*test*, will search for SMF resource with names equal to test, or config:tag=!tag1 will search for SMF resources which are not tagged with tag1. status:service_connection=\"connected\" will search for SMF resources which have at least one service the current Lighthouse can reach. Allowed operators are: =value, =!value. Reserved characters to be URl encoded, e.g. = as %3D
- per_page: (integer - default: 100000)
Maximum number of nodes per page
- page: (integer - default: 1)
The page to return (indexed from 1)
Body
Media type: application/json
Type: object
Properties- search: required(object)
- type: required(one of 1, 2, 3, 4)
The possible values for the condition type: 1 - AND 2 - OR 3 - BASIC 4 - IN
- items: required(array of object)
Items: items
- value: required(string)
- fieldname: required(string)
- type: required(one of 1, 2, 3, 4)
The possible values for the condition type: 1 - AND 2 - OR 3 - BASIC 4 - IN
- datatype: required(one of 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13)
The possible values for the data type: 1 - BOOL 2 - INT 3 - FLOAT 4 - STRING 6 - BLOB 7 - LIST 8 - MAP 9 - REFERENCE 10 - IF 11 - ONE_OF 12 - IPV4 13 - NONE
- oper: required(one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
The possible values for the operator type: 1 - EQUAL 2 - NEQUAL 3 - LESS 4 - LEQUAL 5 - GREATER 6 - GEQUAL 7 - BEGINS 8 - ENDS 9 - CONTAINS 10 - EXISTS 11 - NEXISTS 12 - IN 13 - NIN
- type: required(one of 1, 2, 3, 4)
Example:
{
"search": {
"type": 2,
"items": [
{
"value": "SMFResource1",
"fieldname": "config:resource_name",
"type": 3,
"datatype": 4,
"oper": 1
},
{
"value": "SMFResource2",
"fieldname": "config:resource_name",
"type": 3,
"datatype": 4,
"oper": 1
}
]
}
}
HTTP status code 200
The SMF resources fulfill the search conditions
Body
Media type: application/json
Type: array of object
Items: smf_resource_tags
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
Example:
[
{
"id": "smf-resources-1",
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"connection_status": "disconnected",
"connection_status_last_updated": 1712271224,
"port": 443,
"url": "https://8726bcdeacde89a.crg.example.com",
"user_facing_id": "8726bcdeacde89a"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1612071321,
"port": 22,
"url": "ssh://bob$crg$$acde89a8726bcde@15.16.20.3:2532",
"user_facing_id": "acde89a8726bcde"
}
},
"resource_tags": []
},
{
"id": "smf-resources-2",
"name": "SMFResource2",
"address": "192.168.0.2",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1712272224,
"port": 8443,
"url": "https://e89a286b7acdcde.crg.example.com",
"user_facing_id": "e89a286b7acdcde"
},
"http": {
"connection_status": "disconnected",
"connection_status_last_updated": 1712251224,
"port": 8080,
"url": "https://87acde89a26bcde.crg.example.com",
"user_facing_id": "87acde89a26bcde"
}
},
"resource_tags": []
}
]
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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 an 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",
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 an 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",
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Used for Configuring Cellular Health Report.
Fetch Cellular Health Report configuration.
Updates the cellular health report
get /services/cellhealth
Fetch Cellular Health Report configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns the configuration currently in use for cellular health report.
Body
Media type: application/json
Type: object
Example:
{
"cellhealth": {
"cell_health_enabled": true,
"connectivity_test_enabled": true,
"interval_unit": "day(s)",
"quality_range_quarter1": 0,
"quality_range_quarter2": 33,
"quality_range_quarter3": 66,
"quality_range_quarter4": 100,
"interval_frequency": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/cellhealth
Updates the cellular health report
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"cellhealth": {
"cell_health_enabled": true,
"connectivity_test_enabled": true,
"interval_unit": "day(s)",
"quality_range_quarter1": 0,
"quality_range_quarter2": 33,
"quality_range_quarter3": 66,
"quality_range_quarter4": 100,
"interval_frequency": 1
}
}
HTTP status code 200
Returns the updated Cellular Health Report configuration
Body
Media type: application/json
Type: object
Example:
{
"cellhealth": {
"cell_health_enabled": true,
"connectivity_test_enabled": true,
"interval_unit": "day(s)",
"quality_range_quarter1": 0,
"quality_range_quarter2": 33,
"quality_range_quarter3": 66,
"quality_range_quarter4": 100,
"interval_frequency": 1
}
}
HTTP status code 400
Invalid request: body is not json or does not conform to required json schema. Incomplete data: cell_health_enabled, or "connectivity_test_enabled" parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 save cellular health report configuration.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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
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": "ntp1.example.com"
},
{
"id": "services_ntp_servers-1",
"value": "ntp2.example.com"
}
],
"id": "services_ntp"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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": "ntp1.example.com"
},
{
"id": "services_ntp_servers-1",
"value": "ntp2.example.com"
},
{
"id": null,
"value": "ntp3.example.com"
}
],
"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": "ntp1.example.com"
},
{
"id": "services_ntp_servers-1",
"value": "ntp2.example.com"
},
{
"id": null,
"value": "ntp3.example.com"
}
],
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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)
- ssh_url_address: required(string)
Example:
{
"console_gateway": {
"ssh_url_delimiter": ":",
"ssh_url_address": "address.com"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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": ":",
"ssh_url_address": "address.com"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- console_gateway: required(object)
- ssh_url_delimiter: required(string)
- ssh_url_address: required(string)
Example:
{
"console_gateway": {
"ssh_url_delimiter": ":",
"ssh_url_address": "address.com"
}
}
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 object)
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 network address",
"args": {
"uuid": "root-1-services_consoleGateway_ssh_address",
"address": ""
},
"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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 configure the lhvpn settings.
Get the LHVPN configuration.
Update the LHVPN configuration.
get /services/lhvpn
Get the LHVPN configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- lhvpn: required(object)
- mtu: required(integer)
- mask: required(string)
- address: required(string)
- smf_address: (string)
- smf_mask: (string)
Example:
{
"lhvpn": {
"mtu": 1400,
"address": "10.16.0.0",
"mask": "255.255.0.0",
"smf_address": "10.0.0.0",
"smf_mask": "19"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/lhvpn
Update the LHVPN configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- lhvpn: required(object)
- mtu: required(integer)
- mask: required(string)
- address: required(string)
- smf_address: (string)
- smf_mask: (string)
Example:
{
"lhvpn": {
"mtu": 1400,
"address": "192.168.128.0",
"mask": "255.255.224.0",
"smf_address": "10.0.32.0",
"smf_mask": "20"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- lhvpn: required(object)
- mtu: required(integer)
- mask: required(string)
- address: required(string)
- smf_address: (string)
- smf_mask: (string)
Example:
{
"lhvpn": {
"mtu": 1400,
"address": "192.168.128.0",
"mask": "255.255.224.0",
"smf_address": "10.0.32.0",
"smf_mask": "20"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 the Lighthouse specific SMF settings.
Get the SMF settings for all Lighthouses.
get /services/smf
Get the SMF settings for all Lighthouses.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- lighthouse_role: (string)
Filter the SMF settings list down to just the Lighthouses with this role
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- smf: required(array of object)
Contains the Lighthouse specific smart management fabric settings for all Lighthouses.
Items: items
- lighthouse: required(string)
The uuid of the Lighthouse these settings are associated with.
- lighthouse_role: required(one of Primary, Secondary)
The role of the Lighthouse these settings are associated with.
- address: required(string)
The network address of the subnet that the smart management fabric functionality runs on for the associated Lighthouse.
- mask: required(string)
The network mask of the subnet that smart management fabric functionality runs on for the associated Lighthouse.
- lighthouse: required(string)
Example:
{
"smf": [
{
"lighthouse": "lighthouse_configurations-1",
"lighthouse_role": "Primary",
"address": "10.10.10.0",
"mask": "24"
},
{
"lighthouse": "lighthouse_configurations-2",
"lighthouse_role": "Secondary",
"address": "10.10.11.0",
"mask": "24"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve and configure the SNMP daemon settings.
Get the snmp configuration.
Update the snmp configuration.
get /services/snmp
Get the snmp configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- snmp: required(object)
- enabled: required(boolean)
- protocol: required(string)
- location: (string)
- contact: (string)
- v3_enabled: required(boolean)
- v1_enabled: required(boolean)
- read_write_community: (string)
- read_only_community: (string)
- auth_protocol: (string)
- auth_password: (string)
- username: (string)
- engine_id: (string)
- privacy_protocol: (string)
- privacy_password: (string)
- security_level: (string)
Example:
{
"snmp": {
"enabled": true,
"protocol": "UDP",
"read_write_community": "secret",
"read_only_community": "secret",
"auth_protocol": "SHA",
"username": "michaelf",
"engine_id": "0x80001f8803555000000000",
"v3_enabled": true,
"v1_enabled": false,
"privacy_protocol": "DES",
"security_level": "noAuthNoPriv",
"location": "BNE",
"contact": "mail@example.com"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/snmp
Update the snmp configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- snmp: required(object)
- enabled: required(boolean)
- protocol: required(string)
- location: (string)
- contact: (string)
- v3_enabled: required(boolean)
- v1_enabled: required(boolean)
- read_write_community: (string)
- read_only_community: (string)
- auth_protocol: (string)
- auth_password: (string)
- username: (string)
- engine_id: (string)
- privacy_protocol: (string)
- privacy_password: (string)
- security_level: (string)
Example:
{
"snmp": {
"enabled": true,
"protocol": "UDP",
"read_write_community": "secret",
"read_only_community": "secret",
"auth_protocol": "SHA",
"auth_password": "secret123",
"username": "michaelf",
"engine_id": "0x80001f8803555000000000",
"v3_enabled": true,
"v1_enabled": false,
"privacy_protocol": "DES",
"privacy_password": "secret123",
"security_level": "noAuthNoPriv",
"location": "BNE",
"contact": "mail@example.com"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- snmp: required(object)
- enabled: required(boolean)
- protocol: required(string)
- location: (string)
- contact: (string)
- v3_enabled: required(boolean)
- v1_enabled: required(boolean)
- read_write_community: (string)
- read_only_community: (string)
- auth_protocol: (string)
- auth_password: (string)
- username: (string)
- engine_id: (string)
- privacy_protocol: (string)
- privacy_password: (string)
- security_level: (string)
Example:
{
"snmp": {
"enabled": true,
"protocol": "UDP",
"read_write_community": "secret",
"read_only_community": "secret",
"auth_protocol": "SHA",
"username": "michaelf",
"engine_id": "0x80001f8803555000000000",
"v3_enabled": true,
"v1_enabled": false,
"privacy_protocol": "DES",
"security_level": "noAuthNoPriv",
"location": "BNE",
"contact": "mail@example.com"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Provides access to the remote syslog server configuration.
Fetch remote syslog server configuration list.
Create a new syslog server data in the configuration.
get /services/syslog
Fetch remote syslog server configuration list.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns the current syslog server configuration.
Body
Media type: application/json
Type: object
Example:
{
"syslogServers": [
{
"id": "services_syslog_servers-31",
"value": "0.au.pool.rsyslog.org",
"port": "601",
"protocol": "UDP"
},
{
"id": "services_syslog_servers-32",
"value": "2.au.pool.rsyslog.org",
"port": "602",
"protocol": "UDP"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /services/syslog
Create a new syslog server data in the configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"syslogServer": {
"address": "192.168.1.1",
"port": 1000,
"protocol": "UDP"
}
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{
"syslogServer": {
"id": "{services_syslog_servers-2}",
"port": 1000,
"protocol": "UDP",
"address": "192.168.1.1"
}
}
HTTP status code 400
Failed to initiate syslog server creation due to error in post body.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 22,
"text": "Element [protocol] is of the wrong type",
"args": {
"uuid": "protocol"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failed due to invalid session.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Returns the syslog server configuration for given id
Update syslog server configuration
Delete a syslog server
get /services/syslog/{syslog_server_id}
Returns the syslog server configuration for given id
Lighthouse base authentication scheme
URI Parameters
- syslog_server_id: required(string)
unique identifier for syslog servers
Example:
services_syslog_servers-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns the updated syslog server configuration.
Body
Media type: application/json
Type: object
Example:
{
"syslogServer": {
"id": "services_syslog_servers-1",
"port": 705,
"protocol": "UDP",
"address": "192.168.1.1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/syslog/{syslog_server_id}
Update syslog server configuration
Lighthouse base authentication scheme
URI Parameters
- syslog_server_id: required(string)
unique identifier for syslog servers
Example:
services_syslog_servers-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"syslogServer": {
"address": "192.168.1.1",
"port": 1000,
"protocol": "UDP"
}
}
HTTP status code 200
Returns the updated syslog server configuration.
Body
Media type: application/json
Type: object
Example:
{
"syslogServer": {
"id": "services_syslog_servers-1",
"port": 1000,
"protocol": "UDP",
"address": "192.168.1.1"
}
}
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 object)
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 'services_syslog-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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 syslog configuration.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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_syslog_servers-1"
},
"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
delete /services/syslog/{syslog_server_id}
Delete a syslog server
Lighthouse base authentication scheme
URI Parameters
- syslog_server_id: required(string)
unique identifier for syslog servers
Example:
services_syslog_servers-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
syslog server deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
syslog server does not exist
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 5,
"code": 29,
"text": "Could not find element with UUID 'services_syslog_servers-2'.",
"args": {
"uuid": "services_syslog_servers-2"
},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve and configure the SNMP TRAP/INFORM settings.
Get the snmp manager configuration.
Update the snmp manager configuration.
get /services/snmp_manager
Get the snmp manager configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- snmp_manager: required(object)
- enabled: required(boolean)
- protocol: required(one of UDP, TCP)
- address: required(string)
- port: (integer - minimum: 1 - maximum: 65535)
- msg_type: required(one of TRAP, INFORM)
Type of SNMP message to send.
- version: required(one of v1, v2c, v3)
- community: (string)
- auth_protocol: (one of SHA, MD5)
- auth_password: (string)
- username: (string)
- engine_id: (string)
- privacy_protocol: (one of AES, DES)
- privacy_password: (string)
- security_level: (one of noAuthNoPriv, authNoPriv, authPriv)
- traps: (array of string)
List of things that will trigger an SNMP message. Currently only sending TRAPS/INFORMS on a change in node connection status is supported.
Example:
{
"snmp_manager": {
"enabled": true,
"protocol": "UDP",
"community": "secret",
"auth_protocol": "SHA",
"username": "michaelf",
"engine_id": "0x80001f8803555000000000",
"version": "v3",
"privacy_protocol": "DES",
"security_level": "noAuthNoPriv",
"msg_type": "TRAP",
"address": "snmp.example.com",
"port": 167,
"traps": [
"nodes_conn_status",
"nodes_cellular_health_status"
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /services/snmp_manager
Update the snmp manager configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- snmp_manager: required(object)
- enabled: required(boolean)
- protocol: required(one of UDP, TCP)
- address: required(string)
- port: (integer - minimum: 1 - maximum: 65535)
- msg_type: required(one of TRAP, INFORM)
Type of SNMP message to send.
- version: required(one of v1, v2c, v3)
- community: (string)
- auth_protocol: (one of SHA, MD5)
- auth_password: (string)
- username: (string)
- engine_id: (string)
- privacy_protocol: (one of AES, DES)
- privacy_password: (string)
- security_level: (one of noAuthNoPriv, authNoPriv, authPriv)
- traps: (array of string)
List of things that will trigger an SNMP message. Currently only sending TRAPS/INFORMS on a change in node connection status is supported.
Example:
{
"snmp_manager": {
"enabled": true,
"protocol": "UDP",
"community": "secret",
"auth_protocol": "SHA",
"auth_password": "secret123",
"username": "michaelf",
"engine_id": "0x80001f8803555000000000",
"version": "v3",
"privacy_protocol": "DES",
"privacy_password": "secret123",
"security_level": "noAuthNoPriv",
"msg_type": "TRAP",
"address": "snmp.example.com",
"port": 167,
"traps": [
"nodes_conn_status",
"nodes_cellular_health_status"
]
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- snmp_manager: required(object)
- enabled: required(boolean)
- protocol: required(one of UDP, TCP)
- address: required(string)
- port: (integer - minimum: 1 - maximum: 65535)
- msg_type: required(one of TRAP, INFORM)
Type of SNMP message to send.
- version: required(one of v1, v2c, v3)
- community: (string)
- auth_protocol: (one of SHA, MD5)
- auth_password: (string)
- username: (string)
- engine_id: (string)
- privacy_protocol: (one of AES, DES)
- privacy_password: (string)
- security_level: (one of noAuthNoPriv, authNoPriv, authPriv)
- traps: (array of string)
List of things that will trigger an SNMP message. Currently only sending TRAPS/INFORMS on a change in node connection status is supported.
Example:
{
"snmp_manager": {
"enabled": true,
"protocol": "UDP",
"community": "secret",
"auth_protocol": "SHA",
"username": "michaelf",
"engine_id": "0x80001f8803555000000000",
"version": "v3",
"privacy_protocol": "DES",
"security_level": "noAuthNoPriv",
"msg_type": "TRAP",
"address": "snmp.example.com",
"port": 167,
"traps": [
"nodes_conn_status",
"nodes_cellular_health_status"
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 Netops service status.
get /services/netops
Get Netops service status.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- netops: required(object)
- repository: required(string)
- enabled: required(boolean)
Example:
{
"netops": {
"repository": "public.ecr.aws/opengear/netops",
"enabled": true
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Installs Netops Modules
post /services/netops/installer
Installs Netops Modules
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- size: required(integer)
The decompressed size of the image archive.
Example:
{
"size": 3443810816
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Shows the status of a current deployment process
get /services/netops/installer/status
Shows the status of a current deployment process
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
- error_message: required(string)
Example:
{
"status": "running",
"error_message": null
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Synchronizes images with the upstream repository
post /services/netops/sync
Synchronizes images with the upstream repository
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
Example:
{
"status": "pending"
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Shows the status of a current sync process
get /services/netops/sync/status
Shows the status of a current sync process
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- status: required(string)
- error_message: required(string)
Example:
{
"status": "running",
"error_message": null
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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 or resources.
Provides the ability to retrieve and manipulate all tags associated with Lighthouse nodes.
Returns the global node 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 node tag
get /tags/node_tags
Returns the global node 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)
Maximum number of tags 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_count: required(integer)
- total_pages: required(integer)
- nodeTags: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- values: required(array of object)
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)
- netops: (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_count": 3,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
No tag list found. Error retrieving tag list.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 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 any)
Example:
{
"nodeTag": {
"name": "Location",
"values": [
{
"value": "USA.NewYork"
},
{
"value": "UK.London"
}
]
}
}
HTTP status code 200
The newly created node 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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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 any)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 'tags_node_tags-0'.",
"args": {
"uuid": "tags_node_tags-0"
},
"level": 1
}
]
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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
Provides the ability to retrieve and manipulate all tags associated with node resources.
Returns the global resource tag list and associated resource count.
Create resource tag(s) and optionally associate them with resources. If "selected_ports" and/or "selected_smf_resources" are specified, those tags will be associated with them.
get /tags/resource_tags
Returns the global resource tag list and associated resource count.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Maximum number of tags per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: name)
Field by which to sort the resource tags.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
- name_filter: (string - default: )
Filter resource tags by name. Space separated list
HTTP status code 200
Returns the list of resource tags based on the query parameters.
Body
Media type: application/json
Type: object
Properties- resourceTags: required(array of object)
Items: items
- id: required(string)
- resource_tag_name: required(string)
- port_count: required(integer)
- smf_resource_count: required(integer)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"resourceTags": [
{
"id": "resource-tag-keys-1",
"resource_tag_name": "ResourceTag1",
"port_count": 2,
"smf_resource_count": 3
}
],
"meta": {
"total_count": 1,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User does not have permission to view resource tags.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 500
Error retrieving resource tag list.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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/resource_tags
Create resource tag(s) and optionally associate them with resources. If "selected_ports" and/or "selected_smf_resources" are specified, those tags will be associated with them.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- resourceTags: required(object)
- actions: required(object)
- create: (array of string)
The list of unique resource tag names to be created and optionally link them with ports and/or SMF resources.
- link: (array of string)
The list of existing resource tag UUIDs to link them with ports and/or SMF resources.
- unlink: (array of string)
The list of existing resource tag UUIDs to unlink them with ports and/or SMF resources.
- create: (array of string)
- selected_ports: (array of string)
The list of port UUIDs.
- selected_smf_resources: (array of string)
The list of SMF resource UUIDs.
- actions: required(object)
Examples:
Create tags only example:
{
"resourceTags": {
"actions": {
"create": [
"tagName1",
"tagName2"
]
}
}
}
Create, tag and untag on selected ports example:
{
"resourceTags": {
"actions": {
"create": [
"tagName2",
"tagName3"
],
"link": [
"resource-tag-keys-1",
"resource-tag-keys-2",
"resource-tag-keys-11",
"resource-tag-keys-15"
],
"unlink": [
"resource-tag-keys-9",
"resource-tag-keys-10",
"resource-tag-keys-12"
]
},
"selected_ports": [
"nodes_ports-22",
"nodes_ports-23"
]
}
}
Tag on selected SMF resources example:
{
"resourceTags": {
"actions": {
"link": [
"resource-tag-keys-1",
"resource-tag-keys-2",
"resource-tag-keys-11",
"resource-tag-keys-15"
]
},
"selected_smf_resources": [
"smf-resources-5",
"smf-resources-6"
]
}
}
Untag on selected ports and SMF resources example:
{
"resourceTags": {
"actions": {
"unlink": [
"resource-tag-keys-1",
"resource-tag-keys-2",
"resource-tag-keys-11",
"resource-tag-keys-15"
]
},
"selected_ports": [
"nodes_ports-22",
"nodes_ports-23"
],
"selected_smf_resources": [
"smf-resources-5",
"smf-resources-6"
]
}
}
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object
Example:
{
"createdTags": [
{
"resource_tag_id": "resource-tag-keys-4",
"resource_tag_name": "tag-name-1"
},
{
"resource_tag_id": "resource-tag-keys-5",
"resource_tag_name": "tag-name-2"
}
]
}
HTTP status code 400
Invalid request.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User does not have the permissions to create tags.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 500
Internal server error.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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
Update the given tag name
Deletes resource tag by id.
put /tags/resource_tags/{resource_tag_id}
Update the given tag name
Lighthouse base authentication scheme
URI Parameters
- resource_tag_id: required(string)
Unique identifier for resource tag.
Example:
resource-tag-keys-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- resource_tag: required(object)
- resource_tag_name: required(string)
Example:
{
"resource_tag": {
"resource_tag_name": "newName"
}
}
HTTP status code 200
Successful request.
HTTP status code 400
User does not have the permissions to create tags.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User does not have the permissions to create tags.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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/resource_tags/{resource_tag_id}
Deletes resource tag by id.
Lighthouse base authentication scheme
URI Parameters
- resource_tag_id: required(string)
Unique identifier for resource tag.
Example:
resource-tag-keys-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
The {resource_tag_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: resource_tag_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Tag information with given {resource_tag_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 the resource tag names.
Get the resource tag names, without any associated resources.
get /tags/resource_tags/names
Get the resource tag names, without any associated resources.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
All resource tag names.
Body
Media type: application/json
Type: object
Example:
{
"resourceTags": [
{
"id": "resource-tag-keys-1",
"resource_tag_name": "usb"
},
{
"id": "resource-tag-keys-2",
"resource_tag_name": "serial"
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User does not have permission to view resource tags.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Delete resource tags in bulk by resource tag id
post /tags/resource_tags/bulk/delete
Delete resource tags in bulk by resource tag id
Body
Media type: application/json
Type: base-type
Example:
{
"deleteTags": {
"resource_tag_ids": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
}
}
/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)
Maximum number of interfaces 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_count: required(integer)
- total_pages: required(integer)
- interfaces: required(array of object)
Items: items
- enabled: required(boolean)
- description: required(string)
- media: required(string)
- physif: required(string)
- role: required(string)
- name: required(string)
- ipv4_static_settings: (object)
- id: required(string)
- netmask: required(string)
- address: required(string)
- gateway: required(string)
- dns1: required(string)
- dns2: required(string)
- ipv6_static_settings: (object)
- id: required(string)
- prefix_length: required(number)
- address: required(string)
- gateway: required(string)
- dns1: required(string)
- dns2: required(string)
- mode: required(string)
- runtime_status: required(object)
- status: required(string)
- last_status_change: required(number)
- id: required(string)
- address: (string)
- gateway: (string)
- dns: (string)
- addresses: required(array of object)
Items: items
- address: (string)
- id: required(string)
- netmask: (string)
- prefix_length: (number)
- id: required(string)
- physifs: required(array of object)
Items: items
- name: required(string)
- device: required(string)
- enabled: required(boolean)
- description: required(string)
- media: required(one of wireless, ethernet, cellular)
- ethernet_link_speed: required(one of auto, 1000mbps-hd, 1000mbps-fd, 100mbps-hd, 100mbps-fd, 10mbps-hd, 10mbps-fd)
- mtu: required(number)
Example:
{
"interfaces": [
{
"enabled": true,
"description": "Default IPv4 Static Address",
"name": "default-conn-1",
"media": "auto",
"physif": "net1",
"role": "lan",
"mode": "static",
"ipv4_static_settings": {
"id": "system_net_conns-1",
"address": "192.168.1.100",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1",
"dns1": "192.168.1.2",
"dns2": "192.168.1.3"
},
"runtime_status": {
"status": "running",
"address": "192.168.1.100",
"addresses": [
{
"id": "system_net_conns-1-address-1"
}
],
"last_status_change": 1471506633,
"id": "system_net_conns-1"
},
"id": "system_net_conns-1"
},
{
"enabled": true,
"description": "IPv4 DHCP network connection",
"media": "auto",
"id": "system_net_conns-2",
"role": "lan",
"name": "default-conn-2",
"mode": "dhcp",
"runtime_status": {
"id": "system_net_conns-2",
"status": "running",
"addresses": [
{
"id": "system_net_conns-2-address-1",
"address": "192.168.1.1",
"netmask": "255.255.255.0"
}
],
"gateway": "192.168.1.1",
"dns1": "192.168.1.1",
"dns2": "192.168.1.2",
"last_status_change": 1471506160
},
"physif": "net1"
},
{
"enabled": true,
"description": "IPv6 Auto-configured connection (RA/DHCPv6)",
"media": "auto",
"id": "system_net_conns-3",
"role": "lan",
"name": "default-conn-3",
"mode": "ipv6_automatic",
"runtime_status": {
"id": "system_net_conns-3",
"status": "running",
"addresses": [
{
"id": "system_net_conns-3-address-1",
"address": "fd07:2218:1350:48:5054:ff:fe24:907a",
"prefix_length": 64
},
{
"id": "system_net_conns-3-address-2",
"address": "fd07:2218:1350:48::5",
"prefix_length": 64
}
],
"address": "fd07:2218:1350:48:5054:ff:fe24:907a",
"gateway": "fd07:2218:1350:48::1",
"dns1": "fd07:2218:1350:48::1",
"dns2": "fd07:2218:1350:48::2",
"last_status_change": 1471506160
},
"physif": "net1"
},
{
"enabled": true,
"description": "IPv6 Static Address",
"name": "default-conn-4",
"media": "auto",
"physif": "net1",
"role": "lan",
"mode": "ipv6_static",
"ipv6_static_settings": {
"id": "system_net_conns-4",
"address": "fd07:2218:1350:48:5054:ff:fe24:beef",
"prefix_length": 64,
"gateway": "fd07:2218:1350:48::1",
"dns1": "fd07:2218:1350:48::1",
"dns2": "fd07:2218:1350:48::2"
},
"runtime_status": {
"status": "running",
"address": "fd07:2218:1350:48:5054:ff:fe24:beef",
"addresses": [
{
"id": "system_net_conns-4-address-1"
}
],
"last_status_change": 1471506633,
"id": "system_net_conns-4"
},
"id": "system_net_conns-4"
}
],
"meta": {
"total_count": 4,
"total_pages": 1
},
"physifs": [
{
"name": "init_net1",
"device": "net1",
"enabled": true,
"description": "NET1",
"media": "ethernet",
"ethernet_link_speed": "auto",
"mtu": null
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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)
- id: (string)
- enabled: required(boolean)
- description: required(string)
- media: required(string)
- physif: required(string)
- role: required(string)
- name: required(string)
- ipv4_static_settings: (object)
- netmask: required(string)
- address: required(string)
- gateway: (string)
- dns1: (string)
- dns2: (string)
- ipv6_static_settings: (object)
- prefix_length: required(number)
- address: required(string)
- gateway: (string)
- dns1: (string)
- dns2: (string)
- mode: required(string)
- runtime_status: (object)
- status: required(string)
- last_status_change: required(number)
- id: required(string)
Example:
{
"interface": {
"enabled": true,
"description": "Default IPv4 Static Address",
"ipv4_static_settings": {
"id": "lighthouse_configurations_system_net_conns-1",
"netmask": "255.255.255.0",
"address": "192.168.0.8"
},
"id": "lighthouse_configurations_system_net_conns-1",
"physif": "net1",
"role": "lan",
"name": "default-conn-1",
"mode": "static",
"runtime_status": {
"status": "running",
"addresses": [
{
"id": "lighthouse_configurations_system_net_conns-1-address-1"
}
],
"last_status_change": 1576545494,
"id": "lighthouse_configurations_system_net_conns-1"
},
"media": "auto"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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)
- id: (string)
- enabled: required(boolean)
- description: required(string)
- media: required(string)
- physif: required(string)
- role: required(string)
- name: required(string)
- ipv4_static_settings: (object)
- netmask: required(string)
- address: required(string)
- gateway: (string)
- dns1: (string)
- dns2: (string)
- ipv6_static_settings: (object)
- prefix_length: required(number)
- address: required(string)
- gateway: (string)
- dns1: (string)
- dns2: (string)
- mode: required(string)
- runtime_status: (object)
- status: required(string)
- last_status_change: required(number)
- id: required(string)
Example:
{
"interface": {
"enabled": true,
"description": "Default IPv4 Static Address",
"ipv4_static_settings": {
"netmask": "255.255.255.0",
"address": "192.168.0.8"
},
"physif": "net1",
"role": "lan",
"name": "default-conn-1",
"mode": "static",
"media": "auto"
}
}
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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 object)
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 object)
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
/smf_resources
Retrieve, update, add and delete information about smart management fabric resources.
Retrieve a list of the smart management fabric resources on Lighthouse. Any number of search query parameters can be provided to perform an ANDed search on the SMF resources. The standard 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.
Create a new smart management fabric resource on Lighthouse and optionally create and link resource tags to it.
get /smf_resources
Retrieve a list of the smart management fabric resources on Lighthouse. Any number of search query parameters can be provided to perform an ANDed search on the SMF resources. The standard 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)
Maximum number of SMF resources per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: id)
Field by which to sort the results.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
- json: (string)
JSON URL encoded search parameters.
For 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%22config%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:resource_name","value":"test"}]} - jb64: (string)
Base64 encoded JSON search parameters.
Ensure that any trailing = padding is URL encoded to %3D - searchparameters: (string)
One or more search fields specified by the /smf_resources/fields endpoint.
For example,
config:resource_name=*test*, will search for SMF resource with name equal to 'test', or
config:tag=!tag1 will search for SMF resources which are not tagged with 'tag1'.
Allowed operators are: =value, =!value.
Reserved characters to be URl encoded, e.g. = as %3D - 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
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resources: required(array of object)
Items: items
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
- id: required(string)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"smart_management_fabric_resources": [
{
"id": "smf-resources-1",
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1712251224,
"port": 443,
"url": "https://abcdef.crg.example.com",
"user_facing_id": "abcdef"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1712351224,
"port": 22,
"url": "ssh://bob:crg::fedcba@20.30.12.3",
"user_facing_id": "fedcba"
}
},
"resource_tags": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
},
{
"id": "smf-resources-2",
"name": "SMFResource2",
"address": "192.168.0.2",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1712252224,
"port": 8443,
"url": "https://123456.crg.example.com",
"user_facing_id": "123456"
},
"http": {
"connection_status": "disconnected",
"connection_status_last_updated": 1712221224,
"port": 8080,
"url": "https://987654.crg.example.com",
"user_facing_id": "987654"
}
},
"resource_tags": [
"resource-tag-keys-1"
]
},
{
"id": "smf-resources-3",
"name": "SMFResource3",
"address": "192.168.0.3",
"services": {
"http": {
"connection_status": "connected",
"connection_status_last_updated": 1712351224,
"port": 80,
"url": "https://bad7483399dbcde99ds9.crg.example.com",
"user_facing_id": "bad7483399dbcde99ds9"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1722251224,
"port": 2222,
"url": "ssh://bob:crg::83399dbcbad74de99ds9@30.70.1.123",
"user_facing_id": "83399dbcbad74de99ds9"
}
},
"resource_tags": []
}
],
"meta": {
"searchId": "{4648d82-5b8a-11e7-a476-773c6172a34}",
"total_count": 3,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /smf_resources
Create a new smart management fabric resource on Lighthouse and optionally create and link resource tags to it.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resource: required(object)
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags_actions: (object)
- create: (array of string)
The list of unique resource tag names to be created and linked with this resource.
- link: (array of string)
The list of existing resource tag UUIDs to be linked with this resource.
- create: (array of string)
- name: required(string - minLength: 1 - maxLength: 128)
Examples:
Create a new SMF resource:
{
"smart_management_fabric_resource": {
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"port": 443
},
"ssh": {
"port": 22
}
}
}
}
Create a new SMF resource and link with new resource tag(s):
{
"smart_management_fabric_resource": {
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"port": 443
},
"ssh": {
"port": 22
}
},
"resource_tags_actions": {
"create": [
"tagName1",
"tagName2"
]
}
}
}
Create a new SMF resource and link with both new and existing resource tags:
{
"smart_management_fabric_resource": {
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"port": 443
},
"ssh": {
"port": 22
}
},
"resource_tags_actions": {
"create": [
"tagName2"
],
"link": [
"resource-tag-keys-1"
]
}
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resource: required(object)
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
- id: required(string)
Example:
{
"smart_management_fabric_resource": {
"id": "smf-resources-1",
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1712251223,
"port": 443,
"url": "https://de99dsbad7483399dbc9.crg.example.com",
"user_facing_id": "de99dsbad7483399dbc9"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1712251227,
"port": 22,
"url": "ssh://alice:crg::8e99339d79dbcba4dds9@35.110.71.143",
"user_facing_id": "8e99339d79dbcba4dds9"
}
},
"resource_tags": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
}
}
HTTP status code 400
One or more of the provided addresses was invalid i.e not in dotted decimal or domain name format.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Update multiple smart management fabric resources with the provided data and optionally create, link, unlink resource tags on them.
Create multiple smart management fabric resources on Lighthouse and optionally create and link resource tags to them.
Remove multiple smart management fabric resources identified by the provided UUIDs.
put /smf_resources/bulk
Update multiple smart management fabric resources with the provided data and optionally create, link, unlink resource tags on them.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resources: required(array of object)
Items: items
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags_actions: (object)
- create: (array of string)
The list of unique resource tag names to be created and linked with this resource.
- link: (array of string)
The list of existing resource tag UUIDs to be linked with this resource.
- unlink: (array of string)
The list of existing resource tag UUIDs to unlink them with this resource.
- create: (array of string)
- id: required(string)
Example:
{
"smart_management_fabric_resources": [
{
"id": "smf-resources-1",
"name": "SMFResource1",
"address": "192.168.1.1",
"services": {
"https": {
"port": 9000
},
"ssh": {
"port": 9002
}
},
"resource_tags_actions": {
"unlink": [
"resource-tag-keys-1"
]
}
},
{
"id": "smf-resources-3",
"name": "SMFResource2",
"address": "device.company.com",
"services": {
"http": {
"port": 9004
},
"ssh": {
"port": 9005
}
},
"resource_tags_actions": {
"create": [
"tagName2"
],
"link": [
"resource-tag-keys-1"
]
}
}
]
}
HTTP status code 200
Smart management fabric resources have been updated with the new information.
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resources: required(array of object)
Items: items
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
- id: required(string)
Example:
{
"smart_management_fabric_resources": [
{
"id": "smf-resources-1",
"name": "SMFResource1Edited",
"address": "192.168.2.1",
"services": {
"http": {
"connection_status": "disconnected",
"connection_status_last_updated": 0,
"port": 9001,
"url": "https://e4321dabdde8890.crg.example.com",
"user_facing_id": "e4321dabdde8890"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1712231224,
"port": 9002,
"url": "ssh://charlie:crg::339d79dba4db8e99cds9@235.10.171.14",
"user_facing_id": "339d79dba4db8e99cds9"
}
},
"resource_tags": []
},
{
"id": "smf-resources-3",
"name": "SMFResource2Edited",
"address": "device2.othercompany.net",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1712241224,
"port": 9007,
"url": "https://64535271ddadebebf.crg.example.com",
"user_facing_id": "64535271ddadebebf"
},
"http": {
"connection_status": "connected",
"connection_status_last_updated": 1712351224,
"port": 9004,
"url": "https://71ddadeb645352ebf.crg.example.com",
"user_facing_id": "71ddadeb645352ebf"
}
},
"resource_tags": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
}
]
}
HTTP status code 400
One or more of the provided addresses was invalid i.e. not in dotted decimal or domain name format.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
One or more of the provided resource or node port UUIDs was invalid.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /smf_resources/bulk
Create multiple smart management fabric resources on Lighthouse and optionally create and link resource tags to them.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resources: required(array of object)
Items: items
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags_actions: (object)
- create: (array of string)
The list of unique resource tag names to be created and linked with this resource.
- link: (array of string)
The list of existing resource tag UUIDs to be linked with this resource.
- create: (array of string)
- name: required(string - minLength: 1 - maxLength: 128)
Example:
{
"smart_management_fabric_resources": [
{
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"port": 443
},
"ssh": {
"port": 22
}
},
"resource_tags_actions": {
"create": [
"tagName2",
"tagName3"
]
}
},
{
"name": "SMFResource2",
"address": "192.168.0.2",
"services": {
"https": {
"port": 8443
},
"http": {
"port": 8000
}
},
"resource_tags_actions": {
"create": [
"tagName2"
],
"link": [
"resource-tag-keys-1"
]
}
},
{
"name": "SMFResource3",
"address": "192.168.0.3",
"services": {
"http": {
"port": 80
},
"ssh": {
"port": 2222
}
},
"resource_tags_actions": {
"create": [
"tagName2",
"tagName3",
"tagName4"
]
}
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resources: required(array of object)
Items: items
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
- id: required(string)
Example:
{
"smart_management_fabric_resources": [
{
"id": "smf-resources-1",
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1342251224,
"port": 443,
"url": "https://64535271ddadebebf.crg.example.com",
"user_facing_id": "64535271ddadebebf"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1252251224,
"port": 22,
"url": "",
"user_facing_id": "71d645dadebe352bf"
}
},
"resource_tags": [
"resource-tag-keys-2",
"resource-tag-keys-3"
]
},
{
"id": "smf-resources-2",
"name": "SMFResource2",
"address": "192.168.0.2",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1312251224,
"port": 8443,
"url": "",
"user_facing_id": "339d79dba4db8e99cds9"
},
"http": {
"connection_status": "connected",
"connection_status_last_updated": 1712231224,
"port": 8000,
"url": "https://ddadebebf64535271.crg.example.com",
"user_facing_id": "ddadebebf64535271"
}
},
"resource_tags": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
},
{
"id": "smf-resources-3",
"name": "SMFResource3",
"address": "192.168.0.3",
"services": {
"http": {
"connection_status": "connected",
"connection_status_last_updated": 1712351224,
"port": 80,
"url": "https://890872617dbbcde.crg.example.com",
"user_facing_id": "890872617dbbcde"
},
"ssh": {
"connection_status": "disconnected",
"connection_status_last_updated": 0,
"port": 2222,
"url": "ssh://charlie:crg::817dbbc908726de@25.100.151.18",
"user_facing_id": "817dbbc908726de"
}
},
"resource_tags": [
"resource-tag-keys-2",
"resource-tag-keys-3",
"resource-tag-keys-4"
]
}
]
}
HTTP status code 400
One or more of the provided addresses was invalid i.e. not in dotted decimal or domain name format.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /smf_resources/bulk
Remove multiple smart management fabric resources identified by the provided UUIDs.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resources: required(array of string)
The list of smart management fabric resource UUIDs to be deleted.
Example:
{
"smart_management_fabric_resources": [
"smf-resources-1",
"smf-resources-5",
"smf-resources-4"
]
}
HTTP status code 204
Smart management fabric resources have been removed.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a single smart management fabric resources by ID.
Update a single smart management fabric resource identified by the provided UUID and optionally create, link, unlink resource tags to it.
Remove a single smart management fabric resource identified by the provided UUID.
get /smf_resources/{id}
Retrieve a single smart management fabric resources by ID.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
ID of the smart management fabric resource to fetch
Example:
smf-resources-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resource: required(object)
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
- id: required(string)
Example:
{
"smart_management_fabric_resource": {
"id": "smf-resources-1",
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"http": {
"connection_status": "disconnected",
"connection_status_last_updated": 1712311224,
"port": 443,
"url": "https://17dbbcde8908726.crg.example.com",
"user_facing_id": "17dbbcde8908726"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1712241225,
"port": 22,
"url": "ssh://bob:crg::1bcde89087db726@68.170.191.108",
"user_facing_id": "1bcde89087db726"
}
},
"resource_tags": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /smf_resources/{id}
Update a single smart management fabric resource identified by the provided UUID and optionally create, link, unlink resource tags to it.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
ID of the smart management fabric resource to fetch
Example:
smf-resources-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resource: required(object)
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags_actions: (object)
- create: (array of string)
The list of unique resource tag names to be created and linked with this resource.
- link: (array of string)
The list of existing resource tag UUIDs to be linked with this resource.
- unlink: (array of string)
The list of existing resource tag UUIDs to unlink them with this resource.
- create: (array of string)
- name: required(string - minLength: 1 - maxLength: 128)
Examples:
Update a SMF resource:
{
"smart_management_fabric_resource": {
"name": "SMFResource11",
"address": "192.168.1.1",
"services": {
"https": {
"port": 9000
},
"http": {
"port": 9001
},
"ssh": {
"port": 9002
}
}
}
}
Update a SMF resource and link with new resource tag(s):
{
"smart_management_fabric_resource": {
"name": "SMFResource1",
"address": "192.168.0.1",
"services": {
"https": {
"port": 9000
},
"http": {
"port": 9001
},
"ssh": {
"port": 9002
}
},
"resource_tags_actions": {
"create": [
"tagName1",
"tagName2"
]
}
}
}
Update a SMF resource and link with both new and existing resource tags:
{
"smart_management_fabric_resource": {
"name": "SMFResource1",
"address": "192.168.20.1",
"services": {
"https": {
"port": 9000
},
"http": {
"port": 9001
},
"ssh": {
"port": 9002
}
},
"resource_tags_actions": {
"create": [
"tagName2"
],
"link": [
"resource-tag-keys-1"
]
}
}
}
Update a SMF resource and unlink existing resource tag(s):
{
"smart_management_fabric_resource": {
"name": "SMFResource1",
"address": "192.168.11.1",
"services": {
"https": {
"port": 9000
},
"http": {
"port": 9001
},
"ssh": {
"port": 9002
}
},
"resource_tags_actions": {
"unlink": [
"resource-tag-keys-1",
"resource-tag-keys-2"
]
}
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- smart_management_fabric_resource: required(object)
- id: required(string)
The UUID of the smart management fabric resource.
- name: required(string - minLength: 1 - maxLength: 128)
The name/label of the resource. This may be up to 128 characters long.
- address: required(string - minLength: 1 - maxLength: 253)
The address of the services associated with this resource. This may be in IPv4 dotted decimal or domain name format.
- services: required(object)
- https: (object)
The port associated with the HTTPS service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- http: (object)
The port associated with the HTTP service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- ssh: (object)
The port associated with the SSH service at the resource's address.
- port: required(integer - minimum: 0 - maximum: 65535)
The network port this resource service is available on. This may be between the normal range of 0 and 65535.
- url: required(string - minLength: 0 - maxLength: 400)
The URL that the resource service is available by for the current Lighthouse. This can be empty if it is not possible to reach said service due to a missing precondition e.g. HTTP/S resources require Lighthouse to be accessed via a domain.
- connection_status: required(one of connected, disconnected)
Whether or not the service can be connected to by the current Lighthouse as per the last connectivity check.
- connection_status_last_updated: required(integer)
The epoch timestamp of the last time that the connection status was updated by the current Lighthouse.
- user_facing_id: required(string - minLength: 0 - maxLength: 32)
The unique identifier for the resource service used as part of URL generation.
- port: required(integer - minimum: 0 - maximum: 65535)
- https: (object)
- resource_tags: required(array of string)
The list of resource tag UUIDs associated with this resource.
- id: required(string)
Example:
{
"smart_management_fabric_resource": {
"id": "smf-resources-1",
"name": "SMFResource11",
"address": "192.168.1.1",
"services": {
"https": {
"connection_status": "connected",
"connection_status_last_updated": 1712241224,
"port": 9000,
"url": "https://17dbb08726cde89.crg.example.com",
"user_facing_id": "1bcde89087db726"
},
"http": {
"connection_status": "disconnected",
"connection_status_last_updated": 1615234556,
"port": 9001,
"url": "https://cde89017dbb8726.crg.example.com",
"user_facing_id": "1bcde89087db726"
},
"ssh": {
"connection_status": "connected",
"connection_status_last_updated": 1712851224,
"port": 9002,
"url": "ssh://bob:crg::1bcde89087db726@68.170.191.108",
"user_facing_id": "1bcde89087db726"
}
},
"resource_tags": [
"resource-tag-keys-1"
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to update the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
A list of errors
Items: items
- type: required(integer)
- code: required(integer)
- level: required(integer)
- text: required(string)
- args: required(object)
Example:
{
"error": [
{
"text": "Permission denied for '/api/v3.7/smf_resources/smf-resources-1'",
"code": 47
},
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Failed to get the smart management fabric resource due to an incorrect UUID.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
A list of errors
Items: items
- type: required(integer)
- code: required(integer)
- level: required(integer)
- text: required(string)
- args: required(object)
Example:
{
"error": [
{
"text": "Entity '/api/v3.7/services/smf_resources/smf-resources-1' not found",
"code": 28
}
]
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 /smf_resources/{id}
Remove a single smart management fabric resource identified by the provided UUID.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
ID of the smart management fabric resource to fetch
Example:
smf-resources-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
The smart management fabric resource has been removed.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
A list of errors
Items: items
- type: required(integer)
- code: required(integer)
- level: required(integer)
- text: required(string)
- args: required(object)
Example:
{
"error": [
{
"text": "Permission denied for '/api/v3.7/smf_resources/smf-resources-1'",
"code": 47
},
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Failed to get the smart management fabric resource due to an incorrect UUID.
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"text": "Entity '/api/v3.7/services/smf_resources/smf-resources-1' not found",
"code": 28
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a list of resource filters.
Create a resource filter.
get /smf_resources/smartgroups
Retrieve a list of resource filters.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successfully retrieved resource filters.
Body
Media type: application/json
Type: object
Properties- smartgroups: required(array of object)
Items: SmartGroup
- id: required(string)
- name: required(string)
- query: required(string)
A stringified json object that either includes an items property and a type, or a fieldname, oper, datatype, value and type. An items is a list of query objects.
The oper and datatype fields are numbers in the range 1-13, with the following values:
oper: {1: EQUAL, 2: NEQUAL, 3: LESS, 4: LEQUAL, 5: GREATER, 6: GEQUAL, 7: BEGINS, 8: ENDS, 9: CONTAINS, 10: EXISTS, 11: NEXISTS, 12: IN, 13: NIN}
datatype: {1: BOOL, 2: INT, 3: FLOAT, 4: STRING, 6: BLOB, 7: LIST, 8: MAP, 9: REFERENCE, 10: IF, 11: ONE_OF, 12: IPV4, 13: NONE}
The type field describes the kind of query we are doing: {1: AND, 2: OR, 3: BASIC}. Basic queries are used to query for specific fields, whereas ANDs and ORs combine queries. - rights: required(object)
- modify: required(boolean)
- delete: required(boolean)
- meta: required(object)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"smartgroups": [
{
"id": "smart_groups_resources_groups-1",
"name": "new-group-name-1",
"query": "{\"datatype\": 4, \"fieldname\": \"config:tag\", \"oper\": 1, \"type\": 3, \"value\": \"tagName1\"}",
"rights": {
"modify": true,
"delete": true
}
},
{
"id": "smart_groups_resources_groups-2",
"name": "new-group-name-2",
"query": "{\"datatype\": 4, \"fieldname\": \"config:tag\", \"oper\": 1, \"type\": 3, \"value\": \"tagName2\"}",
"rights": {
"modify": true,
"delete": true
}
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /smf_resources/smartgroups
Create a resource filter.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- name: required(string)
- query: required(string)
A stringified json object that either includes an items property and a type, or a fieldname, oper, datatype, value and type. An items is a list of query objects.
The oper and datatype fields are numbers in the range 1-13, with the following values:
oper: {1: EQUAL, 2: NEQUAL, 3: LESS, 4: LEQUAL, 5: GREATER, 6: GEQUAL, 7: BEGINS, 8: ENDS, 9: CONTAINS, 10: EXISTS, 11: NEXISTS, 12: IN, 13: NIN}
datatype: {1: BOOL, 2: INT, 3: FLOAT, 4: STRING, 6: BLOB, 7: LIST, 8: MAP, 9: REFERENCE, 10: IF, 11: ONE_OF, 12: IPV4, 13: NONE}
The type field describes the kind of query we are doing: {1: AND, 2: OR, 3: BASIC}. Basic queries are used to query for specific fields, whereas ANDs and ORs combine queries.
Example:
{
"smartgroup": {
"name": "test_name",
"query": "{\"type\": 3, \"fieldname\": \"config:tag\", \"oper\": 1, \"datatype\": 4, \"value\": \"tagName1\"}"
}
}
HTTP status code 200
Successfully created a new resource filter.
Body
Media type: application/json
Type: object
Properties- smartgroups: required(array of object)
Items: SmartGroup
- id: required(string)
- name: required(string)
- query: required(string)
A stringified json object that either includes an items property and a type, or a fieldname, oper, datatype, value and type. An items is a list of query objects.
The oper and datatype fields are numbers in the range 1-13, with the following values:
oper: {1: EQUAL, 2: NEQUAL, 3: LESS, 4: LEQUAL, 5: GREATER, 6: GEQUAL, 7: BEGINS, 8: ENDS, 9: CONTAINS, 10: EXISTS, 11: NEXISTS, 12: IN, 13: NIN}
datatype: {1: BOOL, 2: INT, 3: FLOAT, 4: STRING, 6: BLOB, 7: LIST, 8: MAP, 9: REFERENCE, 10: IF, 11: ONE_OF, 12: IPV4, 13: NONE}
The type field describes the kind of query we are doing: {1: AND, 2: OR, 3: BASIC}. Basic queries are used to query for specific fields, whereas ANDs and ORs combine queries. - rights: required(object)
- modify: required(boolean)
- delete: required(boolean)
- meta: required(object)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"smartgroup":
{
"id": "smart_groups_resources_groups-1",
"name": "test_name",
"query": "{\"type\": 3, \"fieldname\": \"config:tag\", \"oper\": 1, \"datatype\": 4, \"value\": \"tagName1\"}",
"rights": {
"modify": true,
"delete": true
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a single resource filter by its ID.
Update the resource filter with the specified ID.
Remove the resource filter with the specified ID.
get /smf_resources/smartgroups/{id}
Retrieve a single resource filter by its ID.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successfully retrieved the resource filter.
Body
Media type: application/json
Type: object
Properties- smartgroup: required(object)
- id: required(string)
- name: required(string)
- query: required(string)
A stringified json object that either includes an items property and a type, or a fieldname, oper, datatype, value and type. An items is a list of query objects.
The oper and datatype fields are numbers in the range 1-13, with the following values:
oper: {1: EQUAL, 2: NEQUAL, 3: LESS, 4: LEQUAL, 5: GREATER, 6: GEQUAL, 7: BEGINS, 8: ENDS, 9: CONTAINS, 10: EXISTS, 11: NEXISTS, 12: IN, 13: NIN}
datatype: {1: BOOL, 2: INT, 3: FLOAT, 4: STRING, 6: BLOB, 7: LIST, 8: MAP, 9: REFERENCE, 10: IF, 11: ONE_OF, 12: IPV4, 13: NONE}
The type field describes the kind of query we are doing: {1: AND, 2: OR, 3: BASIC}. Basic queries are used to query for specific fields, whereas ANDs and ORs combine queries. - rights: required(object)
- modify: required(boolean)
- delete: required(boolean)
Example:
{
"smartgroup": {
"id": "smart_groups_resources_groups-1",
"name": "single-resource-tag",
"rights": {
"delete": true,
"modify": true
},
"query": "{\"datatype\": 4, \"fieldname\": \"config:tag\", \"oper\": 1, \"type\": 3, \"value\": \"tagName1\"}"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /smf_resources/smartgroups/{id}
Update the resource filter with the specified ID.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- name: required(string)
- query: required(string)
A stringified json object that either includes an items property and a type, or a fieldname, oper, datatype, value and type. An items is a list of query objects.
The oper and datatype fields are numbers in the range 1-13, with the following values:
oper: {1: EQUAL, 2: NEQUAL, 3: LESS, 4: LEQUAL, 5: GREATER, 6: GEQUAL, 7: BEGINS, 8: ENDS, 9: CONTAINS, 10: EXISTS, 11: NEXISTS, 12: IN, 13: NIN}
datatype: {1: BOOL, 2: INT, 3: FLOAT, 4: STRING, 6: BLOB, 7: LIST, 8: MAP, 9: REFERENCE, 10: IF, 11: ONE_OF, 12: IPV4, 13: NONE}
The type field describes the kind of query we are doing: {1: AND, 2: OR, 3: BASIC}. Basic queries are used to query for specific fields, whereas ANDs and ORs combine queries. - rights: required(object)
- modify: required(boolean)
- delete: required(boolean)
Example:
{
"smartgroup": {
"name": "resource-filter-name-1",
"query": "{\"type\": 3, \"fieldname\": \"config:tag\", \"oper\": 1, \"datatype\": 4, \"value\": \"tagName2\"}"
}
}
HTTP status code 200
Successfully retrieved the resource filter.
Body
Media type: application/json
Type: object
Properties- smartgroup: required(object)
- id: required(string)
- name: required(string)
- query: required(string)
A stringified json object that either includes an items property and a type, or a fieldname, oper, datatype, value and type. An items is a list of query objects.
The oper and datatype fields are numbers in the range 1-13, with the following values:
oper: {1: EQUAL, 2: NEQUAL, 3: LESS, 4: LEQUAL, 5: GREATER, 6: GEQUAL, 7: BEGINS, 8: ENDS, 9: CONTAINS, 10: EXISTS, 11: NEXISTS, 12: IN, 13: NIN}
datatype: {1: BOOL, 2: INT, 3: FLOAT, 4: STRING, 6: BLOB, 7: LIST, 8: MAP, 9: REFERENCE, 10: IF, 11: ONE_OF, 12: IPV4, 13: NONE}
The type field describes the kind of query we are doing: {1: AND, 2: OR, 3: BASIC}. Basic queries are used to query for specific fields, whereas ANDs and ORs combine queries. - rights: required(object)
- modify: required(boolean)
- delete: required(boolean)
Example:
{
"smartgroup": {
"id": "smart_groups_resources_groups-1",
"name": "resource-filter-name-1",
"query": "{\"type\": 3, \"fieldname\": \"config:tag\", \"oper\": 1, \"datatype\": 4, \"value\": \"tagName2\"}"
"rights": {
"modify": true,
"delete": true
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /smf_resources/smartgroups/{id}
Remove the resource filter with the specified ID.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successfully deleted the smart group.
Body
Media type: application/json
Type: object
Example:
{}
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve a list of resource filter names.
get /smf_resources/smartgroups/names
Retrieve a list of resource filter names.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Maximum number of tags per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: id)
Field by which to sort the resource filters.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
HTTP status code 200
Successfully retrieved resource filter names.
Body
Media type: application/json
Type: object
Properties- smartgroups: required(array of object)
Items: items
- id: required(string)
- name: required(string)
- meta: required(object)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"smartgroups": [
{
"id": "smart_groups_resources_groups-1",
"name": "new-group-name-1",
},
{
"id": "smart_groups_resources_groups-2",
"name": "new-group-name-2",
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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 SMF resources.
get /smf_resources/fields
Obtain a list of fields which can be used to perform queries against SMF resources.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
The list of search fields
Body
Media type: application/json
Type: object
Properties- fields: required(array of string)
Example:
{
"fields": [
"config:resource_name",
"config:resource_address",
"config:tag",
"config:network_range",
"status:service_connection"
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Obtain a list of the warning states associated with accessing/using SMF resources
get /smf_resources/warnings
Obtain a list of the warning states associated with accessing/using SMF resources
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
The list of the warning states associated with accessing/using SMF resources
Body
Media type: application/json
Type: object
Properties- domain: required(boolean)
Whether or not the request was made without using a domain. Access via domain is required for using HTTP/S SMF resources.
Example:
{
"warnings": {
"domain": false
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 system's smart management fabric configuration.
Get the SMF system configuration.
Update the system's smart management fabric configuration.
get /system/smf
Get the SMF system configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- enabled: required(boolean)
Specifies whether SMF is enabled for the entire system.
- ospf_internal_area: required(string)
The area used by the internal OSPF network between the various Lighthouses and nodes in the system. This should be either a number or in the A.B.C.D format.
Example:
{
"system_smf": {
"enabled": true,
"ospf_internal_area": "1234"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/smf
Update the system's smart management fabric configuration.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- enabled: required(boolean)
Specifies whether SMF is enabled for the entire system.
- ospf_internal_area: required(string)
The area used by the internal OSPF network between the various Lighthouses and nodes in the system. This should be either a number or in the A.B.C.D format.
Example:
{
"system_smf": {
"enabled": false,
"ospf_internal_area": "1.2.3.4"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- enabled: required(boolean)
Specifies whether SMF is enabled for the entire system.
- ospf_internal_area: required(string)
The area used by the internal OSPF network between the various Lighthouses and nodes in the system. This should be either a number or in the A.B.C.D format.
Example:
{
"system_smf": {
"enabled": false,
"ospf_internal_area": "1.2.3.4"
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
A list of errors
Items: items
- type: required(integer)
- code: required(integer)
- level: required(integer)
- text: required(string)
- args: required(object)
Example:
{
"error": [
{
"text": "Invalid OSPF area ID '5000000000'.",
"code": 253
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 the unique Lighthouse system name.
Get the Lighthouse system name.
get /system/lighthouse_name
Get the Lighthouse system name.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system: required(object)
- lighthouse_name: required(string)
Example:
{
"system": {
"lighthouse_name": "lighthouse-9562-8965"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve or change the Lighthouse system's logging setup.
Get the Lighthouse logging setup.
Update the Lighthouse logging setup.
get /system/logging
Get the Lighthouse logging setup.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_logging: required(object)
- cli_enabled: required(boolean)
- rest_enabled: required(boolean)
- rest_request_enabled: required(boolean)
- rest_response_enabled: required(boolean)
Example:
{
"system_logging": {
"cli_enabled": true,
"rest_enabled": false,
"rest_request_enabled": false,
"rest_response_enabled": true
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/logging
Update the Lighthouse logging setup.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_logging: required(object)
- cli_enabled: required(boolean)
- rest_enabled: required(boolean)
- rest_request_enabled: required(boolean)
- rest_response_enabled: required(boolean)
Example:
{
"system_logging": {
"cli_enabled": true,
"rest_enabled": false,
"rest_request_enabled": false,
"rest_response_enabled": true
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 web session timeout.
Retrieve the web session timeout (in minutes).
Update the web session timeout (in minutes).
get /system/webui_session_timeout
Retrieve the web 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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 web 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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 CLI session timeout.
Retrieve the CLI session timeout (in minutes).
Update the CLI session timeout (in minutes).
get /system/cli_session_timeout
Retrieve the CLI 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_cli_session_timeout: required(object)
- timeout: required(integer)
Example:
{
"system_cli_session_timeout": {
"timeout": 10
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/cli_session_timeout
Update the CLI session timeout (in minutes).
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_cli_session_timeout: required(object)
- timeout: required(integer)
Example:
{
"system_cli_session_timeout": {
"timeout": 10
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_cli_session_timeout: required(object)
- timeout: required(integer)
Example:
{
"system_cli_session_timeout": {
"timeout": 10
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 default subscription preference.
Retrieve the Lighthouse's default subscription preference.
Update the Lighthouse's default subscription preference.
get /system/default_subscription
Retrieve the Lighthouse's default subscription preference.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- enrollment_default_subscription: required(object)
- subscription_type: required(string)
Example:
{
"enrollment_default_subscription": {
"subscription_type": "enterprise"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/default_subscription
Update the Lighthouse's default subscription preference.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- enrollment_default_subscription: required(object)
- subscription_type: required(string)
Example:
{
"enrollment_default_subscription": {
"subscription_type": "premium"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- enrollment_default_subscription: required(object)
- subscription_type: required(string)
Example:
{
"enrollment_default_subscription": {
"subscription_type": "premium"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
The primary network address to reach the Lighthouse (taken from the current network interface configuration).
Retrieve the default network address;
get /system/os_default_address
Retrieve the default network address;
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- os_default_external_address: required(object)
- address: required(string)
Example:
{
"os_default_external_address": {
"address": "192.168.1.100"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
The HTTPS port used in direct HTTPS links.
Retrieve the system HTTPS port.
Update the system HTTPS port.
get /system/https_port
Retrieve the system HTTPS port.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_https_port: required(object)
- port: required(number)
Example:
{
"system_https_port": {
"port": 443
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/https_port
Update the system HTTPS port.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_https_port: required(object)
- port: required(number)
Example:
{
"system_https_port": {
"port": 500
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_https_port: required(object)
- port: required(number)
Example:
{
"system_https_port": {
"port": 500
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
The SSH port used in Direct SSH links.
Retrieve the system SSH port.
Update the system SSH port.
get /system/ssh_port
Retrieve the system SSH port.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_ssh_port: required(object)
- port: required(number)
Example:
{
"system_ssh_port": {
"port": 22
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/ssh_port
Update the system SSH port.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_ssh_port: required(object)
- port: required(number)
Example:
{
"system_ssh_port": {
"port": 22
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_ssh_port: required(object)
- port: required(number)
Example:
{
"system_ssh_port": {
"port": 22
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 the current Lighthouse system time.
Retrieve the current Lighthouse system time.
get /system/time
Retrieve the current Lighthouse system 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": "17:03 Apr 22, 2020"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Configured external endpoints for nodes to reach the Lighthouse system. A maximum of 5 endpoints can be added.
Retrieve the configured external endpoints.
Create a new external endpoint.
get /system/external_endpoints
Retrieve the configured external endpoints.
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_endpoints: required(array of object)
Items: items
- id: required(string)
- address: required(string)
- api_port: required(number)
- vpn_port: required(number)
- mi_vpn_port: required(number)
Example:
{
"system_external_endpoints": [
{
"id": "system_net_external_endpoints-2",
"vpn_port": 1196,
"api_port": 4443,
"mi_vpn_port": 1997,
"address": "192.168.122.1"
},
{
"id": "system_net_external_endpoints-3",
"vpn_port": 1197,
"mi_vpn_port": 1999,
"api_port": 4444,
"address": "10.1.1.1"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /system/external_endpoints
Create a new external endpoint.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"system_external_endpoint": {
"address": "192.168.127.20",
"api_port": 443,
"vpn_port": 1194,
"mi_vpn_port": 1995
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_external_endpoint: required(object)
- id: required(string)
- address: required(string)
- api_port: required(number)
- vpn_port: required(number)
- mi_vpn_port: required(number)
Example:
{
"system_external_endpoint": {
"id": "system_net_external_endpoints-2",
"vpn_port": 1194,
"mi_vpn_port": 1195,
"api_port": 443,
"address": "10.1.1.2"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get an external endpoint by ID
Update an external endpoint
Delete an external endpoint
get /system/external_endpoints/{id}
Get an external endpoint by ID
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_external_endpoint: required(object)
- id: required(string)
- address: required(string)
- api_port: required(number)
- vpn_port: required(number)
- mi_vpn_port: required(number)
Example:
{
"system_external_endpoint": {
"id": "system_net_external_endpoints-2",
"vpn_port": 1196,
"mi_vpn_port": 1197,
"api_port": 4443,
"address": "192.168.122.1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/external_endpoints/{id}
Update an external endpoint
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"system_external_endpoint": {
"id": "system_net_external_endpoints-1",
"vpn_port": 1194,
"mi_vpn_port": 1195,
"api_port": 443,
"address": "10.127.1.20"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_external_endpoint: required(object)
- id: required(string)
- address: required(string)
- api_port: required(number)
- vpn_port: required(number)
- mi_vpn_port: required(number)
Example:
{
"system_external_endpoint": {
"id": "system_net_external_endpoints-2",
"vpn_port": 1196,
"mi_vpn_port": 1197,
"api_port": 4443,
"address": "192.168.122.1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /system/external_endpoints/{id}
Delete an external endpoint
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
Endpoint deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Upload a new node firmware file to the Lighthouse
post /system/node_firmware
Upload a new node firmware file to the Lighthouse
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: multipart/form-data
Type: object
Properties- file: required(file)
The firmware file data to upload
- firmware_name: required(string)
The name to store the firmware file as on the Lighthouse
HTTP status code 200
The firmware file has been stored on the Lighthouse
Body
Media type: application/json
Type: object
Properties- id: required(string)
- filename: required(string)
- family: required(string)
- version: required(string)
- size: required(string)
- upload_date: required(string)
- sha1: required(string)
Example:
{
"node_firmware": {
"id": "node-firmware-1",
"filename": "ACM7004-5-4.12.0.flash",
"family": "ACM7004-5",
"version": "4.12.0",
"size": "19MiB",
"upload_date": "24 Dec 2021 9:12 UTC",
"sha1": "a78408990775ca8651dba226c00e45766e45123b",
}
}
HTTP status code 400
Invalid request, duplicate node firmware or invalid node firmware
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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,
}
]
},
{
"error": [
{
type: 4,
"code": 218,
"text": "Node firmware <name> already present on the system.",
"args": {},
"level": 1,
}
]
},
{
"error": [
{
type: 4,
"code": 219,
"text": "Node firmware <name> is invalid.",
"args": {},
"level": 1,
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the information on all the currently uploaded node firmware files.
get /system/node_firmware/all
Retrieve the information on all the currently uploaded node firmware files.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
The information was retrieved successfully
Body
Media type: application/json
Type: object
Properties- node_firmwares: required(array of object)
Items: node_firmware
- id: required(string)
- filename: required(string)
- family: required(string)
- version: required(string)
- size: required(string)
- upload_date: required(string)
- sha1: required(string)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"node_firmwares": [
{
"id": "node-firmware-1",
"filename": "ACM7004-5-4.12.0.flash",
"family": "ACM7004-5",
"version": "4.12.0",
"size": "19MiB",
"upload_date": "24 Dec 2021 9:12 UTC",
"sha1": "a78408990775ca8651dba226c00e45766e45123b",
},
{
"id": "node-firmware-2",
"filename": "OperationManager-21.Q3.0.raucb",
"family": "",
"version": "21.Q3.0",
"size": "235MiB",
"upload_date": "3 Jan 2022 15:34 UTC",
"sha1": "c7b423f2dd732c789a52f2e57353617a716e5a08",
}
],
"meta": {
"total_count": 2,
"total_pages": 1,
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the information on the specified uploaded node firmware file.
Delete the specified node firmware file
get /system/node_firmware/{id}
Retrieve the information on the specified uploaded node firmware file.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(string)
- filename: required(string)
- family: required(string)
- version: required(string)
- size: required(string)
- upload_date: required(string)
- sha1: required(string)
Example:
{
"node_firmware": {
"id": "node-firmware-1",
"filename": "ACM7004-5-4.12.0.flash",
"family": "ACM7004-5",
"version": "4.12.0",
"size": "19MiB",
"upload_date": "24 Dec 2021 9:12 UTC",
"sha1": "a78408990775ca8651dba226c00e45766e45123b",
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Node firmware file doesn't exist.
Body
Media type: text/plain
Type: object
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
delete /system/node_firmware/{id}
Delete the specified node firmware file
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
Body
Media type: text/plain
Type: object
HTTP status code 400
Specified node firmware is a directory
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 220,
"text": "Directory present at expected file location <name>. Please contact your administrator.",
"args": {},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Query and create firmware upgrade jobs for Opengear nodes.
Retrieve a list of node upgrade jobs that have run in the past, or are scheduled to run in the future.
Schedule a job to run either immediately or at a later date, which will upgrade the specified nodes to the specified firmware version.
get /system/node_upgrade
Retrieve a list of node upgrade jobs that have run in the past, or are scheduled to run in the future.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- status: (one of in_progress, scheduled, completed, completed_with_errors, cancelled)
- last_x_days: (integer)
Only show upgrades that were created in the past x days
- name_contains: (string)
Filter upgrades by name. Space separated list
- per_page: (integer - default: 100000)
Maximum number of tags per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- order_by: (string - default: id)
Field by which to sort the upgrade jobs.
- desc: (string - default: false)
Set the sort order to descending if 'true', '1', 'y' or 'yes' (case insensitive).
HTTP status code 200
A JSON object containing scheduled firmware upgrade jobs.
Body
Media type: application/json
Type: object
Properties- node_upgrades: required(array of )
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"node_upgrades": [
{
"id": 1,
"firmware": "4.11.0",
"name": "Immediate Job",
"creator": "root",
"creation_time": "2022-02-25T00:05:00",
"scheduled_time": "2022-02-25T10:59:00",
"status": "IN_PROGRESS",
"error_message": null,
"start_time": null,
"finish_time": null,
"total_nodes": 10,
"number_failures": 1,
"number_successes": 3
},
{
"id": 2,
"firmware": "4.12.1",
"name": "my_scheduled_upgrade",
"creator": "root",
"creation_time": "2022-02-25T00:09:30",
"scheduled_time": "2037-12-31T11:59:00",
"status": "SCHEDULED",
"error_message": null,
"start_time": null,
"finish_time": null,
"total_nodes": 0,
"number_failures": 0,
"number_successes": 0
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /system/node_upgrade
Schedule a job to run either immediately or at a later date, which will upgrade the specified nodes to the specified firmware version.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- name: required(string)
- scheduled_time: required(string)
- firmware_id: required(integer)
- immediate: required(boolean)
- nodes: required(array of object)
Items: items
- node_id: required(integer)
- status: required(string)
- allow_in_failover: required(boolean)
- original_firmware: required(string)
- error_message: required(string)
Media type: responses
Type: object
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get a single scheduled node firmware upgrade job.
get /system/node_upgrade/{id}
Get a single scheduled node firmware upgrade job.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(integer)
- name: required(string)
- scheduled_time: required(string)
- firmware: required(string)
- creator: required(string)
- creation_time: required(string)
- status: required(string)
- error_message: required(string)
- start_time: required(string)
- finish_time: required(string)
- total_nodes: required(integer)
- number_failures: required(integer)
- number_successes: required(integer)
Example:
{
"node_upgrade": {
"id": 21,
"name": "Friday Upgrade",
"firmware": "21.Q4.1",
"creator": "",
"status": "SUCCESS",
"scheduled_time": "2022-03-10T23:59:00",
"creation_time": "2022-02-27T10:14:26",
"start_time": "2022-03-10T23:59:07",
"finish_time": "2022-03-11T00:18:37",
"total_nodes": 10,
"number_successes": 8,
"number_failures": 2,
"error_message": ""
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get the nodes for a single node firmware upgrade job.
get /system/node_upgrade/{id}/nodes
Get the nodes for a single node firmware upgrade job.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- node_upgrades: required(array of )
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"node_upgrade_nodes": [
{
"node_id": 4,
"status": "SUCCESS",
"allow_in_failover": true,
"original_firmware": "20.Q2.0",
"error_message": ""
}
],
"meta": {
"total_count": 1,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 )
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 )
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 )
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 )
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Upload a Lighthouse license file
Upload a Lighthouse license file
post /system/licenses/file
Upload a Lighthouse license file
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: multipart/form-data
Type: object
Properties- file: required(file)
The license zip file to be uploaded.
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 )
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the Lighthouse's most recent firmware and REST API version.
Get the version information.
get /system/version
Get the version information.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_version: required(object)
- rest_api_version: required(string)
- firmware_version: required(string)
Example:
{
"system_version": {
"rest_api_version": "v1.1",
"firmware_version": "5.1.1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Retrieve the Lighthouse alternate enrollment API information.
Get the enrollment API information.
Set the enrollment API information.
get /system/alternate_api
Get the enrollment API information.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_alternate_api: required(object)
- enabled: required(boolean)
- port: (number)
The port is optional - the default value is 8443.
Example:
{
"system_alternate_api": {
"enabled": true,
"port": 8443
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /system/alternate_api
Set the enrollment API information.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- system_alternate_api: required(object)
- enabled: required(boolean)
- port: (number)
The port is optional - the default value is 8443.
Example:
{
"system_alternate_api": {
"enabled": true,
"port": 8999
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_alternate_api: required(object)
- enabled: required(boolean)
- port: (number)
The port is optional - the default value is 8443.
Example:
{
"system_alternate_api": {
"enabled": true,
"port": 8999
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 configuration backup file.
Create a file containing a backup of the current Lighthouse system configuration. The file may be optionally encrypted with a password. An optional list of files and directories may also be specified, to be included in the archive.
get /system/config_backup
Retrieve a configuration backup file.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- id: required(string)
Backup file identifier.
Body
Media type: application/octet-stream
Type: file
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /system/config_backup
Create a file containing a backup of the current Lighthouse system configuration. The file may be optionally encrypted with a password. An optional list of files and directories may also be specified, to be included in the archive.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- password: (string)
A password for encrypting the backup archive.
- user_files: (array of string)
A list of files and directories to be included.
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_config_backup: required(object)
- id: required(string)
Identifier for retrieving generated backup file.
- id: required(string)
Example:
{
"system_config_backup": {
"id": "v7RignO1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Restore the system configuration from a backup. The backup may be from the same or earlier version of Lighthouse, but may not be from a later version. The restore process will take several minutes, and the system will be restarted.
post /system/config_restore
Restore the system configuration from a backup. The backup may be from the same or earlier version of Lighthouse, but may not be from a later version. The restore process will take several minutes, and the system will be restarted.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- id: required(string)
Identifier for a backup that has been uploaded.
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_config_restore: required(object)
- status: required(string)
Status of the restore process.
- status: required(string)
Example:
{
"system_config_restore": {
"status": "restoring"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Upload a configuration backup file to be validated, in preparation for a system restore. If the backup is encrypted, the password must be provided. NOTE - the backup being restored MUST be from the same major firmware version OR the most recent previous major release (ignoring the last/minor element in the version number).
post /system/upload_restore
Upload a configuration backup file to be validated, in preparation for a system restore. If the backup is encrypted, the password must be provided. NOTE - the backup being restored MUST be from the same major firmware version OR the most recent previous major release (ignoring the last/minor element in the version number).
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: multipart/form-data
Type: object
Properties- file: required(file)
The backup file to be uploaded.
- password: (string)
Password to decrypt the backup file.
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- system_upload_restore: required(object)
- id: required(string)
Identifier for initiating restore process.
- version: required(string)
Lighthouse version used to create the backup.
- status: required(string)
Status of the restore process.
- id: required(string)
Example:
{
"system_upload_restore": {
"id": "zIb2sw84",
"version": "19.Q3.0",
"status": "pending"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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 object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
A count of nodes by cellular health status. If cellular health monitoring is disabled, the response will be an empty JSON object.
get /stats/nodes/cellular_health_summary
A count of nodes by cellular health status. If cellular health monitoring is disabled, the response will be an empty JSON object.
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 object)
Items: items
- status: required(one of bad, moderate, good, pending)
- count: required(integer)
Example:
{
"connectionSummary": [
{
"status": "bad",
"count": 3
},
{
"status": "moderate",
"count": 8
},
{
"status": "good",
"count": 84
},
{
"status": "pending",
"count": 5
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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)
- message: required(string)
Status of the support report retrieval.
- contents: (string)
A new line delimited dump of the current state of the system.
- zip_file: (string)
url to a zip file which contains the system report.
- message: required(string)
Example:
{
"support_report": {
"message": "success",
"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.1/support_report?zip=1"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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",
"authStyle": "auth_local",
"radiusAuthenticationServers": [
{
"id": "auth_radius_authenticationServers-2",
"hostname": "192.168.255.1"
}
],
"radiusAccountingServers": [
{
"id": "auth_radius_accountingServers-1",
"hostname": "192.168.255.1"
}
],
"tacacsService": "raccess",
"tacacsMethod": "pap",
"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",
"ldapIgnoreReferrals": false,
"ldapUsernameAttribute": "sAMAccountName",
"ldapSslMode": "ldaps_preferred",
"ldapSslIgnoreCertErrors": false,
"ldapSslCaCert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
Examples:
Local Auth example:
{
"auth": {
"mode": "local",
"radiusAuthenticationServers": [],
"radiusAccountingServers": [],
"tacacsAuthenticationServers": [],
"ldapAuthenticationServers": []
}
}
Radius Auth example:
{
"auth": {
"mode": "radius",
"authStyle": "auth",
"radiusPassword": "hunter2",
"radiusAuthenticationServers": [
{
"hostname": "192.168.250.2"
}
],
"radiusAccountingServers": [
{
"port": 1000,
"hostname": "192.168.250.2"
}
],
"tacacsAuthenticationServers": [],
"ldapAuthenticationServers": []
}
}
Tacacs+DownLocal Auth example:
{
"auth": {
"mode": "tacacs",
"authStyle": "auth_down_local",
"tacacsPassword": "hunter2",
"tacacsMethod": "pap",
"tacacsService": "raccess",
"tacacsAuthenticationServers": [
{
"hostname": "192.168.250.2",
"port": 49
}
],
"radiusAuthenticationServers": [],
"radiusAccountingServers": [],
"ldapAuthenticationServers": []
}
}
LocalLDAP Auth example:
{
"auth": {
"mode": "ldap",
"authStyle": "local_auth",
"ldapBindPassword": "ldapPassword",
"ldapUsernameAttribute": "sAMAccountName",
"ldapGroupMembershipAttribute": "memberOf",
"ldapBaseDN": "cn=Users,dc=test,dc=example,dc=com",
"ldapBindDN": "cn=Administrator,cn=Users,dc=test,dc=example,dc=com",
"ldapIgnoreReferrals": true,
"ldapSslMode": "ldaps_preferred",
"ldapSslIgnoreCertErrors": false,
"ldapSslCaCert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----",
"ldapAuthenticationServers": [
{
"port": 389,
"hostname": "10.0.1.1"
}
],
"tacacsAuthenticationServers": [],
"radiusAuthenticationServers": [],
"radiusAccountingServers": []
}
}
HTTP status code 200
A JSON object containing the AAA config is returned.
Body
Media type: application/json
Type: object
Example:
{
"auth": {
"mode": "radius",
"authStyle": "auth",
"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",
"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",
"ldapIgnoreReferrals": true,
"ldapUsernameAttribute": "sAMAccountName"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Configure Single-Sign-On. A maximum of 1 SSO config per lighthouse is permitted.
Retrieve information on SSO config for all lighthouses
Create a new SSO configuration. Implicitly enables SSO for the lighthouse.
get /auth/saml/idp_metadatas
Retrieve information on SSO config for all lighthouses
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- include_lh_details: (boolean - default: false)
Includes top level summary details of the lighthouse this IdP metadata is associated with in the
lh_details
property. - show_unconfigured_lhs: (boolean - default: false)
Includes top level summary details of lighthouses without an associated IdP metadata configuration in the
lhs_without_idp
property of the response.
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- idp_metadatas: required(array of object)
Items: items
- lighthouse_id: required(integer)
- display_name: required(string)
- provider: required(string)
one of
okta
,azure_ad
,onelogin
,keycloak
- sp_private_key: (string)
- sp_certificate: (string)
- metadata: required(string)
- lh_details: (object)
- hostname: required(string)
- role: required(string)
- network_address: required(string)
- lhs_without_idp: (array of object)
Items: items
- lighthouse_id: required(integer)
- lh_details: required(object)
- hostname: required(string)
- role: required(string)
- network_address: required(string)
Example:
{
"idp_metadatas": [
{
"id": 3,
"display_name": "Okta",
"sp_private_key": "-----BEGIN RSA PRIVATE KEY-----\\n...V9vP179YQwwdAF6L6NLpro=\\n-----END RSA PRIVATE KEY-----\\n",
"sp_certificate": "Bag Attributes\\n localKeyID: 96 0A DD A5 FD 80 BB 66 44 11 6A D1 CB 13 0E 4E 6D DC 7C 7E \\n friendlyName: test\\nsubject=CN = keycloak-lighthouse\\n\\nissuer=CN = keycloak-lighthouse\\n\\n-----BEGIN CERTIFICATE-----\\nMIICtTCCAZ0CBgF8NGSBqjANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDB...3SJV0\\n1r2lzkFY5upAaT/JvQK4L+5dwEAIGyxCAQ==\\n-----END CERTIFICATE-----\\n",
"metadata": "<md:EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"http://localhost/auth/realms/keycloak-lighthouse\">\\n<md:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\\n<md:KeyDescriptor use=\"signing\">\\n<ds:KeyInfo>\\n<ds:KeyName>o5KTX0J7mYo1FbkUUkb13vTlldGbgM3n0GyIdJhPgHA</ds:KeyName>\\n<ds:X509Data>\\n<ds:X509Certificate>MIICxTCCAa0CBgF8U9wJP...u2RkuESQYN7W5DzhVVSfyH7u/3CCmqoBW0=</ds:X509Certificate>\\n</ds:X509Data>\\n</ds:KeyInfo>\\n</md:KeyDescriptor>\\n<md:ArtifactResolutionService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml/resolve\" index=\"0\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n</md:IDPSSODescriptor>\\n</md:EntityDescriptor>\\n",
"provider": "okta",
"lighthouse_id": 1,
"lh_details": {
"hostname": "lighthouse",
"role": "Primary",
"network_address": "192.168.125.120"
}
}
],
"lhs_without_idp": [
{
"lighthouse_id": 3,
"lh_details": {
"hostname": "lighthouse-2",
"role": "Secondary",
"network_address": "192.168.125.121"
}
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /auth/saml/idp_metadatas
Create a new SSO configuration. Implicitly enables SSO for the lighthouse.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"idp_metadata": {
"lighthouse_id": 1,
"provider": "keycloak",
"display_name": "keycloak-primary",
"sp_private_key": "-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQIBAAKCAQEAq72mEUgBCOdc3LQq8ZW.../GSr0Rj5sRtyV9vP179YQwwdAF6L6NLpro=\\n-----END RSA PRIVATE KEY-----\\n",
"sp_certificate": "Bag Attributes\\n localKeyID: 96 0A DD A5 FD 80 BB 66 44 11 6A D1 CB 13 0E 4E 6D DC 7C 7E \\n friendlyName: test\nsubject=CN = keycloak-lighthouse\\n\\nissuer=CN = keycloak-lighthouse\\n\\n-----BEGIN CERTIFICATE-----\\nMIICtTCCAZ0CBgF8NGSBqjA...+kmY0h0bMJcqNupk3SJV0\\n1r2lzkFY5upAaT/JvQK4L+5dwEAIGyxCAQ==\\n-----END CERTIFICATE-----\\n",
"metadata": "<md:EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"http://localhost/auth/realms/keycloak-lighthouse\">\\n<md:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\\n<md:KeyDescriptor use=\"signing\">\\n<ds:KeyInfo>\\n<ds:KeyName>o5KTX0J7mYo1FbkUUkb13vTlldGbgM3n0GyIdJhPgHA</ds:KeyName>\\n<ds:X509Data>\\n<ds:X509Certificate>MIICxTCCAa0CBgF8U9wJPTANBgkqhkiG9w0BAQsFADAmMSQwIg...fXtY3sMqtN3bwKuBzN7P1jQgMR+JeVyz2EfOE9z0RNH1b+u2RkuESQYN7W5DzhVVSfyH7u/3CCmqoBW0=</ds:X509Certificate>\\n</ds:X509Data>\\n</ds:KeyInfo>\\n</md:KeyDescriptor>\\n<md:ArtifactResolutionService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml/resolve\" index=\"0\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n</md:IDPSSODescriptor>\\n</md:EntityDescriptor>\\n"
}
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- idp_metadata: required(object)
- lighthouse_id: required(integer)
- display_name: required(string)
- provider: required(string)
one of
okta
,azure_ad
,onelogin
,keycloak
- sp_private_key: (string)
- sp_certificate: (string)
- metadata: required(string)
- id: required(integer)
Example:
{
"idp_metadata": {
"id": 5,
"lighthouse_id": 1,
"provider": "keycloak",
"display_name": "keycloak-primary",
"sp_private_key": "-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQIBAAKCAQEAq72mEUgBCOdc3LQq8ZW.../GSr0Rj5sRtyV9vP179YQwwdAF6L6NLpro=\\n-----END RSA PRIVATE KEY-----\\n",
"sp_certificate": "Bag Attributes\\n localKeyID: 96 0A DD A5 FD 80 BB 66 44 11 6A D1 CB 13 0E 4E 6D DC 7C 7E \\n friendlyName: test\nsubject=CN = keycloak-lighthouse\\n\\nissuer=CN = keycloak-lighthouse\\n\\n-----BEGIN CERTIFICATE-----\\nMIICtTCCAZ0CBgF8NGSBqjA...+kmY0h0bMJcqNupk3SJV0\\n1r2lzkFY5upAaT/JvQK4L+5dwEAIGyxCAQ==\\n-----END CERTIFICATE-----\\n",
"metadata": "<md:EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"http://localhost/auth/realms/keycloak-lighthouse\">\\n<md:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\\n<md:KeyDescriptor use=\"signing\">\\n<ds:KeyInfo>\\n<ds:KeyName>o5KTX0J7mYo1FbkUUkb13vTlldGbgM3n0GyIdJhPgHA</ds:KeyName>\\n<ds:X509Data>\\n<ds:X509Certificate>MIICxTCCAa0CBgF8U9wJPTANBgkqhkiG9w0BAQsFADAmMSQwIg...fXtY3sMqtN3bwKuBzN7P1jQgMR+JeVyz2EfOE9z0RNH1b+u2RkuESQYN7W5DzhVVSfyH7u/3CCmqoBW0=</ds:X509Certificate>\\n</ds:X509Data>\\n</ds:KeyInfo>\\n</md:KeyDescriptor>\\n<md:ArtifactResolutionService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml/resolve\" index=\"0\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n</md:IDPSSODescriptor>\\n</md:EntityDescriptor>\\n"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get an IdP metadata configuration by ID
Update an IdP metadata configuration
Delete an IdP metadata configuration. Implicitly disables SSO for the lighthouse.
get /auth/saml/idp_metadatas/{id}
Get an IdP metadata configuration by ID
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- include_lh_details: (boolean - default: false)
Includes top level summary details of the lighthouse this IdP metadata is associated with in the
lh_details
property.
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- idp_metadata: required(object)
- lighthouse_id: required(integer)
- display_name: required(string)
- provider: required(string)
one of
okta
,azure_ad
,onelogin
,keycloak
- sp_private_key: (string)
- sp_certificate: (string)
- metadata: required(string)
- id: required(integer)
- lh_details: (object)
- hostname: required(string)
- role: required(string)
- network_address: required(string)
Example:
{
"idp_metadata": {
"id": 5,
"display_name": "keycloak-primary",
"sp_private_key": "-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQIBAAKCAQEAq72mEUgBCOdc3LQq8ZWw...EZRqRuZKYy2ZvIL/GSr0Rj5sRtyV9vP179YQwwdAF6L6NLpro=\\n-----END RSA PRIVATE KEY-----\\n",
"sp_certificate": "Bag Attributes\\n localKeyID: 96 0A DD A5 FD 80 BB 66 44 11 6A D1 CB 13 0E 4E 6D DC 7C 7E \\n friendlyName: test\\nsubject=CN = keycloak-lighthouse\\n\\nissuer=CN = keycloak-lighthouse\\n\\n-----BEGIN CERTIFICATE-----\\nMIICtTCCAZ0CBgF8NGSBqjANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBN...n1r2lzkFY5upAaT/JvQK4L+5dwEAIGyxCAQ==\\n-----END CERTIFICATE-----\\n",
"metadata": "<md:EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"http://localhost/auth/realms/keycloak-lighthouse\">\\n<md:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\\n<md:KeyDescriptor use=\"signing\">\\n<ds:KeyInfo>\\n<ds:KeyName>o5KTX0J7mYo1FbkUUkb13vTlldGbgM3n0GyIdJhPgHA</ds:KeyName>\\n<ds:X509Data>\\n<ds:X509Certificate>MIICxTCCAa0CBgF8U9wJPTANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtrZXljbG...+JeVyz2EfOE9z0RNH1b+u2RkuESQYN7W5DzhVVSfyH7u/3CCmqoBW0=</ds:X509Certificate>\\n</ds:X509Data>\\n</ds:KeyInfo>\\n</md:KeyDescriptor>\\n<md:ArtifactResolutionService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml/resolve\" index=\"0\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n</md:IDPSSODescriptor>\\n</md:EntityDescriptor>\\n",
"provider": "keycloak",
"lighthouse_id": 1,
"lh_details": {
"hostname": "lighthouse",
"role": "Primary",
"network_address": "192.168.125.120"
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /auth/saml/idp_metadatas/{id}
Update an IdP metadata configuration
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Example:
{
"idp_metadata": {
"display_name": "keycloak-primary-updated",
"sp_private_key": "-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQIBAAKCAQEAq72mEUgBCOdc3LQq8ZWw/j0j.../GSr0Rj5sRtyV9vP179YQwwdAF6L6NLpro=\\n-----END RSA PRIVATE KEY-----\\n",
"sp_certificate": "Bag Attributes\\n localKeyID: 96 0A DD A5 FD 80 BB 66 44 11 6A D1 CB 13 0E 4E 6D DC 7C 7E \\n friendlyName: test\nsubject=CN = keycloak-lighthouse\\n\\nissuer=CN = keycloak-lighthouse\\n\\n-----BEGIN CERTIFICATE-----\\nMIICtTCCAZ0CBgF8NGSBqjANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBNrZ...notBcUj2Vwy+kmY0h0bMJcqNupk3SJV0\\n1r2lzkFY5upAaT/JvQK4L+5dwEAIGyxCAQ==\\n-----END CERTIFICATE-----\\n",
"metadata": "<md:EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"http://localhost/auth/realms/keycloak-lighthouse\">\\n<md:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\\n<md:KeyDescriptor use=\"signing\">\\n<ds:KeyInfo>\\n<ds:KeyName>o5KTX0J7mYo1FbkUUkb13vTlldGbgM3n0GyIdJhPgHA</ds:KeyName>\\n<ds:X509Data>\\n<ds:X509Certificate>MIICxTCCAa0CBgF8U9wJPTANBgkqhkiG9w0BAQsFADAmMSQ...JeVyz2EfOE9z0RNH1b+u2RkuESQYN7W5DzhVVSfyH7u/3CCmqoBW0=</ds:X509Certificate>\\n</ds:X509Data>\\n</ds:KeyInfo>\\n</md:KeyDescriptor>\\n<md:ArtifactResolutionService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml/resolve\" index=\"0\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n</md:IDPSSODescriptor>\\n</md:EntityDescriptor>\\n",
"provider": "keycloak",
"lighthouse_id": 1
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- idp_metadata: required(object)
- lighthouse_id: required(integer)
- display_name: required(string)
- provider: required(string)
one of
okta
,azure_ad
,onelogin
,keycloak
- sp_private_key: (string)
- sp_certificate: (string)
- metadata: required(string)
- id: required(integer)
Example:
{
"idp_metadata": {
"id": 5,
"display_name": "keycloak-primary-updated",
"sp_private_key": "-----BEGIN RSA PRIVATE KEY-----\\nMIIEpQIBAAKCAQEAq72mEUgBCOdc3LQq8ZWw/j0j.../GSr0Rj5sRtyV9vP179YQwwdAF6L6NLpro=\\n-----END RSA PRIVATE KEY-----\\n",
"sp_certificate": "Bag Attributes\\n localKeyID: 96 0A DD A5 FD 80 BB 66 44 11 6A D1 CB 13 0E 4E 6D DC 7C 7E \\n friendlyName: test\nsubject=CN = keycloak-lighthouse\\n\\nissuer=CN = keycloak-lighthouse\\n\\n-----BEGIN CERTIFICATE-----\\nMIICtTCCAZ0CBgF8NGSBqjANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQDDBNrZ...notBcUj2Vwy+kmY0h0bMJcqNupk3SJV0\\n1r2lzkFY5upAaT/JvQK4L+5dwEAIGyxCAQ==\\n-----END CERTIFICATE-----\\n",
"metadata": "<md:EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"http://localhost/auth/realms/keycloak-lighthouse\">\\n<md:IDPSSODescriptor WantAuthnRequestsSigned=\"true\" protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\\n<md:KeyDescriptor use=\"signing\">\\n<ds:KeyInfo>\\n<ds:KeyName>o5KTX0J7mYo1FbkUUkb13vTlldGbgM3n0GyIdJhPgHA</ds:KeyName>\\n<ds:X509Data>\\n<ds:X509Certificate>MIICxTCCAa0CBgF8U9wJPTANBgkqhkiG9w0BAQsFADAmMSQ...JeVyz2EfOE9z0RNH1b+u2RkuESQYN7W5DzhVVSfyH7u/3CCmqoBW0=</ds:X509Certificate>\\n</ds:X509Data>\\n</ds:KeyInfo>\\n</md:KeyDescriptor>\\n<md:ArtifactResolutionService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml/resolve\" index=\"0\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>\\n<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n<md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://localhost/auth/realms/keycloak-lighthouse/protocol/saml\"/>\\n</md:IDPSSODescriptor>\\n</md:EntityDescriptor>\\n",
"provider": "keycloak",
"lighthouse_id": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /auth/saml/idp_metadatas/{id}
Delete an IdP metadata configuration. Implicitly disables SSO for the lighthouse.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
IdP metadata deleted
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
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)
Maximum number of bundles 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
Properties- bundles: required(array of object)
Items: items
- name: required(string)
Name of the bundle passed by the node
- auto_approve: required(boolean)
Lighthouse will automatically approve nodes for this bundle when this setting is enabled
- token: required(string)
The enrollment token passed by the node
- tier: required(one of enterprise, premium, legacy)
The license subscription pool which the node will consume
- automatic_tags: required(array of object)
A list of tags names and values to be used for nodes in this bundle
Items: items
- id: (string)
- name: required(string)
- value: required(string)
- templates: required(array of string)
List of templates ids to be applied for this bundle
- manifest_link: (string)
The absolute path for the location of the manifest data
Example:
/api/v1.1/bundles/enrollment_bundles-1/manifest
- id: required(string)
- nodes: (array of string)
List of nodes registered with this bundle
- name: required(string)
Example:
{
"bundles": [
{
"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": [],
"templates": [
"templates-1",
"templates-4"
],
"tier": "premium",
"token": "abcdefghijklmnop",
"manifest_link": "/api/v1.1/bundles/enrollment_bundles-1/manifest"
},
{
"name": "Test Bundle 2",
"auto_approve": false,
"id": "enrollment_bundles-2",
"automatic_tags": [
{
"id": "enrollment_bundles_automatic_tags-3",
"name": "Test Tag Key A",
"value": "Test Tag Value B"
}
],
"nodes": [],
"templates": [],
"tier": "enterprise",
"token": "1234567890",
"manifest_link": "/api/v1.1/bundles/enrollment_bundles-2/manifest"
}
],
"meta": {
"total_count": 2,
"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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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 object)
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 object)
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
Properties- bundle: required(object)
Lighthouse configuration bundle
- name: required(string)
Name of the bundle passed by the node
- auto_approve: required(boolean)
Lighthouse will automatically approve nodes for this bundle when this setting is enabled
- token: required(string)
The enrollment token passed by the node
- tier: required(one of enterprise, premium, legacy)
The license subscription pool which the node will consume
- automatic_tags: required(array of object)
A list of tags names and values to be used for nodes in this bundle
Items: items
- id: (string)
- name: required(string)
- value: required(string)
- templates: required(array of string)
List of templates ids to be applied for this bundle
- manifest_link: (string)
The absolute path for the location of the manifest data
Example:
/api/v1.1/bundles/enrollment_bundles-1/manifest
- name: required(string)
Example:
{
"bundle": {
"name": "PrimaryBundle",
"auto_approve": true,
"tier": "premium",
"token": "ABCD1234567",
"templates": [
"templates-5"
],
"automatic_tags": [
{
"name": "Location",
"value": "Brisbane"
}
]
}
}
HTTP status code 200
Bundle added successfully.
Body
Media type: application/json
Type: object
Properties- bundle: required(object)
Lighthouse configuration bundle
- name: required(string)
Name of the bundle passed by the node
- auto_approve: required(boolean)
Lighthouse will automatically approve nodes for this bundle when this setting is enabled
- token: required(string)
The enrollment token passed by the node
- tier: required(one of enterprise, premium, legacy)
The license subscription pool which the node will consume
- automatic_tags: required(array of object)
A list of tags names and values to be used for nodes in this bundle
Items: items
- id: (string)
- name: required(string)
- value: required(string)
- templates: required(array of string)
List of templates ids to be applied for this bundle
- manifest_link: (string)
The absolute path for the location of the manifest data
Example:
/api/v1.1/bundles/enrollment_bundles-1/manifest
- id: required(string)
- nodes: (array of string)
List of nodes registered with this bundle
- name: required(string)
Example:
{
"bundle": {
"name": "Test Bundle 1",
"auto_approve": true,
"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": [],
"templates": [
"templates-5"
],
"tier": "premium",
"token": "abcdefghijklmnop",
"manifest_link": "/api/v1.1/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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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)
Lighthouse configuration bundle
- name: required(string)
Name of the bundle passed by the node
- auto_approve: required(boolean)
Lighthouse will automatically approve nodes for this bundle when this setting is enabled
- token: required(string)
The enrollment token passed by the node
- tier: required(one of enterprise, premium, legacy)
The license subscription pool which the node will consume
- automatic_tags: required(array of object)
A list of tags names and values to be used for nodes in this bundle
Items: items
- id: (string)
- name: required(string)
- value: required(string)
- templates: required(array of string)
List of templates ids to be applied for this bundle
- manifest_link: (string)
The absolute path for the location of the manifest data
Example:
/api/v1.1/bundles/enrollment_bundles-1/manifest
- id: required(string)
- nodes: (array of string)
List of nodes registered with this bundle
- name: 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": [],
"templates": [
"templates-4"
],
"tier": "premium",
"token": "abcdefghijklmnop",
"manifest_link": "/api/v1.1/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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
Properties- bundle: required(object)
Lighthouse configuration bundle
- name: required(string)
Name of the bundle passed by the node
- auto_approve: required(boolean)
Lighthouse will automatically approve nodes for this bundle when this setting is enabled
- token: required(string)
The enrollment token passed by the node
- tier: required(one of enterprise, premium, legacy)
The license subscription pool which the node will consume
- automatic_tags: required(array of object)
A list of tags names and values to be used for nodes in this bundle
Items: items
- id: (string)
- name: required(string)
- value: required(string)
- templates: required(array of string)
List of templates ids to be applied for this bundle
- manifest_link: (string)
The absolute path for the location of the manifest data
Example:
/api/v1.1/bundles/enrollment_bundles-1/manifest
- name: required(string)
Example:
{
"bundle": {
"name": "PrimaryBundle",
"auto_approve": true,
"tier": "premium",
"token": "BCDEFGHIJKLMNOPQRSTUVWXYZ123456",
"templates": [
"templates-4",
"templates-5"
],
"automatic_tags": [
{
"name": "Location",
"value": "Brisbane"
}
]
}
}
HTTP status code 200
The updated bundle
Body
Media type: application/json
Type: object
Properties- bundle: required(object)
Lighthouse configuration bundle
- name: required(string)
Name of the bundle passed by the node
- auto_approve: required(boolean)
Lighthouse will automatically approve nodes for this bundle when this setting is enabled
- token: required(string)
The enrollment token passed by the node
- tier: required(one of enterprise, premium, legacy)
The license subscription pool which the node will consume
- automatic_tags: required(array of object)
A list of tags names and values to be used for nodes in this bundle
Items: items
- id: (string)
- name: required(string)
- value: required(string)
- templates: required(array of string)
List of templates ids to be applied for this bundle
- manifest_link: (string)
The absolute path for the location of the manifest data
Example:
/api/v1.1/bundles/enrollment_bundles-1/manifest
- id: required(string)
- nodes: (array of string)
List of nodes registered with this bundle
- name: 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": [],
"templates": [
"templates-4",
"templates-5"
],
"tier": "premium",
"token": "BCDEFGHIJKLMNOPQRSTUVWXYZ123456",
"manifest_link": "/api/v1.1/bundles/enrollment_bundles-3/manifest"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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.
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": "enrollment_bundles_automatic_tags-1",
"name": "myTag",
"value": "my tag value"
},
{
"id": "enrollment_bundles_automatic_tags-2",
"name": "myTag2",
"value": ""
},
{
"id": "enrollment_bundles_automatic_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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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.
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",
"value": "New York"
}
}
HTTP status code 200
Bundle with given bundle id not found.
Body
Media type: application/json
Type: object
Example:
{
"tag": {
"id": "enrollment_bundles_automatic_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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle with given bundle id not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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:
enrollment_bundles_automatic_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:
{
"tag": {
"id": "enrollment_bundles_automatic_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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle with given bundle {id} not found. Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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:
enrollment_bundles_automatic_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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle with given bundle {id} not found. Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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_automatic_tags-0'.",
"args": {
"uuid": "enrollment_bundles_automatic_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:
enrollment_bundles_automatic_tags-1
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
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: bundle id, or tag_value_id parameter missing.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle with given bundle {id} not found. Tag information with given {tag_value_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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_automatic_tags-0'.",
"args": {
"uuid": "enrollment_bundles_automatic_tags-0"
},
"level": 1
}
]
}
HTTP status code 500
Internal error
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Bundle with given bundle {id} not found. Manifest information with given {bundle_id} not found.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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
An array listing the current users on the system.
Body
Media type: application/json
Type: object
Properties- users: required(array of union)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"users": [
{
"id": "users-1",
"username": "root",
"enabled": true,
"expired": false,
"locked_out": false,
"ssh_public_keys": [
{
"description": "Root user key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgoXlpoQ0b51mI860mNtxCmPmYw0lC8WQktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal root@lighthouse"
},
{
"description": "Root user second key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgoXlpoQ0b51mI860mNtDDKDIYw0lC8WQktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal root@lighthouse"
}
],
"groups": [
"groups-1",
"groups-2"
],
"rights": {
"delete": true,
"modify": true
},
"no_password": false,
"deletable": false
},
{
"username": "username-1",
"enabled": false,
"expired": false,
"locked_out": false,
"description": "Description- 1",
"id": "users-2",
"groups": [
"groups-1",
"groups-2"
],
"rights": {
"delete": true,
"modify": true
},
"no_password": false,
"deletable": true
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
Properties- user: required(union of user or user)
Example:
{
"user": {
"username": "joe",
"password": "monkey",
"description": "local user",
"enabled": true,
"expired": false,
"locked_out": false,
"no_password": false,
"ssh_public_keys": [
{
"description": "Joe's key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgoXlpoQ0b51mI860mNtxCmPmYw0lC8WQktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal joe@gateway1"
}
],
"groups": [
"groups-1"
]
}
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- user: required(union of user or user)
Example:
{
"user": {
"username": "mfp",
"description": "local user",
"enabled": true,
"expired": false,
"locked_out": false,
"id": "users-10",
"no_password": false,
"rights": {
"delete": true,
"modify": true
},
"ssh_public_keys": [
{
"description": "Joe's key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgoXlpoQ0b51mI860mNtxCmPmYw0lC8WQktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal joe@gateway1"
}
],
"groups": [
"groups-1"
],
"deletable": true
}
}
HTTP status code 400
Failed to create user to error in request body.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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.
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
Body
Media type: application/json
Type: object
Properties- user: required(union of user or user)
Example:
{
"user": {
"username": "joe",
"description": "local user",
"enabled": true,
"expired": false,
"locked_out": false,
"id": "users-15",
"no_password": false,
"rights": {
"delete": true,
"modify": true
},
"ssh_public_keys": [
{
"description": "Joe's key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgoXlpoQ0b51mI860mNtxCmPmYw0lC8WQktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal joe@gateway2"
}
],
"groups": [
"groups-1"
],
"deletable": true
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
User doesn't 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
put /users/{id}
Update a User.
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(union of user or user)
Example:
{
"user": {
"description": "remote auth user",
"enabled": true,
"expired": true,
"locked_out": false,
"ssh_public_keys": [
{
"description": "Joe's first key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAddffsgoXlpoQ0b51mIbde860mNtxCmPmYw0lCktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal joe@machine1"
},
{
"description": "Joe's second key",
"value": "ssh-rsa dffsgoXlpoQ0b51mIbde860mNtxCmPmYAAAAB3NzaC1yc2EAAAADAQABAAdw0lCktdoRPDMArQGXXE1vQjBM+Xzn9SsSry3Fa/Vmll joe@machine1"
}
],
"groups": [
"groups-1"
],
"password": null,
"no_password": true
}
}
HTTP status code 200
User updated successfully.
Body
Media type: application/json
Type: object
Properties- user: required(union of user or user)
Example:
{
"user": {
"username": "joe",
"description": "remote auth user",
"id": "users-15",
"enabled": true,
"expired": true,
"locked_out": false,
"no_password": true,
"rights": {
"delete": true,
"modify": true
},
"ssh_public_keys": [
{
"description": "Joe's first key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAddffsgoXlpoQ0b51mIbde860mNtxCmPmYw0lCktdoRPDMArQGXXE1vQjBM+/VmlXzn9SsSry3Fal joe@machine1"
},
{
"description": "Joe's second key",
"value": "ssh-rsa dffsgoXlpoQ0b51mIbde860mNtxCmPmYAAAAB3NzaC1yc2EAAAADAQABAAdw0lCktdoRPDMArQGXXE1vQjBM+Xzn9SsSry3Fa/Vmll joe@machine1"
}
],
"groups": [
"groups-1"
],
"deletable": true
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 204
User deleted successfully
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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
Retrieve the current password policy.
Update the password policy.
get /users/password_policy
Retrieve the current password policy.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- password_policy: required(object)
- enabled: required(boolean)
- min_password_length: required(integer)
- no_username: required(boolean)
- must_contain_capital_letter: required(boolean)
- must_contain_number: required(boolean)
- must_contain_special_character: required(boolean)
- password_reuse_period: required(integer)
- password_expiry_period: required(integer)
- max_login_attempts: required(integer)
- login_lockout_period: required(integer)
Example:
{
"password_policy": {
"enabled": true,
"min_password_length": 6,
"no_username": false,
"must_contain_capital_letter": false,
"must_contain_number": false,
"must_contain_special_character": false,
"password_reuse_period": -1,
"password_expiry_period": 30,
"max_login_attempts": 5,
"login_lockout_period": 5
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /users/password_policy
Update the password policy.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- password_policy: required(object)
- enabled: required(boolean)
- min_password_length: required(integer)
- no_username: required(boolean)
- must_contain_capital_letter: required(boolean)
- must_contain_number: required(boolean)
- must_contain_special_character: required(boolean)
- password_reuse_period: required(integer)
- password_expiry_period: required(integer)
- max_login_attempts: required(integer)
- login_lockout_period: required(integer)
Example:
{
"password_policy": {
"enabled": true,
"min_password_length": 6,
"no_username": false,
"must_contain_capital_letter": true,
"must_contain_number": false,
"must_contain_special_character": true,
"password_reuse_period": -1,
"password_expiry_period": 30,
"max_login_attempts": 5,
"login_lockout_period": 5
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- password_policy: required(object)
- enabled: required(boolean)
- min_password_length: required(integer)
- no_username: required(boolean)
- must_contain_capital_letter: required(boolean)
- must_contain_number: required(boolean)
- must_contain_special_character: required(boolean)
- password_reuse_period: required(integer)
- password_expiry_period: required(integer)
- max_login_attempts: required(integer)
- login_lockout_period: required(integer)
Example:
{
"password_policy": {
"enabled": true,
"min_password_length": 6,
"no_username": false,
"must_contain_capital_letter": true,
"must_contain_number": false,
"must_contain_special_character": true,
"password_reuse_period": -1,
"password_expiry_period": 30,
"max_login_attempts": 5,
"login_lockout_period": 5
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Reset an authenticated user's password.
put /users/password_reset
Reset an authenticated user's password.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- current_password: required(string)
- new_password: required(string)
Example:
{
"current_password": "default",
"new_password": "default2"
}
HTTP status code 200
User's password reset successfully.
Body
Media type: application/json
Type: object
Properties- user: required(union of user or user)
Example:
{
"user": {
"username": "joe",
"description": "local user",
"enabled": true,
"expired": false,
"locked_out": false,
"id": "users-15",
"no_password": false,
"rights": {
"delete": true,
"modify": true
},
"groups": [
"groups-1"
],
"deletable": true
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Validate a potential new password against the password policy.
put /users/password_validation
Validate a potential new password against the password policy.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- password_validation: required(object)
- username: required(string)
- password: required(string)
Example:
{
"password_validation": {
"username": "joe",
"password": "default"
}
}
HTTP status code 200
Validate a potential new password against the password policy.
Body
Media type: application/json
Type: object
Properties- result: required(boolean)
- details: required(object)
- number: required(boolean)
- capital: required(boolean)
- special: required(boolean)
- username: required(boolean)
- length: required(boolean)
Example:
{
"result": false,
"details": {
"number": true,
"capital": true,
"special": false,
"username": false,
"length": true
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
/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}}
Query Parameters
- per_page: (integer - default: 100000)
Maximum number of groups per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- filter: (string - default: )
Filter groups based on whether the group name contains a specific substring
HTTP status code 200
A JSON object containing Groups config is returned.
Body
Media type: application/json
Type: object
Properties- groups: required(array of object)
Items: groupDetails
- id: required(string)
- groupname: required(string)
- enabled: required(boolean)
- mode: required(string)
- members: required(array of string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- description: (string)
- global_roles: (array of string)
- smart_group: (string)
- smart_group_roles: (array of string)
- managed_device_filter: (string)
- resource_filter: (string)
- last_updated_time: required(string)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"groups": [
{
"id": "groups-1",
"groupname": "netgrp",
"enabled": false,
"mode": "global",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "Group for users created automatically via network authentication",
"last_updated_time": "2024-03-05 05:33"
},
{
"id": "groups-2",
"groupname": "admin",
"enabled": true,
"mode": "global",
"members": [
"users-1"
],
"rights": {
"delete": true,
"modify": true
},
"description": "Provides users with unlimited configuration and management privileges",
"global_roles": [
"LighthouseAdmin"
],
"last_updated_time": "2024-03-05 05:34"
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"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
Type: object
Properties- group: required(object)
- groupname: required(string)
- mode: required(string)
- description: (string)
- enabled: (boolean)
- smart_group_roles: (array of string)
- global_roles: (array of string)
- smart_group: (string)
- managed_device_filter: (string)
- resource_filter: (string)
Examples:
Node admin example:
{
"group": {
"groupname": "my_node_group",
"description": "to hold the node admin users",
"mode": "smart_group",
"enabled": true,
"smart_group_roles": [
"NodeAdmin"
],
"smart_group": "smart_groups_nodes_groups-1"
}
}
Node user with port filter example:
{
"group": {
"groupname": "my_user_group",
"description": "to hold the node users",
"mode": "smart_group",
"enabled": true,
"smart_group_roles": [
"NodeUser"
],
"smart_group": "smart_groups_nodes_groups-1",
"managed_device_filter": "smart_groups_ports_groups-1"
}
}
Node user with resource filter example:
{
"group": {
"groupname": "my_resource_group",
"description": "to hold the node users",
"mode": "smart_group",
"enabled": true,
"smart_group_roles": [
"NodeUser"
],
"smart_group": "smart_groups_nodes_groups-1",
"resource_filter": "smart_groups_resources_groups-1"
}
}
Node user with all ports example:
{
"group": {
"groupname": "my_user_all_group",
"description": "to hold the node users",
"mode": "smart_group",
"enabled": true,
"smart_group_roles": [
"NodeUser"
],
"smart_group": "smart_groups_nodes_groups-1"
}
}
Lighthouse admin example:
{
"group": {
"groupname": "my_admin_group",
"description": "all LH admins",
"mode": "global",
"enabled": true,
"global_roles": [
"LighthouseAdmin"
]
}
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- group: required(object)
- id: required(string)
- groupname: required(string)
- enabled: required(boolean)
- mode: required(string)
- members: required(array of string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- description: (string)
- global_roles: (array of string)
- smart_group: (string)
- smart_group_roles: (array of string)
- managed_device_filter: (string)
- resource_filter: (string)
- last_updated_time: required(string)
Examples:
Node admin example:
{
"group": {
"id": "groups-7",
"groupname": "my_node_group",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "to hold the node admin users",
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeAdmin"
],
"last_updated_time": "2024-03-05 07:12"
}
}
Node user with port filter example:
{
"group": {
"id": "groups-8",
"groupname": "my_user_group",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "to hold the node users",
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeUser"
],
"managed_device_filter": "smart_groups_ports_groups-1",
"last_updated_time": "2024-03-05 07:18"
}
}
Node user with resource filter example:
{
"group": {
"id": "groups-9",
"groupname": "my_resource_group",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "to hold the node users",
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeUser"
],
"resource_filter": "smart_groups_resources_groups-1",
"last_updated_time": "2024-03-05 07:20"
}
}
Node user with all ports example:
{
"group": {
"id": "groups-10",
"groupname": "my_user_all_group",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "to hold the node users",
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeUser"
],
"last_updated_time": "2024-03-05 07:21"
}
}
Lighthouse admin example:
{
"group": {
"id": "groups-11",
"groupname": "my_admin_group",
"enabled": true,
"mode": "global",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "all LH admins",
"global_roles": [
"LighthouseAdmin"
],
"last_updated_time": "2024-03-05 07:23"
}
}
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 object)
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
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"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
Type: object
Properties- group: required(object)
- id: required(string)
- groupname: required(string)
- enabled: required(boolean)
- mode: required(string)
- members: required(array of string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- description: (string)
- global_roles: (array of string)
- smart_group: (string)
- smart_group_roles: (array of string)
- managed_device_filter: (string)
- resource_filter: (string)
- last_updated_time: required(string)
Example:
{
"group": {
"id": "groups-3",
"groupname": "group1",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeAdmin"
],
"last_updated_time": "2024-03-05 06:49"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Group does not exist
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
Type: object
Properties- group: required(object)
- groupname: required(string)
- mode: required(string)
- description: (string)
- enabled: (boolean)
- smart_group_roles: (array of string)
- global_roles: (array of string)
- smart_group: (string)
- managed_device_filter: (string)
- resource_filter: (string)
Examples:
Node admin example:
{
"group": {
"groupname": "my_admin_group2",
"enabled": true,
"description": "all node admins",
"mode": "smart_group",
"members": [],
"smart_group_roles": [
"NodeAdmin"
],
"smart_group": "smart_groups_nodes_groups-1"
}
}
Node user example:
{
"group": {
"groupname": "my_admin_group2",
"enabled": true,
"description": "all node users",
"mode": "smart_group",
"members": [],
"smart_group_roles": [
"NodeUser"
],
"smart_group": "smart_groups_nodes_groups-1",
"managed_device_filter": "smart_groups_ports_groups-1"
}
}
Lighthouse admin example:
{
"group": {
"groupname": "my_admin_group2",
"enabled": true,
"description": "all node admins",
"mode": "global",
"members": [],
"global_roles": [
"LighthouseAdmin"
]
}
}
HTTP status code 200
Group has been updated.
Body
Media type: application/json
Type: object
Properties- group: required(object)
- id: required(string)
- groupname: required(string)
- enabled: required(boolean)
- mode: required(string)
- members: required(array of string)
- rights: required(object)
- create: (boolean)
- delete: required(boolean)
- modify: required(boolean)
- netops: (boolean)
- description: (string)
- global_roles: (array of string)
- smart_group: (string)
- smart_group_roles: (array of string)
- managed_device_filter: (string)
- resource_filter: (string)
- last_updated_time: required(string)
Examples:
Node admin example:
{
"group": {
"id": "groups-3",
"groupname": "my_admin_group2",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "all node admins",
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeAdmin"
],
"last_updated_time": "2024-03-05 22:43"
}
}
Node user example:
{
"group": {
"id": "groups-3",
"groupname": "my_admin_group2",
"enabled": true,
"mode": "smart_group",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "all node users",
"smart_group": "smart_groups_nodes_groups-1",
"smart_group_roles": [
"NodeUser"
],
"managed_device_filter": "smart_groups_ports_groups-1",
"last_updated_time": "2024-03-05 22:44"
}
}
Lighthouse admin example:
{
"group": {
"id": "groups-3",
"groupname": "my_admin_group2",
"enabled": true,
"mode": "global",
"members": [],
"rights": {
"delete": true,
"modify": true
},
"description": "all node admins",
"global_roles": [
"LighthouseAdmin"
],
"last_updated_time": "2024-03-05 22:44"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Group does not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Group does not exist
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/templates
Create and view configuration templates.
Retrieve a list of templates.
Create a new Template.
get /templates
Retrieve a list of templates.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing configuration templates.
Body
Media type: application/json
Type: object
Properties- templates: required(array of object)
Items: template
- id: (string)
- type: required(one of auth, smf, script, users_groups)
- description: (string)
- name: required(string)
- groups: (array of object)
The groups for a users_groups template.
Items: Group
- groupname: required(string)
- description: required(string)
- roles: required(array of any)
- restrict_ports: required(boolean)
- ports: (string)
- users: (array of object)
The users for a users_groups template.
Items: User
- username: required(string)
- description: (string)
- password: (string)
- groups: (array of any)
- group_operation_type: (group_set_list)
The group operation to be performed for a users_groups template.
- user_operation_type: (user_set_list)
The user operation to be performed for a users_groups template.
- authMode: (one of local, radius, tacacs, ldap)
The authentication type for an auth template.
- radiusAuthenticationServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusAccountingServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusPassword: (string)
The radius authentication password.
- tacacsAuthenticationServers: (array of object)
The tacacs servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- tacacsService: (string)
The tacacs service.
- tacacsMethod: (string)
The tacacs method.
- tacacsPassword: (string)
The tacacs server password.
- ldapAuthenticationServers: (array of object)
The ldap servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- ldapGroupMembershipAttribute: (string)
The ldap group membership attribute type.
- ldapBaseDN: (string)
The ldap base dn.
- ldapBindDN: (string)
The ldap bind dn.
- ldapUsernameAttribute: (string)
The ldap username attribute.
- ldapBindPassword: (string)
The ldap bind password.
- ldapIgnoreReferrals: (boolean)
Disregard LDAP referrals to other servers
- ldapSslMode: (string)
Specifies whether LDAP/LDAPS/auto when contacting LDAP servers
- ldapSslIgnoreCertErrors: (boolean)
Disregard LDAPS certificate errors
- ldapSslCaCert: (string)
PEM formatted string for the CA certificate used to verify LDAPS servers
- script_checksum: (string)
SHA1 checksum of script.
- script_size: (string)
Size in bytes of script.
- smf_data: (object)
The SMF data to use when applying the template. Required for 'smf' type templates, not relevant otherwise.
- ospf_router_id: (string)
The area unique id associated with the node OSPF service. It is typically in the format of A.B.C.D.
- ospf_redistribute_connected: required(boolean)
Whether or not to add 'redistribute_connected' option to the node OSPF configuration. If this is enabled, any directly connected network routes will be advertised to OSPF neighbours.
- ospf_redistribute_kernel: required(boolean)
Whether or not to add 'redistribute_kernel' option to the node OSPF configuration. If this is enabled, any system defined static routes will be advertised to OSPF neighbours.
- all_zone_ip_masquerade: required(boolean)
Whether or not to enable Masquerading for all interfaces on the Node. Enabling this setting will override the individual interface Masquerade settings.
- ospf_networks: (array of object)
The IP network configurations to enable the node OSPF service for.
Items: items
- address: required(string)
An IPv4 network address to enable OSPF for. No host bits should be set.
- subnet_mask: required(string)
The subnet mask for the associated network address in dotted decimal notation.
- area: required(string)
The area associated with the network. This should be either a number or in the A.B.C.D format.
- address: required(string)
- ospf_interfaces: (array of object)
The specific individual interface related parameters for OSPF.
Items: items
- name: required(string)
The name of the interface these settings apply to. This should match the name of an interface on the node.
- cost: (integer - minimum: 1 - maximum: 65535)
The link cost of the interface used in OSPF route calculations
- area: required(string)
The area configured for the interface to run OSPF. This should be either a number or in the A.B.C.D format.
- passive: required(boolean)
Whether or not the interface should be marked as passive for OSPF purposes. Enabling this would mean LSAs are not traded on this link.
- auth_method: required(one of no_auth, cleartext, md5)
The authentication method to use for communications on this interface.
- auth_keys: required(array of object)
The authentication keys for the associated method.
Items: items
- id: required(string)
The id of the associated key.
- key: required(string)
The actual key value.
- id: required(string)
- name: required(string)
- ospf_router_id: (string)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Examples:
Radius Auth example:
{
"templates": [
{
"type": "users_groups",
"description": "Group admins",
"id": "templates-9",
"group_operation_type": "group_set_list",
"groups": [
{
"groupname": "bne_east",
"description": "Admin over BNE ",
"roles": [
"administrator"
],
"restrict_ports": true,
"ports": "1,2,5-7"
},
{
"groupname": "syd_west",
"description": "Access to SYD west",
"roles": [
"pmoperator"
],
"restrict_ports": false
}
],
"user_operation_type": "user_set_list",
"users": [
{
"username": "user1",
"description": "The first user",
"groups": [
"syd_west",
"bne_east"
]
},
{
"username": "user2",
"description": "The second user",
"groups": []
}
],
"name": "QLD users"
}
],
"meta": {
"total_count": 1,
"total_pages": 1
}
}
SMF example:
{
"templates": [
{
"id": "templates-2",
"name": "node_ospf_special",
"type": "smf",
"description": "Enable OSPF of node",
"smf_data": {
"ospf_router_id": "10.0.0.2",
"ospf_redistribute_connected": false,
"ospf_redistribute_kernel": true,
"all_zone_ip_masquerade": true,
"ospf_networks": [
{
"address": "5.5.5.0",
"subnet_mask": "255.255.255.0",
"area": "40"
},
{
"address": "10.0.0.0",
"subnet_mask": "255.0.0.0",
"area": "0.0.0.0"
}
],
"ospf_interfaces": [
{
"name": "net2",
"cost": 10,
"area": "0.0.0.32",
"passive": true,
"auth_method": "no_auth",
"auth_keys": []
},
{
"name": "net1",
"area": "0.0.0.64",
"non_broadcast": true,
"auth_method": "md5",
"auth_keys": [
{
"id": "2",
"key": "2AAA8335FD030E054A98E3B2C5852B34"
},
{
"id": "4",
"key": "3A6BD16D50D2DA27B07DAA2088E56CE6"
}
]
}
]
}
}
],
"meta": {
"total_count": 1,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /templates
Create a new Template.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- template: required(object)
- id: (string)
- type: required(one of auth, smf, script, users_groups)
- description: (string)
- name: required(string)
- groups: (array of object)
The groups for a users_groups template.
Items: Group
- groupname: required(string)
- description: required(string)
- roles: required(array of any)
- restrict_ports: required(boolean)
- ports: (string)
- users: (array of object)
The users for a users_groups template.
Items: User
- username: required(string)
- description: (string)
- password: (string)
- groups: (array of any)
- group_operation_type: (group_set_list)
The group operation to be performed for a users_groups template.
- user_operation_type: (user_set_list)
The user operation to be performed for a users_groups template.
- authMode: (one of local, radius, tacacs, ldap)
The authentication type for an auth template.
- radiusAuthenticationServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusAccountingServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusPassword: (string)
The radius authentication password.
- tacacsAuthenticationServers: (array of object)
The tacacs servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- tacacsService: (string)
The tacacs service.
- tacacsMethod: (string)
The tacacs method.
- tacacsPassword: (string)
The tacacs server password.
- ldapAuthenticationServers: (array of object)
The ldap servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- ldapGroupMembershipAttribute: (string)
The ldap group membership attribute type.
- ldapBaseDN: (string)
The ldap base dn.
- ldapBindDN: (string)
The ldap bind dn.
- ldapUsernameAttribute: (string)
The ldap username attribute.
- ldapBindPassword: (string)
The ldap bind password.
- ldapIgnoreReferrals: (boolean)
Disregard LDAP referrals to other servers
- ldapSslMode: (string)
Specifies whether LDAP/LDAPS/auto when contacting LDAP servers
- ldapSslIgnoreCertErrors: (boolean)
Disregard LDAPS certificate errors
- ldapSslCaCert: (string)
PEM formatted string for the CA certificate used to verify LDAPS servers
- script_checksum: (string)
SHA1 checksum of script.
- script_size: (string)
Size in bytes of script.
- smf_data: (object)
The SMF data to use when applying the template. Required for 'smf' type templates, not relevant otherwise.
- ospf_router_id: (string)
The area unique id associated with the node OSPF service. It is typically in the format of A.B.C.D.
- ospf_redistribute_connected: required(boolean)
Whether or not to add 'redistribute_connected' option to the node OSPF configuration. If this is enabled, any directly connected network routes will be advertised to OSPF neighbours.
- ospf_redistribute_kernel: required(boolean)
Whether or not to add 'redistribute_kernel' option to the node OSPF configuration. If this is enabled, any system defined static routes will be advertised to OSPF neighbours.
- all_zone_ip_masquerade: required(boolean)
Whether or not to enable Masquerading for all interfaces on the Node. Enabling this setting will override the individual interface Masquerade settings.
- ospf_networks: (array of object)
The IP network configurations to enable the node OSPF service for.
Items: items
- address: required(string)
An IPv4 network address to enable OSPF for. No host bits should be set.
- subnet_mask: required(string)
The subnet mask for the associated network address in dotted decimal notation.
- area: required(string)
The area associated with the network. This should be either a number or in the A.B.C.D format.
- address: required(string)
- ospf_interfaces: (array of object)
The specific individual interface related parameters for OSPF.
Items: items
- name: required(string)
The name of the interface these settings apply to. This should match the name of an interface on the node.
- cost: (integer - minimum: 1 - maximum: 65535)
The link cost of the interface used in OSPF route calculations
- area: required(string)
The area configured for the interface to run OSPF. This should be either a number or in the A.B.C.D format.
- passive: required(boolean)
Whether or not the interface should be marked as passive for OSPF purposes. Enabling this would mean LSAs are not traded on this link.
- auth_method: required(one of no_auth, cleartext, md5)
The authentication method to use for communications on this interface.
- auth_keys: required(array of object)
The authentication keys for the associated method.
Items: items
- id: required(string)
The id of the associated key.
- key: required(string)
The actual key value.
- id: required(string)
- name: required(string)
- ospf_router_id: (string)
Examples:
Radius Auth example:
{
"template": {
"type": "auth",
"name": "central_radius",
"description": "radius central auth",
"authMode": "radius",
"radiusPassword": "radkey",
"radiusAuthenticationServers": [
{
"hostname": "10.0.1.1",
"port": 1812
}
],
"radiusAccountingServers": [
{
"hostname": "10.0.1.1",
"port": 1813
}
]
}
}
Tacacs+ Auth example:
{
"template": {
"name": "tacacs_central",
"description": "tacacs central auth",
"type": "auth",
"authMode": "tacacs",
"tacacsPassword": "tackey",
"tacacsMethod": "pap",
"tacacsService": "raccess",
"tacacsAuthenticationServers": [
{
"hostname": "10.0.1.1"
}
]
}
}
LDAP Auth example:
{
"template": {
"type": "auth",
"name": "ldap_central",
"description": "ldap central auth",
"authMode": "ldap",
"ldapAuthenticationServers": [
{
"port": 389,
"hostname": "10.0.1.1"
}
],
"ldapBindPassword": "ldapPassword!",
"ldapUsernameAttribute": "sAMAccountName",
"ldapGroupMembershipAttribute": "memberOf",
"ldapBaseDN": "cn=Users,dc=test,dc=example,dc=com",
"ldapBindDN": "cn=Administrator,cn=Users,dc=test,dc=example,dc=com"
}
}
Local Auth example:
{
"template": {
"type": "auth",
"name": "local",
"description": "local auth only",
"authMode": "local"
}
}
Users and Groups example:
{
"template": {
"name": "QLD users",
"description": "Queensland sysadmins",
"type": "users_groups",
"group_operation_type": "group_set_list",
"groups": [
{
"groupname": "bne_east",
"description": "Admin over BNE ",
"roles": [
"administrator"
],
"restrict_ports": true,
"ports": "1,2,5-7"
},
{
"groupname": "syd_west",
"description": "Access to SYD west",
"roles": [
"pmoperator"
],
"restrict_ports": false
}
],
"user_operation_type": "user_set_list",
"users": [
{
"username": "user1",
"description": "The first user",
"password": "secret",
"groups": [
"syd_west",
"bne_east"
]
},
{
"username": "user2",
"description": "The second user",
"password": "secret",
"groups": []
}
]
}
}
SMF example:
{
"template": {
"name": "node_2_ospf",
"type": "smf",
"description": "Enable OSPF of node 2",
"smf_data": {
"ospf_router_id": "10.0.0.2",
"ospf_redistribute_connected": false,
"ospf_redistribute_kernel": true,
"all_zone_ip_masquerade": true,
"ospf_networks": [
{
"address": "5.5.5.0",
"subnet_mask": "255.255.255.0",
"area": "40"
},
{
"address": "10.0.0.0",
"subnet_mask": "255.0.0.0",
"area": "0.0.0.0"
}
],
"ospf_interfaces": [
{
"name": "net2",
"cost": 10,
"area": "0.0.0.32",
"passive": true,
"auth_method": "no_auth",
"auth_keys": []
},
{
"name": "net1",
"area": "0.0.0.64",
"non_broadcast": true,
"auth_method": "md5",
"auth_keys": [
{
"id": "2",
"key": "2AAA8335FD030E054A98E3B2C5852B34"
},
{
"id": "4",
"key": "3A6BD16D50D2DA27B07DAA2088E56CE6"
}
]
}
]
}
}
}
Media type: multipart/form-data
Type: object
Properties- file: required(file)
The file to be uploaded.
- template: required(object)
- name: required(string)
Display name of the template
- type: required(script)
Value must be 'script'
- description: (string)
Template description
- script_timeout: required(integer)
Timeout (in minutes) for the script to complete
- name: required(string)
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- template: required(object)
- id: (string)
- type: required(one of auth, smf, script, users_groups)
- description: (string)
- name: required(string)
- groups: (array of object)
The groups for a users_groups template.
Items: Group
- groupname: required(string)
- description: required(string)
- roles: required(array of any)
- restrict_ports: required(boolean)
- ports: (string)
- users: (array of object)
The users for a users_groups template.
Items: User
- username: required(string)
- description: (string)
- password: (string)
- groups: (array of any)
- group_operation_type: (group_set_list)
The group operation to be performed for a users_groups template.
- user_operation_type: (user_set_list)
The user operation to be performed for a users_groups template.
- authMode: (one of local, radius, tacacs, ldap)
The authentication type for an auth template.
- radiusAuthenticationServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusAccountingServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusPassword: (string)
The radius authentication password.
- tacacsAuthenticationServers: (array of object)
The tacacs servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- tacacsService: (string)
The tacacs service.
- tacacsMethod: (string)
The tacacs method.
- tacacsPassword: (string)
The tacacs server password.
- ldapAuthenticationServers: (array of object)
The ldap servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- ldapGroupMembershipAttribute: (string)
The ldap group membership attribute type.
- ldapBaseDN: (string)
The ldap base dn.
- ldapBindDN: (string)
The ldap bind dn.
- ldapUsernameAttribute: (string)
The ldap username attribute.
- ldapBindPassword: (string)
The ldap bind password.
- ldapIgnoreReferrals: (boolean)
Disregard LDAP referrals to other servers
- ldapSslMode: (string)
Specifies whether LDAP/LDAPS/auto when contacting LDAP servers
- ldapSslIgnoreCertErrors: (boolean)
Disregard LDAPS certificate errors
- ldapSslCaCert: (string)
PEM formatted string for the CA certificate used to verify LDAPS servers
- script_checksum: (string)
SHA1 checksum of script.
- script_size: (string)
Size in bytes of script.
- smf_data: (object)
The SMF data to use when applying the template. Required for 'smf' type templates, not relevant otherwise.
- ospf_router_id: (string)
The area unique id associated with the node OSPF service. It is typically in the format of A.B.C.D.
- ospf_redistribute_connected: required(boolean)
Whether or not to add 'redistribute_connected' option to the node OSPF configuration. If this is enabled, any directly connected network routes will be advertised to OSPF neighbours.
- ospf_redistribute_kernel: required(boolean)
Whether or not to add 'redistribute_kernel' option to the node OSPF configuration. If this is enabled, any system defined static routes will be advertised to OSPF neighbours.
- all_zone_ip_masquerade: required(boolean)
Whether or not to enable Masquerading for all interfaces on the Node. Enabling this setting will override the individual interface Masquerade settings.
- ospf_networks: (array of object)
The IP network configurations to enable the node OSPF service for.
Items: items
- address: required(string)
An IPv4 network address to enable OSPF for. No host bits should be set.
- subnet_mask: required(string)
The subnet mask for the associated network address in dotted decimal notation.
- area: required(string)
The area associated with the network. This should be either a number or in the A.B.C.D format.
- address: required(string)
- ospf_interfaces: (array of object)
The specific individual interface related parameters for OSPF.
Items: items
- name: required(string)
The name of the interface these settings apply to. This should match the name of an interface on the node.
- cost: (integer - minimum: 1 - maximum: 65535)
The link cost of the interface used in OSPF route calculations
- area: required(string)
The area configured for the interface to run OSPF. This should be either a number or in the A.B.C.D format.
- passive: required(boolean)
Whether or not the interface should be marked as passive for OSPF purposes. Enabling this would mean LSAs are not traded on this link.
- auth_method: required(one of no_auth, cleartext, md5)
The authentication method to use for communications on this interface.
- auth_keys: required(array of object)
The authentication keys for the associated method.
Items: items
- id: required(string)
The id of the associated key.
- key: required(string)
The actual key value.
- id: required(string)
- name: required(string)
- ospf_router_id: (string)
Examples:
Radius Auth example:
{
"template": {
"type": "auth",
"id": "templates-8",
"radiusAuthenticationServers": [
{
"id": "templates_radius_authenticationServers-2",
"port": 1812,
"hostname": "10.0.1.1"
}
],
"ldapAuthenticationServers": [],
"name": "central_radius",
"tacacsAuthenticationServers": [],
"authMode": "radius",
"radiusAccountingServers": [
{
"id": "templates_radius_accountingServers-2",
"port": 1813,
"hostname": "10.0.1.1"
}
]
}
}
Tacacs Auth example:
{
"template": {
"type": "auth",
"description": "Central tacacs auth server",
"tacacsService": "raccess",
"id": "templates-12",
"radiusAuthenticationServers": [],
"ldapAuthenticationServers": [],
"name": "tacacs_central",
"tacacsMethod": "pap",
"tacacsAuthenticationServers": [
{
"id": "templates_tacacs_authenticationServers-2",
"port": 49,
"hostname": "10.0.1.1"
}
],
"authMode": "tacacs",
"radiusAccountingServers": []
}
}
LDAP Auth example:
{
"template": {
"type": "auth",
"description": "test ldap",
"id": "templates-11",
"ldapGroupMembershipAttribute": "memberOf",
"radiusAuthenticationServers": [],
"ldapAuthenticationServers": [
{
"id": "templates_ldap_authenticationServers-1",
"port": 389,
"hostname": "10.0.1.1"
}
],
"ldapUsernameAttribute": "sAMAccountName",
"tacacsAuthenticationServers": [],
"name": "ldap1",
"ldapBaseDN": "cn=Users,dc=test,dc=example,dc=com",
"ldapBindDN": "cn=Administrator,cn=Users,dc=test,dc=example,dc=com",
"authMode": "ldap",
"radiusAccountingServers": []
}
}
Local Auth example:
{
"template": {
"type": "auth",
"description": "local auth only",
"id": "templates-15",
"radiusAuthenticationServers": [],
"ldapAuthenticationServers": [],
"name": "local2",
"tacacsAuthenticationServers": [],
"authMode": "local",
"radiusAccountingServers": []
}
}
Users and Groups example:
{
"template": {
"type": "users_groups",
"description": "Group admins",
"id": "templates-9",
"group_operation_type": "group_set_list",
"groups": [
{
"groupname": "bne_east",
"description": "Admin over BNE ",
"roles": [
"administrator"
],
"restrict_ports": true,
"ports": "1,2,5-7"
},
{
"groupname": "syd_west",
"description": "Access to SYD west",
"roles": [
"pmoperator"
],
"restrict_ports": false
}
],
"user_operation_type": "user_set_list",
"users": [
{
"username": "user1",
"description": "The first user",
"groups": [
"syd_west",
"bne_east"
]
},
{
"username": "user2",
"description": "The second user",
"groups": []
}
],
"name": "QLD users"
}
}
HTTP status code 400
Failed to create the template due to incorrect request body.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 'operation' was not provided in the request.",
"args": {
"param": "operation"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
View, change, and delete existing templates.
Retrieve a single template.
Update a template.
Delete a template.
get /templates/{id}
Retrieve a single template.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing a configuration template.
Body
Media type: application/json
Type: object
Properties- template: required(object)
- id: (string)
- type: required(one of auth, smf, script, users_groups)
- description: (string)
- name: required(string)
- groups: (array of object)
The groups for a users_groups template.
Items: Group
- groupname: required(string)
- description: required(string)
- roles: required(array of any)
- restrict_ports: required(boolean)
- ports: (string)
- users: (array of object)
The users for a users_groups template.
Items: User
- username: required(string)
- description: (string)
- password: (string)
- groups: (array of any)
- group_operation_type: (group_set_list)
The group operation to be performed for a users_groups template.
- user_operation_type: (user_set_list)
The user operation to be performed for a users_groups template.
- authMode: (one of local, radius, tacacs, ldap)
The authentication type for an auth template.
- radiusAuthenticationServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusAccountingServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusPassword: (string)
The radius authentication password.
- tacacsAuthenticationServers: (array of object)
The tacacs servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- tacacsService: (string)
The tacacs service.
- tacacsMethod: (string)
The tacacs method.
- tacacsPassword: (string)
The tacacs server password.
- ldapAuthenticationServers: (array of object)
The ldap servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- ldapGroupMembershipAttribute: (string)
The ldap group membership attribute type.
- ldapBaseDN: (string)
The ldap base dn.
- ldapBindDN: (string)
The ldap bind dn.
- ldapUsernameAttribute: (string)
The ldap username attribute.
- ldapBindPassword: (string)
The ldap bind password.
- ldapIgnoreReferrals: (boolean)
Disregard LDAP referrals to other servers
- ldapSslMode: (string)
Specifies whether LDAP/LDAPS/auto when contacting LDAP servers
- ldapSslIgnoreCertErrors: (boolean)
Disregard LDAPS certificate errors
- ldapSslCaCert: (string)
PEM formatted string for the CA certificate used to verify LDAPS servers
- script_checksum: (string)
SHA1 checksum of script.
- script_size: (string)
Size in bytes of script.
- smf_data: (object)
The SMF data to use when applying the template. Required for 'smf' type templates, not relevant otherwise.
- ospf_router_id: (string)
The area unique id associated with the node OSPF service. It is typically in the format of A.B.C.D.
- ospf_redistribute_connected: required(boolean)
Whether or not to add 'redistribute_connected' option to the node OSPF configuration. If this is enabled, any directly connected network routes will be advertised to OSPF neighbours.
- ospf_redistribute_kernel: required(boolean)
Whether or not to add 'redistribute_kernel' option to the node OSPF configuration. If this is enabled, any system defined static routes will be advertised to OSPF neighbours.
- all_zone_ip_masquerade: required(boolean)
Whether or not to enable Masquerading for all interfaces on the Node. Enabling this setting will override the individual interface Masquerade settings.
- ospf_networks: (array of object)
The IP network configurations to enable the node OSPF service for.
Items: items
- address: required(string)
An IPv4 network address to enable OSPF for. No host bits should be set.
- subnet_mask: required(string)
The subnet mask for the associated network address in dotted decimal notation.
- area: required(string)
The area associated with the network. This should be either a number or in the A.B.C.D format.
- address: required(string)
- ospf_interfaces: (array of object)
The specific individual interface related parameters for OSPF.
Items: items
- name: required(string)
The name of the interface these settings apply to. This should match the name of an interface on the node.
- cost: (integer - minimum: 1 - maximum: 65535)
The link cost of the interface used in OSPF route calculations
- area: required(string)
The area configured for the interface to run OSPF. This should be either a number or in the A.B.C.D format.
- passive: required(boolean)
Whether or not the interface should be marked as passive for OSPF purposes. Enabling this would mean LSAs are not traded on this link.
- auth_method: required(one of no_auth, cleartext, md5)
The authentication method to use for communications on this interface.
- auth_keys: required(array of object)
The authentication keys for the associated method.
Items: items
- id: required(string)
The id of the associated key.
- key: required(string)
The actual key value.
- id: required(string)
- name: required(string)
- ospf_router_id: (string)
Examples:
Radius Auth example:
{
"template": {
"type": "auth",
"id": "templates-98",
"radiusAuthenticationServers": [
{
"id": "templates_radius_authenticationServers-90",
"port": 1812,
"hostname": "bar"
}
],
"ldapAuthenticationServers": [],
"name": "foo",
"tacacsAuthenticationServers": [],
"authMode": "radius",
"radiusAccountingServers": [
{
"id": "templates_radius_accountingServers-89",
"port": 1813,
"hostname": "baz"
}
]
}
}
SMF example:
{
"template": {
"id": "templates-4",
"name": "ospf_minimal",
"type": "smf",
"description": "Minimal OSPF",
"smf_data": {
"ospf_router_id": "1.2.3.4",
"ospf_redistribute_connected": true,
"ospf_redistribute_kernel": false,
"all_zone_ip_masquerade": false,
"ospf_networks": [
{
"address": "1.2.3.0",
"subnet_mask": "255.255.255.0",
"area": "1.1.1.1"
}
],
"ospf_interfaces": []
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /templates/{id}
Update a template.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- template: required(object)
- id: (string)
- type: required(one of auth, smf, script, users_groups)
- description: (string)
- name: required(string)
- groups: (array of object)
The groups for a users_groups template.
Items: Group
- groupname: required(string)
- description: required(string)
- roles: required(array of any)
- restrict_ports: required(boolean)
- ports: (string)
- users: (array of object)
The users for a users_groups template.
Items: User
- username: required(string)
- description: (string)
- password: (string)
- groups: (array of any)
- group_operation_type: (group_set_list)
The group operation to be performed for a users_groups template.
- user_operation_type: (user_set_list)
The user operation to be performed for a users_groups template.
- authMode: (one of local, radius, tacacs, ldap)
The authentication type for an auth template.
- radiusAuthenticationServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusAccountingServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusPassword: (string)
The radius authentication password.
- tacacsAuthenticationServers: (array of object)
The tacacs servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- tacacsService: (string)
The tacacs service.
- tacacsMethod: (string)
The tacacs method.
- tacacsPassword: (string)
The tacacs server password.
- ldapAuthenticationServers: (array of object)
The ldap servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- ldapGroupMembershipAttribute: (string)
The ldap group membership attribute type.
- ldapBaseDN: (string)
The ldap base dn.
- ldapBindDN: (string)
The ldap bind dn.
- ldapUsernameAttribute: (string)
The ldap username attribute.
- ldapBindPassword: (string)
The ldap bind password.
- ldapIgnoreReferrals: (boolean)
Disregard LDAP referrals to other servers
- ldapSslMode: (string)
Specifies whether LDAP/LDAPS/auto when contacting LDAP servers
- ldapSslIgnoreCertErrors: (boolean)
Disregard LDAPS certificate errors
- ldapSslCaCert: (string)
PEM formatted string for the CA certificate used to verify LDAPS servers
- script_checksum: (string)
SHA1 checksum of script.
- script_size: (string)
Size in bytes of script.
- smf_data: (object)
The SMF data to use when applying the template. Required for 'smf' type templates, not relevant otherwise.
- ospf_router_id: (string)
The area unique id associated with the node OSPF service. It is typically in the format of A.B.C.D.
- ospf_redistribute_connected: required(boolean)
Whether or not to add 'redistribute_connected' option to the node OSPF configuration. If this is enabled, any directly connected network routes will be advertised to OSPF neighbours.
- ospf_redistribute_kernel: required(boolean)
Whether or not to add 'redistribute_kernel' option to the node OSPF configuration. If this is enabled, any system defined static routes will be advertised to OSPF neighbours.
- all_zone_ip_masquerade: required(boolean)
Whether or not to enable Masquerading for all interfaces on the Node. Enabling this setting will override the individual interface Masquerade settings.
- ospf_networks: (array of object)
The IP network configurations to enable the node OSPF service for.
Items: items
- address: required(string)
An IPv4 network address to enable OSPF for. No host bits should be set.
- subnet_mask: required(string)
The subnet mask for the associated network address in dotted decimal notation.
- area: required(string)
The area associated with the network. This should be either a number or in the A.B.C.D format.
- address: required(string)
- ospf_interfaces: (array of object)
The specific individual interface related parameters for OSPF.
Items: items
- name: required(string)
The name of the interface these settings apply to. This should match the name of an interface on the node.
- cost: (integer - minimum: 1 - maximum: 65535)
The link cost of the interface used in OSPF route calculations
- area: required(string)
The area configured for the interface to run OSPF. This should be either a number or in the A.B.C.D format.
- passive: required(boolean)
Whether or not the interface should be marked as passive for OSPF purposes. Enabling this would mean LSAs are not traded on this link.
- auth_method: required(one of no_auth, cleartext, md5)
The authentication method to use for communications on this interface.
- auth_keys: required(array of object)
The authentication keys for the associated method.
Items: items
- id: required(string)
The id of the associated key.
- key: required(string)
The actual key value.
- id: required(string)
- name: required(string)
- ospf_router_id: (string)
Examples:
Radius Auth example:
{
"template": {
"type": "auth",
"name": "food",
"authMode": "radius",
"radiusPassword": "bork",
"radiusAuthenticationServers": [
{
"hostname": "bar"
}
],
"radiusAccountingServers": [
{
"hostname": "baz"
}
]
}
}
SMF example:
{
"template": {
"name": "ospf_minimal_weird",
"type": "smf",
"smf_data": {
"ospf_router_id": "240.239.238.237",
"ospf_redistribute_connected": false,
"ospf_redistribute_kernel": false,
"all_zone_ip_masquerade": false,
"ospf_networks": [
{
"address": "1.0.0.0",
"subnet_mask": "255.0.0.0",
"area": "1.2.3.4"
}
],
"ospf_interfaces": []
}
}
}
Media type: multipart/form-data
Type: object
Properties- name: required(string)
- description: (string)
- type: required(string)
- file: (file)
The file to be uploaded.
HTTP status code 200
A JSON object containing a configuration template.
Body
Media type: application/json
Type: object
Properties- template: required(object)
- id: (string)
- type: required(one of auth, smf, script, users_groups)
- description: (string)
- name: required(string)
- groups: (array of object)
The groups for a users_groups template.
Items: Group
- groupname: required(string)
- description: required(string)
- roles: required(array of any)
- restrict_ports: required(boolean)
- ports: (string)
- users: (array of object)
The users for a users_groups template.
Items: User
- username: required(string)
- description: (string)
- password: (string)
- groups: (array of any)
- group_operation_type: (group_set_list)
The group operation to be performed for a users_groups template.
- user_operation_type: (user_set_list)
The user operation to be performed for a users_groups template.
- authMode: (one of local, radius, tacacs, ldap)
The authentication type for an auth template.
- radiusAuthenticationServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusAccountingServers: (array of object)
The radius servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- radiusPassword: (string)
The radius authentication password.
- tacacsAuthenticationServers: (array of object)
The tacacs servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- tacacsService: (string)
The tacacs service.
- tacacsMethod: (string)
The tacacs method.
- tacacsPassword: (string)
The tacacs server password.
- ldapAuthenticationServers: (array of object)
The ldap servers to apply for an auth template.
Items: Authentication Server
- port: (number)
- hostname: required(string)
- ldapGroupMembershipAttribute: (string)
The ldap group membership attribute type.
- ldapBaseDN: (string)
The ldap base dn.
- ldapBindDN: (string)
The ldap bind dn.
- ldapUsernameAttribute: (string)
The ldap username attribute.
- ldapBindPassword: (string)
The ldap bind password.
- ldapIgnoreReferrals: (boolean)
Disregard LDAP referrals to other servers
- ldapSslMode: (string)
Specifies whether LDAP/LDAPS/auto when contacting LDAP servers
- ldapSslIgnoreCertErrors: (boolean)
Disregard LDAPS certificate errors
- ldapSslCaCert: (string)
PEM formatted string for the CA certificate used to verify LDAPS servers
- script_checksum: (string)
SHA1 checksum of script.
- script_size: (string)
Size in bytes of script.
- smf_data: (object)
The SMF data to use when applying the template. Required for 'smf' type templates, not relevant otherwise.
- ospf_router_id: (string)
The area unique id associated with the node OSPF service. It is typically in the format of A.B.C.D.
- ospf_redistribute_connected: required(boolean)
Whether or not to add 'redistribute_connected' option to the node OSPF configuration. If this is enabled, any directly connected network routes will be advertised to OSPF neighbours.
- ospf_redistribute_kernel: required(boolean)
Whether or not to add 'redistribute_kernel' option to the node OSPF configuration. If this is enabled, any system defined static routes will be advertised to OSPF neighbours.
- all_zone_ip_masquerade: required(boolean)
Whether or not to enable Masquerading for all interfaces on the Node. Enabling this setting will override the individual interface Masquerade settings.
- ospf_networks: (array of object)
The IP network configurations to enable the node OSPF service for.
Items: items
- address: required(string)
An IPv4 network address to enable OSPF for. No host bits should be set.
- subnet_mask: required(string)
The subnet mask for the associated network address in dotted decimal notation.
- area: required(string)
The area associated with the network. This should be either a number or in the A.B.C.D format.
- address: required(string)
- ospf_interfaces: (array of object)
The specific individual interface related parameters for OSPF.
Items: items
- name: required(string)
The name of the interface these settings apply to. This should match the name of an interface on the node.
- cost: (integer - minimum: 1 - maximum: 65535)
The link cost of the interface used in OSPF route calculations
- area: required(string)
The area configured for the interface to run OSPF. This should be either a number or in the A.B.C.D format.
- passive: required(boolean)
Whether or not the interface should be marked as passive for OSPF purposes. Enabling this would mean LSAs are not traded on this link.
- auth_method: required(one of no_auth, cleartext, md5)
The authentication method to use for communications on this interface.
- auth_keys: required(array of object)
The authentication keys for the associated method.
Items: items
- id: required(string)
The id of the associated key.
- key: required(string)
The actual key value.
- id: required(string)
- name: required(string)
- ospf_router_id: (string)
Examples:
Radius Auth example:
{
"template": {
"type": "auth",
"id": "templates-98",
"radiusAuthenticationServers": [
{
"id": "templates_radius_authenticationServers-90",
"port": 1812,
"hostname": "bar"
}
],
"ldapAuthenticationServers": [],
"name": "foo",
"tacacsAuthenticationServers": [],
"authMode": "radius",
"radiusAccountingServers": [
{
"id": "templates_radius_accountingServers-89",
"port": 1813,
"hostname": "baz"
}
]
}
}
SMF example:
{
"template": {
"id": "templates-52",
"name": "ospf_minimal_weird",
"type": "smf",
"smf_data": {
"ospf_router_id": "240.239.238.237",
"ospf_redistribute_connected": false,
"ospf_redistribute_kernel": false,
"all_zone_ip_masquerade": false,
"ospf_networks": [
{
"address": "1.0.0.0",
"subnet_mask": "255.0.0.0",
"area": "1.2.3.4"
}
],
"ospf_interfaces": []
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /templates/{id}
Delete a template.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
The template was successfully deleted.
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/template_push
Create and view configuration template pushes to nodes.
Retrieve a list of template pushes.
Create a new template push in a default configured (ready for pre-flight) state.
get /template_push
Retrieve a list of template pushes.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing configuration template pushes.
Body
Media type: application/json
Type: object
Properties- template_pushes: required(array of )
Example:
{
"template_pushes": [
{
"id": "cfg_push_exec_ctxts-1",
"username": "admin",
"status": "preflight_complete",
"templates": [
"templates-1",
"templates-2"
],
"node_contexts": [
{
"id": "cfg_push_exec_ctxts_nodes-1",
"node_id": "nodes-1",
"preflight_messages": [],
"preflight_errors": [],
"preflight_warnings": [],
"preflight_changes": [],
"execution_messages": [],
"execution_errors": [],
"execution_warnings": [],
"execution_changes": [],
"status": "preflight_complete"
},
{
"id": "cfg_push_exec_ctxts_nodes-2",
"node_id": "nodes-2",
"preflight_messages": [
{
"args": {
"dataset": "group list"
},
"argc": 1,
"code": 67
}
],
"preflight_errors": [],
"preflight_warnings": [],
"preflight_changes": [],
"execution_messages": [],
"execution_errors": [],
"execution_warnings": [],
"execution_changes": [],
"status": "preflight_in_progress"
}
]
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /template_push
Create a new template push in a default configured (ready for pre-flight) state.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- template_push: required(object)
- template_ids: required(array of string)
- node_ids: required(array of string)
Example:
{
"template_push": {
"template_ids": [
"templates-1"
],
"node_ids": [
"nodes-1",
"nodes-2"
]
}
}
HTTP status code 201
A JSON object containing the new template push object.
Body
Media type: application/json
Type: object
Properties- template_push: required(object)
- id: required(string)
- username: required(string)
Automatically stored against the template_push based on the current user who created it.
- templates: required(array of string)
- status: required(string)
The current state of the template_push.
- node_contexts: required(array of any)
Example:
{
"template_push": {
"id": "cfg_push_exec_ctxts-1",
"username": "admin",
"status": "preflight_ready",
"templates": [
"templates-1"
],
"node_contexts": [
{
"id": "cfg_push_exec_ctxts_nodes-1",
"node_id": "nodes-1",
"preflight_messages": [],
"preflight_errors": [],
"preflight_warnings": [],
"preflight_changes": [],
"execution_messages": [],
"execution_errors": [],
"execution_warnings": [],
"execution_changes": [],
"status": "preflight_ready"
},
{
"id": "cfg_push_exec_ctxts_nodes-2",
"node_id": "nodes-2",
"preflight_messages": [],
"preflight_errors": [],
"preflight_warnings": [],
"preflight_changes": [],
"execution_messages": [],
"execution_errors": [],
"execution_warnings": [],
"execution_changes": [],
"status": "preflight_ready"
}
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Change the stage of a template push, either to start the preflight process, or start the execute process.
put /template_push/{id}/stage
Change the stage of a template push, either to start the preflight process, or start the execute process.
URI Parameters
- id: required(string)
Body
Media type: application/json
Type: object
Properties- template_push: required(object)
- stage: required(one of preflight, execute)
- node_ids: required(array of string)
Example:
{
"template_push": {
"stage": "preflight",
"node_ids": [
"nodes-1",
"nodes-2"
]
}
}
HTTP status code 204
Template push successfully changed to the stage provided.
HTTP status code 409
Template push was not changed to the stage provided. This failed due to the template push not meeting the requirements of the requested stage. Wait before making the request again with this resource.
Body
Media type: application/json
Type: object
Example:
{
"error": [
{
"type": 4,
"code": 39,
"text": "Invalid parameter 'stage' was provided.",
"args": {
"param": "stage"
},
"level": 1
}
]
}
/multiple_instance
Configure Lighthouse Multiple Instance support
Access dependent Lighthouse instance information
Get dependent Lighthouse instance information
Create new dependent Lighthouse instance
get /multiple_instance/dependent_lighthouses
Get dependent Lighthouse instance information
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns dependent Lighthouse instance information
Body
Media type: application/json
Type: object
Properties- dependent_lighthouses: required(array of object)
Items: items
- name: required(string)
- status: required(string)
- lhvpn_subnet: required(object)
- address: required(string)
- netmask: required(string)
- nodes_connected: (integer)
- total_nodes: required(integer)
- network_address: required(string)
- smf_address: (string)
- firmware_version: (string)
- id: required(string)
- runtime_status: required(object)
- change_delta: required(integer)
- 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)
Example:
{
"dependent_lighthouses": [
{
"name": "lighthouse-secondary-a",
"status": "Pending",
"lhvpn_subnet": {
"netmask": "255.255.255.0",
"address": "172.16.2.0"
},
"nodes_connected": 0,
"network_address": "192.168.1.100",
"id": "lighthouse_configurations-4",
"total_nodes": 0,
"runtime_status": {
"change_delta": 2148,
"change_time": 0,
"action_status": "unknown",
"id": "nodes-1",
"action_type": "none",
"connection_status": "unknown",
"action_error_message": ""
},
"smf_address": "10.0.32.0",
"smf_mask": "19"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /multiple_instance/dependent_lighthouses
Create new dependent Lighthouse instance
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- dependent_lighthouse: required(object)
- address: required(string)
- username: required(string)
- password: required(string)
- lhvpn_subnet_address: required(string)
- lhvpn_subnet_netmask: required(string)
- port: (integer)
- smf_address: (string)
- smf_mask: (string)
Example:
{
"dependent_lighthouse": {
"address": "192.168.1.100",
"username": "usera",
"password": "password",
"lhvpn_subnet_netmask": "255.255.255.0",
"lhvpn_subnet_address": "172.16.4.0",
"smf_address": "10.0.32.0"
}
}
HTTP status code 201
Returns newly created dependent Lighthouse instance information
Body
Media type: application/json
Type: object
Properties- dependent_lighthouse: required(object)
- name: required(string)
- status: required(string)
- lhvpn_subnet: required(object)
- address: required(string)
- netmask: required(string)
- nodes_connected: (integer)
- total_nodes: required(integer)
- network_address: required(string)
- smf_address: (string)
- firmware_version: (string)
- id: required(string)
- runtime_status: required(object)
- change_delta: required(integer)
- 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)
Example:
{
"dependent_lighthouse": {
"name": "lighthouse-secondary-a",
"status": "Pending",
"lhvpn_subnet": {
"netmask": "255.255.255.0",
"address": "172.16.2.0"
},
"nodes_connected": 0,
"network_address": "192.168.1.100",
"id": "lighthouse_configurations-4",
"total_nodes": 0,
"runtime_status": {
"change_delta": 2148,
"change_time": 0,
"action_status": "unknown",
"id": "nodes-1",
"action_type": "none",
"connection_status": "unknown",
"action_error_message": ""
},
"smf_address": "10.0.32.0",
"smf_mask": "19"
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Access information for a given dependent Lighthouse instance
Get dependent Lighthouse instance information
Update a dependent Lighthouse instance
Remove a dependent Lighthouse instance
get /multiple_instance/dependent_lighthouses/{id}
Get dependent Lighthouse instance information
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns dependent Lighthouse instance information
Body
Media type: application/json
Type: object
Properties- dependent_lighthouse: required(object)
- name: required(string)
- status: required(string)
- lhvpn_subnet: required(object)
- address: required(string)
- netmask: required(string)
- nodes_connected: (integer)
- total_nodes: required(integer)
- network_address: required(string)
- smf_address: (string)
- firmware_version: (string)
- id: required(string)
- runtime_status: required(object)
- change_delta: required(integer)
- 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)
Example:
{
"dependent_lighthouse": {
"name": "lighthouse-secondary-a",
"status": "Pending",
"lhvpn_subnet": {
"netmask": "255.255.255.0",
"address": "172.16.2.0"
},
"nodes_connected": 0,
"network_address": "192.168.1.100",
"total_nodes": 0,
"runtime_status": {
"change_delta": 2148,
"change_time": 0,
"action_status": "unknown",
"id": "nodes-1",
"action_type": "none",
"connection_status": "unknown",
"action_error_message": ""
},
"smf_address": "10.0.32.0",
"smf_mask": "19",
"id": "lighthouse_configurations-4"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /multiple_instance/dependent_lighthouses/{id}
Update a dependent Lighthouse instance
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- dependent_lighthouse: required(object)
- lhvpn_subnet_address: required(string)
- lhvpn_subnet_netmask: required(string)
- smf_address: (string)
- smf_mask: (string)
Example:
{
"dependent_lighthouse": {
"lhvpn_subnet_address": "172.16.3.128",
"lhvpn_subnet_netmask": "255.255.255.128",
"smf_address": "10.0.64.0",
"smf_mask": "19"
}
}
HTTP status code 200
Returns updated dependent Lighthouse instance information
Body
Media type: application/json
Type: object
Properties- dependent_lighthouse: required(object)
- name: required(string)
- status: required(string)
- lhvpn_subnet: required(object)
- address: required(string)
- netmask: required(string)
- nodes_connected: (integer)
- total_nodes: required(integer)
- network_address: required(string)
- smf_address: (string)
- firmware_version: (string)
- id: required(string)
- runtime_status: required(object)
- change_delta: required(integer)
- 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)
Example:
{
"dependent_lighthouse": {
"name": "lighthouse-secondary-a",
"status": "Pending",
"lhvpn_subnet": {
"netmask": "255.255.255.128",
"address": "172.16.3.128"
},
"nodes_connected": 0,
"network_address": "192.168.1.100",
"id": "lighthouse_configurations-4",
"total_nodes": 0,
"runtime_status": {
"change_delta": 2148,
"change_time": 0,
"action_status": "unknown",
"id": "nodes-1",
"action_type": "none",
"connection_status": "unknown",
"action_error_message": ""
},
"smf_address": "10.0.64.0",
"smf_mask": "19"
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Dependent Lighthouse instance does not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /multiple_instance/dependent_lighthouses/{id}
Remove a dependent Lighthouse instance
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
The dependent Lighthouse instance was removed successfully
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Dependent Lighthouse instance does not exist
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Access multiple instance LHVPN information
Get multiple instance LHVPN information
Update the configuration for a dependent Lighthouse instance
get /multiple_instance/lhvpn
Get multiple instance LHVPN information
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns the current configuration for multiple instance LHVPN
Body
Media type: application/json
Type: object
Properties- multiple_instance_lhvpn: required(object)
- address: required(string)
- mask: required(string)
Example:
{
"multiple_instance_lhvpn": {
"mask": "255.255.255.0",
"address": "172.16.1.0"
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
put /multiple_instance/lhvpn
Update the configuration for a dependent Lighthouse instance
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- multiple_instance_lhvpn: required(object)
- address: required(string)
- mask: required(string)
Example:
{
"multiple_instance_lhvpn": {
"mask": "255.255.255.0",
"address": "172.16.1.0"
}
}
HTTP status code 200
Returns the updated configuration for multiple instance LHVPN
Body
Media type: application/json
Type: object
Properties- multiple_instance_lhvpn: required(object)
- address: required(string)
- mask: required(string)
Example:
{
"multiple_instance_lhvpn": {
"mask": "255.255.255.0",
"address": "172.16.1.0"
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Register this Lighthouse as a secondary instance
post /multiple_instance/registration
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- instance_id: required(integer)
- subnet: required(object)
- address: required(string)
- netmask: required(string)
- master_address: required(string)
- vpn_port: required(integer - minimum: 1 - maximum: 65535)
- instance_network_port: required(integer - minimum: 1 - maximum: 65535)
- ca: required(string)
- cert: required(string)
- key: required(string)
Example:
{
"instance_id": 2,
"subnet": {
"address": "172.16.2.1",
"netmask": "255.255.255.0"
},
"master_address": "192.168.1.3",
"vpn_port": 1195,
"instance_network_port": 443,
"ca": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----",
"key": "-----BEGIN PRIVATE KEY-----...",
"cert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----"
}
HTTP status code 201
Body
Media type: application/json
Type: object
Example:
{
"message": "configured"
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/jobs
View and delete jobs which have already run, are currently running, or are scheduled to run on Lighthouse.
Get all jobs which have already run, are currently running, or are scheduled to run. Can be filtered to narrow down results.
get /jobs
Get all jobs which have already run, are currently running, or are scheduled to run. Can be filtered to narrow down results.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- job_type: (string)
Filter for jobs with this type
- job_status: (string)
Filter for jobs with this status
- from_date: (string)
Filter for jobs that started after this time
- to_date: (string)
Filter for jobs that started before this time
- duration: (integer)
Filter jobs with either less than or greater than this duration (in seconds).
- duration_operator: required(one of lt, gt)
Specify if the duration of the job should be less than or great than the duration parameter. Required if duration has been specified.
- job_state: required(one of current, finished, scheduled)
Filter jobs by their state which is either current (still running), finished, and scheduled.
- per_page: (integer - default: 100000)
Maximum number of jobs 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- jobs: required(array of object)
Items: jobResponse
- id: required(string)
- job_id: required(string)
- tube_name: required(string)
- creation_time: required(string)
- finish_time: (string)
- duration: (integer)
- last_status: required(string)
- owner: required(string)
- nodes: required(array of object)
Items: jobNode
- id: required(integer)
- node_id: required(string)
- name: required(string)
- records: required(array of object)
Items: jobRecord
- id: required(integer)
- job_id: required(integer)
- creation_time: required(string)
- status: required(string)
- retry_count: required(integer)
- delay: required(integer)
- errors: required(array of object)
Items: jobError
- id: required(integer)
- job_track_id: required(integer)
- message: required(string)
- lighthouse_configurations: required(array of object)
Items: jobLighthouseConfiguration
- id: required(integer)
- job_id: required(integer)
- lighthouse_configuration_id: required(integer)
- meta: required(object)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"jobs": [
{
"id": 1,
"job_id": "91fe229b-9e28-496c-a1df-ce7b9128c2b2",
"tube_name": "registration",
"creation_time": "2020-06-03T00:06:55",
"finish_time": "2020-06-03T00:08:55",
"duration": 120,
"nodes": [
{
"id": 1,
"node_id": "nodes-1",
"name": "im7200"
}
],
"records": [
{
"id": 1,
"job_id": 1,
"creation_time": "2020-06-03T00:06:56",
"status": "success",
"retry_count": 1,
"delay": 0,
"errors": []
}
],
"lighthouse_configurations": [
{
"id": 1,
"job_id": 1,
"lighthouse_configuration_id": 1
}
]
},
{
"id": 2,
"job_id": "4399f89b-81ee-4b54-b869-1325204cbd0e",
"tube_name": "enrollment",
"creation_time": "2020-06-03T00:07:06",
"finish_time": "2020-06-03T00:07:10",
"duration": 4,
"nodes": [
{
"id": 2,
"node_id": "nodes-1",
"name": "im7200"
}
],
"records": [
{
"id": 2,
"job_id": 2,
"creation_time": "2020-06-03T00:07:08",
"status": "permanent_failure",
"retry_count": 1,
"delay": 0,
"errors": [
{
"id": 1,
"job_track_id": 2,
"message": "Node [nodes-1] not approved, pausing enrollment"
}
]
}
],
"lighthouse_configurations": [
{
"id": 2,
"job_id": 2,
"lighthouse_configuration_id": 1
}
]
}
],
"meta": {
"total_count": 2,
"total_pages": 1
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get job information by the job id.
get /jobs/{id}
Get job information by the job id.
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- id: required(integer)
the ID of the job to retrieve
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- job: required(object)
- id: required(string)
- job_id: required(string)
- tube_name: required(string)
- creation_time: required(string)
- finish_time: (string)
- duration: (integer)
- last_status: required(string)
- owner: required(string)
- nodes: required(array of object)
Items: jobNode
- id: required(integer)
- node_id: required(string)
- name: required(string)
- records: required(array of object)
Items: jobRecord
- id: required(integer)
- job_id: required(integer)
- creation_time: required(string)
- status: required(string)
- retry_count: required(integer)
- delay: required(integer)
- errors: required(array of object)
Items: jobError
- id: required(integer)
- job_track_id: required(integer)
- message: required(string)
- lighthouse_configurations: required(array of object)
Items: jobLighthouseConfiguration
- id: required(integer)
- job_id: required(integer)
- lighthouse_configuration_id: required(integer)
Example:
{
"job": {
"id": 1,
"job_id": "91fe229b-9e28-496c-a1df-ce7b9128c2b2",
"tube_name": "registration",
"creation_time": "2020-06-03T00:06:55",
"finish_time": "2020-06-03T00:08:55",
"duration": 120,
"nodes": [
{
"id": 1,
"node_id": "nodes-1",
"name": "im7200"
}
],
"records": [
{
"id": 1,
"job_id": 1,
"creation_time": "2020-06-03T00:06:56",
"status": "success",
"retry_count": 1,
"delay": 0,
"errors": []
}
],
"lighthouse_configurations": [
{
"id": 1,
"job_id": 1,
"lighthouse_configuration_id": 1
}
]
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/netops
Work with NetOps features and modules
Get NetOps modules information
get /netops/modules
Get NetOps modules information
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Returns NetOps module and module activation information.
Body
Media type: application/json
Type: object
Properties- licenses-available: required(array of object)
Items: items
- id: required(string)
- license: required(string)
- nodes: required(integer)
- netops-modules: required(array of object)
Items: items
- module: required(string)
- description: required(string)
- images: required(array of string)
- id: required(string)
- license_required: required(string)
- to_update: required(integer)
- name: required(string)
- version: required(string)
- status: required(one of available, not available, running)
- containers: required(array of object)
Items: items
- description: (string)
- local_version: (string)
- name: required(string)
- tags: required(array of string)
- activations: required(integer)
- always_activate: required(boolean)
- port: required(integer)
- min_lh_version: required(string)
- min_ngcs_version: required(string)
- retroactively_activate: required(boolean)
- running: required(boolean)
- available_activations: required(integer)
- entitled_activations: required(integer)
Example:
{
"licenses-available": [
{
"id": "licenses-available-0",
"license": "nom-prov",
"nodes": 50
}
],
"netops-modules": [
{
"id": "dop",
"module": "dop",
"name": "Secure Provisioning",
"description": "Enable remote nodes to act as bootstrap WAN and LAN for a new remote site.",
"status": "available",
"version": "2.6.1",
"license_required": "nom-prov",
"images": [
"central-dop",
"remote-dop",
"dop-ui"
],
"containers": [
{
"description": null,
"local_version": null,
"name": "central-dop",
"tags": [
"latest"
]
},
{
"description": null,
"local_version": null,
"name": "remote-dop",
"tags": [
"latest"
]
},
{
"description": null,
"local_version": null,
"name": "dop-ui",
"tags": [
"latest"
]
}
],
"port": 9003,
"min_lh_version": "5.10.0",
"min_ngcs_version": "20.Q3.0",
"always_activate": false,
"retroactively_activate": false,
"running": true,
"activations": 0,
"to_update": 0,
"available_activations": 6,
"entitled_activations": 5
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Update the configuration for a particular NetOps module
Update the configuration for a particular NetOps module
put /netops/modules/{module_name}
Update the configuration for a particular NetOps module
Lighthouse base authentication scheme
URI Parameters
- module_name: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- netops_modules: required(object)
- always_activate: required(boolean)
Example:
{
"netops_modules": {
"always_activate": false
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- netops_modules: required(object)
- always_activate: required(boolean)
Example:
{
"netops_modules": {
"always_activate": false
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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
Update all nodes that are running old versions of the particular NetOps module
get /netops/modules/{module_name}/redeploy
Lighthouse base authentication scheme
URI Parameters
- module_name: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
The NetOps module is being redeployed to activated nodes
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Deactivate the node by id from NetOps module config
delete /netops/modules/{module_name}/nodes/{node_id}
Lighthouse base authentication scheme
URI Parameters
- module_name: required(string)
- node_id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
The node was successfully removed from the netops module config
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Trigger a sync and redeploy based on a newly applied license
post /netops/modules/license
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- sku: required(string)
Example:
{
"sku": "nom-prov"
}
HTTP status code 204
NetOps modules are being reactivated
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
get /netops/permissions
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Retrieve permissions and related information used by NetOps
Body
Media type: application/json
Type: object
Properties- user: required(string)
- rights: required(array of object)
Items: items
- entity: required(string)
- read: required(boolean)
- write: required(boolean)
Example:
{
"user": "root",
"rights": [
{
"entity": "admin_and_licensing",
"read": true,
"write": true
},
{
"entity": "authenticated_backend",
"read": true,
"write": true
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get the current firewall zones list or create a new firewall zone
Create a new firewall zone
get /netops/firewall_zones
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Get a list of all firewall zones
Body
Media type: application/json
Type: object
Properties- firewall_zones: required(array of object)
Items: items
- name: required(string)
- label: required(string)
Example:
{
"firewall_zones": [
{
"name": "zone1",
"label": "zone 1"
},
{
"name": "zone2",
"label": "zone 2"
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /netops/firewall_zones
Create a new firewall zone
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- name: required(string)
- label: required(string)
Example:
{
"name": "zone1",
"label": "zone 1"
}
HTTP status code 200
The new firewal zone is created
Body
Media type: application/json
Type: object
Example:
{
"firewall_zone": {
"name": "zone1",
"label": "zone 1"
}
}
HTTP status code 400
Invalid request
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/port_logs
Delete old port logs. Either max_kept or oldest_date must be specified. Filtering by a node_id and port_id are optional.
delete /port_logs
Delete old port logs. Either max_kept or oldest_date must be specified. Filtering by a node_id and port_id are optional.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- node_id: (string)
- port_id: (string)
- max_kept: (integer)
Maximum number of logs to keep.
- oldest_date: (string)
Delete logs collected before this date.
Example:
{
"node_id": "nodes-400",
"port_id": "nodes_ports-688",
"max_kept": 1000,
"oldest_date": null
}
HTTP status code 204
A job has been schedule to delete the specified port logs.
HTTP status code 400
Invalid input has been provided.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to delete the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/entities
Access the user accessible role entity rights and their allowed values and dependencies
Get a list of the user accessible grouped role entities with allowed permission values and dependencies
get /entities
Get a list of the user accessible grouped role entities with allowed permission values and dependencies
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- entities: required(object)
See the example for schema of object
Example:
{
"entities": {
"cli": {
"console_shell": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"pm_shell": {
"allowed_values": [
"on",
"off"
]
},
"shell_access": {
"allowed_values": [
"on",
"off"
]
}
},
"logging": {
"logs_portlog": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"logs_syslog": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
},
"netops": {
"netops_modules": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
},
"nodes_and_config": {
"nodes_devices_advanced": {
"allowed_values": [
"read_write",
"read_only",
"deny"
],
"dependencies": [
"nodes_devices_base"
]
},
"nodes_devices_base": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"push_templates": {
"allowed_values": [
"read_write",
"read_only",
"deny"
],
"dependencies": [
"nodes_devices_base"
]
}
},
"service_settings": {
"lhvpn": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_cellhealth": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_console_gateway": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_date_and_time": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_https": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_netops": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_node_backup": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_session_settings": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_snmp": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_ssh": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"services_syslog": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
},
"smartgroups_and_tags": {
"bundles": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"smart_groups": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"tags": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
},
"system": {
"admin_and_licensing": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"backup_and_restore": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"jobs": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"multi_instance": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"network_interfaces": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"upgrade_and_reset": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
},
"users_and_permissions": {
"authentication": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"groups_and_roles": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
},
"users": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
},
"advanced_features": {
"services_smf": {
"allowed_values": [
"read_write",
"read_only",
"deny"
],
"dependencies": [
"multi_instance"
]
},
"connected_resource_gateway": {
"allowed_values": [
"read_write",
"read_only",
"deny"
]
}
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/roles
Access and customise out-of-the-box and user created roles
Get a list of all active roles
Create a new custom role
get /roles
Get a list of all active roles
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Query Parameters
- per_page: (integer - default: 100000)
Maximum number of roles per page
- page: (integer - default: 1)
The page to return (indexed from 1)
- filter: (string - default: )
Filter roles based on whether the role name contains a specific substring
HTTP status code 200
A JSON object containing information of all active roles
Body
Media type: application/json
Type: object
Properties- roles: required(array of object)
Items: items
- id: required(string)
- rolename: required(string)
- description: required(string)
- group_usage: required(number)
- number_of_permissions: required(number)
- last_updated: required(string)
- meta: required(object)
- searchId: (string)
- total_count: required(integer)
- total_pages: required(integer)
Example:
{
"roles": [
{
"id": "roles-1",
"rolename": "LighthouseAdmin",
"description": "None",
"group_usage": 2,
"number_of_permissions": 37,
"last_updated": "--"
},
{
"id": "roles-8",
"rolename": "CustomRole",
"description": "This is a description for a user defined role.",
"group_usage": 5,
"number_of_permissions": 21,
"last_updated": "2020-09-15 14:26"
}
],
"meta": {
"total_count": 4,
"total_pages": 2
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
post /roles
Create a new custom role
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- role: required(object)
- id: (string)
- rolename: required(string)
- description: (string)
- groups: (array of string)
- permissions: (object)
See the example for schema of object
Example:
{
"role": {
"rolename": "NewRole",
"description": "This is a description for a new role.",
"permissions": {
"cli": {
"console_shell": "read_only",
"pm_shell": "on",
"shell_access": "on"
},
"logging": {
"logs_portlog": "read_write",
"logs_syslog": "deny"
},
"netops": {
"netops_modules": "read_only"
},
"nodes_and_config": {
"nodes_devices_base": "read_write",
"nodes_devices_advanced": "read_only",
"push_templates": "deny"
},
"service_settings": {
"lhvpn": "deny",
"services_cellhealth": "deny",
"services_console_gateway": "deny",
"services_date_and_time": "deny",
"services_https": "deny",
"services_netops": "deny",
"services_node_backup": "deny",
"services_session_settings": "deny",
"services_snmp": "deny",
"services_ssh": "deny",
"services_syslog": "deny"
},
"smartgroups_and_tags": {
"bundles": "deny",
"smart_groups": "deny",
"tags": "read_only"
},
"system": {
"admin_and_licensing": "deny",
"backup_and_restore": "deny",
"jobs": "deny",
"multi_instance": "deny",
"network_interfaces": "deny",
"upgrade_and_reset": "deny"
},
"users_and_permissions": {
"authentication": "deny",
"groups_and_roles": "deny",
"users": "read_only"
},
"advanced_features": {
"services_smf": "deny",
"connected_resource_gateway": "deny"
}
}
}
}
HTTP status code 201
Create a new custom role successfully
Body
Media type: application/json
Type: object
Properties- role: required(object)
- id: (string)
- rolename: required(string)
- description: (string)
- groups: (array of string)
- permissions: (object)
See the example for schema of object
Example:
{
"role": {
"id": "roles-8",
"rolename": "NewRole",
"description": "This is a description for a new role.",
"groups": [
"testgroup1",
"testgroup2"
],
"permissions": {
"cli": {
"console_shell": "read_only",
"pm_shell": "on",
"shell_access": "on"
},
"logging": {
"logs_portlog": "read_write",
"logs_syslog": "deny"
},
"netops": {
"netops_modules": "read_only"
},
"nodes_and_config": {
"nodes_devices_base": "read_write",
"nodes_devices_advanced": "read_only",
"push_templates": "deny"
},
"service_settings": {
"lhvpn": "deny",
"services_cellhealth": "deny",
"services_console_gateway": "deny",
"services_date_and_time": "deny",
"services_https": "deny",
"services_netops": "deny",
"services_node_backup": "deny",
"services_session_settings": "deny",
"services_snmp": "deny",
"services_ssh": "deny",
"services_syslog": "deny"
},
"smartgroups_and_tags": {
"bundles": "deny",
"smart_groups": "deny",
"tags": "read_only"
},
"system": {
"admin_and_licensing": "deny",
"backup_and_restore": "deny",
"jobs": "deny",
"multi_instance": "deny",
"network_interfaces": "deny",
"upgrade_and_reset": "deny"
},
"users_and_permissions": {
"authentication": "deny",
"groups_and_roles": "deny",
"users": "read_only"
},
"advanced_features": {
"services_smf": "deny",
"connected_resource_gateway": "deny"
}
}
}
}
HTTP status code 400
New role cannot be created due to error in post request body
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 50,
"text": "Invalid value '54' for parameter 'description' was provided.",
"args": {
"value": 54,
"param": "description"
},
"level": 1
},
{
"type": 4,
"code": 50,
"text": "Invalid value 'None' for parameter 'rolename' was provided.",
"args": {
"value": "None",
"param": "rolename"
},
"level": 1
},
{
"type": 2,
"code": 26,
"text": "Duplicate record exists for field 'rolename' with value 'LighthouseAdmin'.",
"args": {
"value": "LighthouseAdmin",
"uuid": "root-1-@roles",
"field": "rolename"
},
"level": 1
},
{
"text": "Cannot overwrite admin role."
},
{
"text": "Cannot rename a role"
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to create the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Access information for a given role
Retrieve the information of a role by ID
Update a role
Delete a role
get /roles/{id}
Retrieve the information of a role by ID
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- role: required(object)
- id: (string)
- rolename: required(string)
- description: (string)
- groups: (array of string)
- permissions: (object)
See the example for schema of object
Example:
{
"role": {
"id": "roles-8",
"rolename": "CustomRole",
"description": "This is a description for a user-defined role.",
"groups": [
"testgroup1",
"testgroup2"
],
"permissions": {
"cli": {
"console_shell": "read_only",
"pm_shell": "on",
"shell_access": "on"
},
"logging": {
"logs_portlog": "read_write",
"logs_syslog": "deny"
},
"netops": {
"netops_modules": "read_only"
},
"nodes_and_config": {
"nodes_devices_base": "read_write",
"nodes_devices_advanced": "read_only",
"push_templates": "deny"
},
"service_settings": {
"lhvpn": "deny",
"services_cellhealth": "deny",
"services_console_gateway": "deny",
"services_date_and_time": "deny",
"services_https": "deny",
"services_netops": "deny",
"services_node_backup": "deny",
"services_session_settings": "deny",
"services_snmp": "deny",
"services_ssh": "deny",
"services_syslog": "deny"
},
"smartgroups_and_tags": {
"bundles": "deny",
"smart_groups": "deny",
"tags": "read_only"
},
"system": {
"admin_and_licensing": "deny",
"backup_and_restore": "deny",
"jobs": "deny",
"multi_instance": "deny",
"network_interfaces": "deny",
"upgrade_and_reset": "deny"
},
"users_and_permissions": {
"authentication": "deny",
"groups_and_roles": "deny",
"users": "read_only"
},
"advanced_features": {
"services_smf": "deny",
"connected_resource_gateway": "deny"
}
}
}
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Role doesn't exist.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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
put /roles/{id}
Update a role
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
Body
Media type: application/json
Type: object
Properties- role: required(object)
- id: (string)
- rolename: required(string)
- description: (string)
- groups: (array of string)
- permissions: (object)
See the example for schema of object
Example:
{
"role": {
"rolename": "CustomRole",
"description": "This is an updated description.",
"permissions": {
"cli": {
"console_shell": "read_only",
"pm_shell": "on",
"shell_access": "on"
},
"logging": {
"logs_portlog": "read_write",
"logs_syslog": "deny"
},
"netops": {
"netops_modules": "read_only"
},
"nodes_and_config": {
"nodes_devices_base": "read_write",
"nodes_devices_advanced": "read_only",
"push_templates": "deny"
},
"users_and_permissions": {
"authentication": "deny",
"groups_and_roles": "deny",
"users": "read_only"
},
"advanced_features": {
"services_smf": "deny",
"connected_resource_gateway": "deny"
}
}
}
}
HTTP status code 200
Role updated successfully
Body
Media type: application/json
Type: object
Properties- role: required(object)
- id: (string)
- rolename: required(string)
- description: (string)
- groups: (array of string)
- permissions: (object)
See the example for schema of object
Example:
{
"role": {
"id": "roles-8",
"rolename": "CustomRole",
"description": "This is an updated description.",
"groups": [
"testgroup1",
"testgroup2"
],
"permissions": {
"cli": {
"console_shell": "read_only",
"pm_shell": "on",
"shell_access": "on"
},
"logging": {
"logs_portlog": "read_write",
"logs_syslog": "deny"
},
"netops": {
"netops_modules": "read_only"
},
"nodes_and_config": {
"nodes_devices_base": "read_write",
"nodes_devices_advanced": "read_only",
"push_templates": "deny"
},
"service_settings": {
"lhvpn": "deny",
"services_cellhealth": "deny",
"services_console_gateway": "deny",
"services_date_and_time": "deny",
"services_https": "deny",
"services_netops": "deny",
"services_node_backup": "deny",
"services_session_settings": "deny",
"services_snmp": "deny",
"services_ssh": "deny",
"services_syslog": "deny"
},
"smartgroups_and_tags": {
"bundles": "deny",
"smart_groups": "deny",
"tags": "read_only"
},
"system": {
"admin_and_licensing": "deny",
"backup_and_restore": "deny",
"jobs": "deny",
"multi_instance": "deny",
"network_interfaces": "deny",
"upgrade_and_reset": "deny"
},
"users_and_permissions": {
"authentication": "deny",
"groups_and_roles": "deny",
"users": "read_only"
},
"advanced_features": {
"services_smf": "deny",
"connected_resource_gateway": "deny"
}
}
}
}
HTTP status code 400
New role cannot be created due to error in post request body
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 50,
"text": "Invalid value '54' for parameter 'description' was provided.",
"args": {
"value": 54,
"param": "description"
},
"level": 1
},
{
"type": 4,
"code": 50,
"text": "Invalid value 'None' for parameter 'rolename' was provided.",
"args": {
"value": "None",
"param": "rolename"
},
"level": 1
},
{
"type": 2,
"code": 26,
"text": "Duplicate record exists for field 'rolename' with value 'LighthouseAdmin'.",
"args": {
"value": "LighthouseAdmin",
"uuid": "root-1-@roles",
"field": "rolename"
},
"level": 1
},
{
"text": "Cannot overwrite admin role."
},
{
"text": "Cannot rename a role."
},
{
"type": 2,
"code": 14,
"text": "permissions is invalid",
"args": {
"value": "permissions"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to modify the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Not found
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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 /roles/{id}
Delete a role
Lighthouse base authentication scheme
URI Parameters
- id: required(string)
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 204
Role deleted successfully
HTTP status code 400
Incomplete data
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
HTTP status code 403
Specific roles cannot be deleted.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied for '/api/v3.7/roles/roles-1'.",
"args": {
"value": "/api/v3.7/roles/roles-1"
},
"level": 1
},
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 404
Role doesn't exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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
/permissions
Access to all permissions available to the user based on requested filtering
Get a list of permissions for requested groups with an overall (least-restrictive) permission of the groups
get /permissions/groups
Get a list of permissions for requested groups with an overall (least-restrictive) permission of the groups
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing permissions for all entities of the requested groups
Body
Media type: application/json
Type: object
Properties- groups_permissions: required(object)
See the example for schema of object
Example:
{
"groups_permissions": {
"cli": {
"shell_access": {
"testgroup1": "on",
"testgroup2": "off",
"overall": "on"
},
"console_shell": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"pm_shell": {
"testgroup1": "off",
"testgroup2": "off",
"overall": "on"
}
},
"logging": {
"logs_portlog": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"logs_syslog": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"netops": {
"netops_modules": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"nodes_and_config": {
"nodes_devices_advanced": {
"testgroup1": "read_only",
"testgroup2\"": "deny",
"overall": "read_only"
},
"nodes_devices_base": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"push_templates": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"service_settings": {
"lhvpn": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_cellhealth": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_console_gateway": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_date_and_time": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_https": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_netops": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_node_backup": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_snmp": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_session_settings": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_ssh": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"services_syslog": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"smartgroups_and_tags": {
"bundles": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"smart_groups": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"tags": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"system": {
"network_interfaces": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"jobs": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"multi_instance": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"backup_and_restore": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"upgrade_and_reset": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"admin_and_licensing": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"users_and_permissions": {
"authentication": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"groups_and_roles": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
},
"users": {
"testgroup1": "read_only",
"testgroup2": "deny",
"overall": "read_only"
}
},
"advanced_features": {
"services_smf": {
"testgroup1": "deny",
"testgroup2": "deny",
"overall": "deny"
},
"connected_resource_gateway": {
"testgroup1": "deny",
"testgroup2": "deny",
"overall": "deny"
}
}
}
}
HTTP status code 400
At least one of the requested groups do not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 28,
"text": "Entity 'testgroup1, testgroup2' not found.",
"args": {
"value": "testgroup1, testgroup2"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
Get a list of permissions for all requested roles and an overall (least-restrictive) permission of those roles
get /permissions/roles
Get a list of permissions for all requested roles and an overall (least-restrictive) permission of those roles
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
A JSON object containing permissions of the requested roles with an overall permission
Body
Media type: application/json
Type: object
Properties- roles_permissions: required(object)
See the example for schema of object
Example:
{
"roles_permissions": {
"cli": {
"console_shell": {
"Reporter": "deny",
"NodeAdmin": "read_only",
"overall": "read_only"
},
"pm_shell": {
"Reporter": "off",
"NodeAdmin": "on",
"overall": "on"
},
"shell_access": {
"Reporter": "off",
"NodeAdmin": "off",
"overall": "off"
}
},
"logging": {
"logs_portlog": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"logs_syslog": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
}
},
"netops": {
"netops_modules": {
"Reporter": "read_only",
"NodeAdmin": "read_write",
"overall": "read_write"
}
},
"nodes_and_config": {
"nodes_devices_advanced": {
"Reporter": "read_only",
"NodeAdmin": "read_only",
"overall": "read_only"
},
"nodes_devices_base": {
"Reporter": "read_only",
"NodeAdmin": "read_only",
"overall": "read_only"
},
"push_templates": {
"Reporter": "read_only",
"NodeAdmin": "read_only",
"overall": "read_only"
}
},
"service_settings": {
"lhvpn": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_cellhealth": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_console_gateway": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_date_and_time": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_https": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_netops": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_node_backup": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_session_settings": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_snmp\"": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_ssh": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"services_syslog": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
}
},
"smartgroups_and_tags": {
"bundles": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"smart_groups": {
"Reporter": "read_only",
"NodeAdmin": "read_only",
"overall": "read_only"
},
"tags": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
}
},
"system": {
"admin_and_licensing": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"backup_and_restore": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"jobs": {
"Reporter": "read_only",
"NodeAdmin": "read_only",
"overall": "read_only"
},
"multi_instance": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"network_interfaces": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"upgrade_and_reset": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
}
},
"users_and_permissions": {
"authentication": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"groups_and_roles": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
},
"users": {
"Reporter": "read_only",
"NodeAdmin": "deny",
"overall": "read_only"
}
},
"advanced_features": {
"services_smf": {
"testgroup1": "deny",
"testgroup2": "deny",
"overall": "deny"
},
"connected_resource_gateway": {
"testgroup1": "deny",
"testgroup2": "deny",
"overall": "deny"
}
}
}
}
HTTP status code 400
At least one of the requested roles does not exist
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 28,
"text": "Entity 'testrole1, testrole2' not found.",
"args": {
"value": "testrole1, testrole2"
},
"level": 1
}
]
}
HTTP status code 401
Authentication failure
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c
/replication_status
Query the database position of the requested lighthouse. For the primary this is the Position. For a secondary this is the Exec_Master_Log_Pos.
Retrieve the position information and replication errors.
get /replication_status
Retrieve the position information and replication errors.
Lighthouse base authentication scheme
Headers
- Authorization: required(string)
Example:
Token {{sessionUid}}
HTTP status code 200
Successfully retrieved database position.
Body
Media type: application/json
Type: object
Properties- position: required(integer)
- errors: (array)
A list of errors
Example:
{
"position": 3289234,
"errors": [
"SQL Error",
"IO Error"
]
}
HTTP status code 400
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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 object)
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": 43,
"text": "Invalid session ID.",
"args": {},
"level": 1
}
]
}
example2:
{
"error": [
{
"type": 7,
"code": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
HTTP status code 403
User is not allowed to access the requested resource.
Body
Media type: application/json
Type: object
Properties- error: required(array of object)
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": 47,
"text": "Permission denied",
"args": {},
"level": 1
}
]
}
Secured by token
Headers
- Authorization: required(string)
authorization session token
Example:
Token 521a00e57d4a461b3e4bb0c55166f97c