system

Summary

Resource

Operation

Description

Service

GET /api/app/v1/sys/restart/status

UWSGI restart status

System

GET /api/app/v1/sys/(module)

Get system/module information

GET /api/app/v1/sys

PUT /api/app/v1/sys/(module)/control/(command)

Service control

PUT /api/app/v1/sys/control/(command)

DELETE /api/app/v1/sys/(module)/disable

Disable module

PUT /api/app/v1/sys/(module)/enable

Enable module

GET /api/app/v1/sys/(module)/status

Get module status

GET /api/app/v1/sys/(module)/version

Get module version

GET /api/app/v1/sys/feedback

Feedback setting

PUT /api/app/v1/sys/gui_url

Update URL

GET /api/app/v1/sys/hardware

Hardware information

PUT /api/app/v1/sys/hostname

Set appliance hostname/description

PUT /api/app/v1/sys/hostname/(module)

Set module hostname

GET /api/app/v1/sys/hostname/descr

Get host description

GET /api/app/v1/sys/integration

Get integration mode

GET /api/app/v1/sys/mode

Get security mode

GET /api/app/v1/sys/modules

Module list

GET /api/app/v1/sys/platform

Get platform

GET /api/app/v1/sys/platform_interfaces

Get platform interfaces

GET /api/app/v1/sys/policy_server_mode

Get policy mode

GET /api/app/v1/sys/proxy

Get proxy config

DELETE /api/app/v1/sys/proxy

Set/unset proxy config

PUT /api/app/v1/sys/proxy

PUT /api/app/v1/sys/restart/uwsgi

Restart UWSGI

GET /api/app/v1/sys/salt_status

Salt status

GET /api/app/v1/sys/status

Get system status

PUT /api/app/v1/sys/sysctl/(param)

Cycle sysctl variables

GET /api/app/v1/sys/sysctl/(param)

Get sysctl value

Upgrade-Hotfix

PUT /api/app/v1/sys/unlock

Details

GET /api/app/v1/sys/(module)
GET /api/app/v1/sys

Get information about appliance or a module.

New in version 1.0.

Warning

This call for modules is not available on appliance version 8.3.

Parameters:
  • module (optional) – Module to get information about (wcg, wse, na, esg).

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get appliance information:

GET /api/app/v1/sys HTTP/1.1
Accept: text/html

Example 1 - Response: Get appliance information:

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

{
  "appliance": {
    "NA": {
      "hostname": "mason67"
    },
    "WCG": {
      "hostname": "mason67-wcg"
    },
    "WSE": {
      "hostname": "mason67"
    },
    "appliance_version": "8.4.0",
    "hardware_platform": "Virtual",
    "hostname": "mason67",
    "mode": "Forcepoint Web Security",
    "policy_mode": "Filtering only (hosts only Filtering Service and Content Gateway)",
    "policy_source_ip": "10.206.6.68",
    "uptime": "5 days, 23 hours, 7 minutes"
  }
}

Example 2 - Request: Get proxy information:

GET /api/app/v1/sys/wcg HTTP/1.1
Accept: text/html

Example 2 - Response: Get proxy information:

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

{
  "wcg": {}
}
PUT /api/app/v1/sys/(module)/control/(command)
PUT /api/app/v1/sys/control/(command)

Service control for appliance and modules.

New in version 1.0.

Warning

This command returns unescaped characters such as Unix new line character and octothorpe.

Parameters:
  • module (optional) – Module to execute service command on. If omitted the action is executed on the appliance.

  • command (required) – Command to perform. Options (start, stop, restart, shutdown, reboot).

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Restart network agent:

PUT /api/app/v1/sys/na/control/restart HTTP/1.1
Accept: text/html

Example 1 - Response: Restart network agent:

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

{
  "Response": "<NA RESPONSE>"
}

Example 2 - Request: Reboot appliance:

PUT /api/app/v1/sys/control/reboot HTTP/1.1
Accept: text/html

Example 2 - Response: Reboot appliance:

HTTP/1.1 502 Bad Gateway
DELETE /api/app/v1/sys/(module)/disable

Disable specified module.

New in version 1.0.

Parameters:
  • module (required) – Module to disable

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Disable proxy:

DELETE /api/app/v1/sys/wcg/disable HTTP/1.1
Accept: text/html

Example 1 - Response: Disable proxy:

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

{
  "Status": "Success"
}
PUT /api/app/v1/sys/(module)/enable

Enables specified module.

New in version 1.0.

Parameters:
  • module (required) – Module to enable

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Enable proxy:

PUT /api/app/v1/sys/wcg/enable HTTP/1.1
Accept: text/html

Example 1 - Response: Enable proxy:

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

{
  "Status": "Success"
}
GET /api/app/v1/sys/(module)/status

Get the status of services in the specified module.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get proxy status:

GET /api/app/v1/sys/wcg/status HTTP/1.1
Accept: text/html

Example 1 - Response: Get proxy status:

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

{
  "Analytics Server": "Stopped",
  "Content Cop": "Running",
  "Content Gateway": "Running",
  "Content Gateway Manager": "Running",
  "Endpoint Authentication Server": "Running"
}
GET /api/app/v1/sys/(module)/version

Shows the version of the module.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get proxy version:

GET /api/app/v1/sys/wcg/version HTTP/1.1
Accept: text/html

Example 1 - Response: Get proxy version:

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

{
  "version": "8.4.0"
}
GET /api/app/v1/sys/feedback

Get feedback setting.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get feedback setting:

GET /api/app/v1/sys/feedback HTTP/1.1
Accept: text/html

Example 1 - Response: Get feedback setting:

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

{
  "Feedback": true
}
PUT /api/app/v1/sys/gui_url

Updates the URL to be used for any future GUIs

New in version 1.0.

Query Parameters:
  • url (required) – URL to change to

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Change URL:

PUT /api/app/v1/sys/gui_url?url=<NEW_URL> HTTP/1.1
Accept: text/html

Example 1 - Response: Change URL:

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

{
  "Status": "Success"
}
GET /api/app/v1/sys/hardware

Get hardware information.

New in version 1.0.

Query Parameters:
  • request (optional) – A list of options to filter by. If omitted get all information. Filter options (UUID, name, hardware_model, nics, serial_number)

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get hardware information:

GET /api/app/v1/sys/hardware HTTP/1.1
Accept: text/html

Example 1 - Response: Get hardware information:

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

{
  "ApplianceRole": "user",
  "ApplianceVersion": "8.3.0.1198",
  "BIOSInfo": {
    "Revision": "1.5",
    "Version": "1.5.4"
  },
  "CpuModel": "Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz",
  "ProvisioningMode": "wse-contentgateway",
  "UUID": "4C4C4544-0044-3210-8037-B3C04F323832",
  "hardware_model": "PowerEdge R430",
  "name": "V10KG4",
  "nics": [
    "Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe",
    "Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe",
    "Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe",
    "Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe",
    "Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe",
    "Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe"
  ],
  "serial_number": "3D27282"
}
PUT /api/app/v1/sys/hostname

Set the hostname/description on the appliance. This will update the hostname in the containers.

New in version 1.0.

Query Parameters:
  • hostname (optional) – Hostname to change to

  • hostname_desc (optional) – Appliance description, limit 100 characters

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Set appliance hostname:

GET /api/app/v1/sys/hostname?hostname=myhost HTTP/1.1
Accept: text/html

Example 1 - Response: Set appliance hostname:

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

{
  "Status": "Success"
}

Example 2 - Request: Set appliance hostname and description:

GET /api/app/v1/sys/hostname?hostname=myhost&hostname_desc=my_host HTTP/1.1
Accept: text/html

Example 2 - Response: Set appliance hostname and description:

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

{
  "Status": "Success"
}
PUT /api/app/v1/sys/hostname/(module)

Set a module’s hostname.

New in version 1.0.

Query Parameters:
  • hostname (required) – Hostname to change the module to

Response Headers:
Status Codes:
Accepted Authorization:

admin

Warning

This API can only be accessed from the internal endpoint within the appliance.

Warning

This command returns unescaped characters such as Unix new line character and octothorpe.

Example 1 - Request: Set module hostname:

PUT /api/app/v1/sys/hostname/wcg?hostname=kittens HTTP/1.1
Accept: text/html

Example 1 - Response: Set module hostname:

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

{
  "Result": [
    {
      "wcg": true
    },
    {
      "appliance": "<SALT file.line DATA>"
    },
    true
  ]
}
GET /api/app/v1/sys/hostname/descr

Get host description

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get host description:

GET /api/app/v1/sys/feedback HTTP/1.1
Accept: text/html

Example 1 - Response: Get host description:

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

{
  "Feedback": true
}
GET /api/app/v1/sys/integration

Get web integration mode setting.

New in version 1.0.

Deprecated since version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Note

This is only available in Web Filtering and Security mode on a V5K or virtual appliance.

Example 1 - Request: Get integration mode:

GET /api/app/v1/sys/integration HTTP/1.1
Accept: text/html

Example 1 - Response: Get integration mode:

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

{
  "Integration": "WNA"
}

Example 2 - Request: Get integration mode on an invalid appliance:

GET /api/app/v1/sys/integration HTTP/1.1
Accept: text/html

Example 2 - Response: Get integration mode on an invalid appliance:

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

{
  "Integration": null
}
GET /api/app/v1/sys/mode

Get appliance security mode.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get security mode:

GET /api/app/v1/sys/mode HTTP/1.1
Accept: text/html

Example 1 - Response: Get security mode:

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

{
  "mode": "wse-contentgateway"
}
GET /api/app/v1/sys/modules

Get a list of available modules on the appliance and their current status.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get available modules:

GET /api/app/v1/sys/modules HTTP/1.1
Accept: text/html

Example 1 - Response: Get available modules:

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

{
  "na": "RUNNING",
  "wcg": "RUNNING",
  "wse": "RUNNING"
}
GET /api/app/v1/sys/platform

Get hardware platform.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get platform:

GET /api/app/v1/sys/platform HTTP/1.1
Accept: text/html

Example 1 - Response: Get platform:

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

{
  "platform": "V10KG4"
}
GET /api/app/v1/sys/platform_interfaces

Get available platform interfaces.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get platform interfaces:

GET /api/app/v1/sys/platform_interfaces HTTP/1.1
Accept: text/html

Example 1 - Response: Get platform interfaces:

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

{
  "interfaces": [
    "C",
    "N",
    "P1",
    "P2",
    "E1",
    "E2"
  ]
}
GET /api/app/v1/sys/policy_server_mode

Get the web policy mode.

New in version 1.0.

Deprecated since version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get policy mode:

GET /api/app/v1/sys/policy_server_mode HTTP/1.1
Accept: text/html

Example 1 - Response: Get policy mode:

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

{
  "policy_mode": "filter"
}
GET /api/app/v1/sys/proxy

Gets the proxy values in the config.

New in version 1.0.

Deprecated since version 1.0.

Warning

Not sure if this command actually does anything.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get host description:

GET /api/app/v1/sys/proxy HTTP/1.1
Accept: text/html

Example 1 - Response: Get host description:

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

{
  "ip_address": "10.206.6.68",
  "port": "8081",
  "user": "kitten"
}
DELETE /api/app/v1/sys/proxy

Set/unset the proxy values in the config.

New in version 1.0.

Deprecated since version 1.0.

Warning

Not sure if this command actually does anything.

Query Parameters:
  • ip_address (required) – IP address of the filestore

  • port (required) – Port to connect to the filestore

  • user (optional) – User for the filestore

  • password (optional) – Filestore user password

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Set proxy config:

PUT /api/app/v1/sys/proxy?ip_address=10.206.6.68&port=8081&password=Firewall1=tx&user=kitten HTTP/1.1
Accept: text/html

Example 1 - Response: Set proxy config:

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

{
  "Status": "Success"
}

Example 2 - Request: Set proxy config no user/password:

PUT /api/app/v1/sys/proxy?ip_address=10.206.6.68&port=8081 HTTP/1.1
Accept: text/html

Example 2 - Response: Set proxy config:

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

{
  "Status": "Success"
}

Example 3 - Request: Delete proxy config:

DELETE /api/app/v1/sys/proxy HTTP/1.1
Accept: text/html

Example 3 - Response: Delete proxy config:

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

{
  "Status": "Success"
}
PUT /api/app/v1/sys/proxy

Set/unset the proxy values in the config.

New in version 1.0.

Deprecated since version 1.0.

Warning

Not sure if this command actually does anything.

Query Parameters:
  • ip_address (required) – IP address of the filestore

  • port (required) – Port to connect to the filestore

  • user (optional) – User for the filestore

  • password (optional) – Filestore user password

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Set proxy config:

PUT /api/app/v1/sys/proxy?ip_address=10.206.6.68&port=8081&password=Firewall1=tx&user=kitten HTTP/1.1
Accept: text/html

Example 1 - Response: Set proxy config:

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

{
  "Status": "Success"
}

Example 2 - Request: Set proxy config no user/password:

PUT /api/app/v1/sys/proxy?ip_address=10.206.6.68&port=8081 HTTP/1.1
Accept: text/html

Example 2 - Response: Set proxy config:

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

{
  "Status": "Success"
}

Example 3 - Request: Delete proxy config:

DELETE /api/app/v1/sys/proxy HTTP/1.1
Accept: text/html

Example 3 - Response: Delete proxy config:

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

{
  "Status": "Success"
}
GET /api/app/v1/sys/restart/status

Retrieves the status of the UWSGI job ID requested

New in version 1.0.

Status Codes:
Accepted Authorization:

admin, audit

**Example 1 - Request: Get restart status .. sourcecode:: http

GET /api/app/v1/sys/restart/status?jid=20180809115938791888 HTTP/1.1 Accept: text/html

Example 1 - Response: Get restart status:

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

{
  "status": "Service successfully restarted"
}
PUT /api/app/v1/sys/restart/uwsgi

Restarts the UWSGI service

New in version 1.0.

Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Restart UwSGI:

PUT /api/app/v1/sys/restart/uwsgi HTTP/1.1
Accept: text/html

Example 1 - Response: Restart UWSGI:

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

{
  "jid": "20180809115938791888"
}
GET /api/app/v1/sys/salt_status

Gives status on if the Salt master and minions are ready

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Salt status:

GET /api/app/v1/sys/salt_status HTTP/1.1
Accept: text/html

Example 1 - Response: Salt is ready:

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

{
  "is_salt_ready": true
}

Example 2 - Request: Salt status:

GET /api/app/v1/sys/salt_status HTTP/1.1
Accept: text/html

Example 1 - Response: Salt is not ready:

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

{
  "is_salt_ready": false
}
GET /api/app/v1/sys/status

Get the status of all services in all modules on the appliance.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get system status in Filtering Only mode:

GET /api/app/v1/sys/status HTTP/1.1
Accept: text/html

Example 1 - Response: Get system status in Filtering Only mode:

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

{
  "NA": {
    "Control Service": "Running",
    "Network Agent": "Running"
  },
  "WCG": {
    "Analytics Server": "Stopped",
    "Content Cop": "Running",
    "Content Gateway": "Running",
    "Content Gateway Manager": "Running",
    "Endpoint Authentication Server": "Running"
  },
  "WSE": {
    "Cloud App Agent": "Running",
    "Control Service": "Running",
    "Filtering Service": "Running"
  }
}
PUT /api/app/v1/sys/sysctl/(param)

Set certain Linux sysctl variables.

New in version 1.0.

Parameters:
  • param (required) – Sysctl variable to cycle. Options (net.ipv4.tcp_timestamps, net.ipv4.tcp_window_scaling)

Query Parameters:
  • value (required) – Value to set the variable to

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Cycle sysctl variable:

PUT /api/app/v1/sys/sysctl/net.ipv4.tcp_timestamps?value=0 HTTP/1.1
Accept: text/html

Example 1 - Response: Cycle sysctl variable:

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

{
  "Status": "Success"
}
GET /api/app/v1/sys/sysctl/(param)

Get a sysctl value.

New in version 1.0.

Response Headers:
Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get sysctl value:

GET /api/app/v1/sys/sysctl/net.ipv4.ip_forward HTTP/1.1
Accept: text/html

Example 1 - Response: Get sysctl value:

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

{
  "Result": "1"
}
PUT /api/app/v1/sys/unlock

Removes the lock file that is created during install

New in version 1.0.

Status Codes:
Accepted Authorization:

admin, audit

Example 1 - Request: Get upgrade install status:

GET /api/app/v1/sys/unlock HTTP/1.1
Accept: text/html

Example 1 - Response: Get upgrade install status:

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

{
  "Status": "Success"
}