pfSense API (1.0)

Download OpenAPI specification:

pfSense Multi-instance Management APIs

pfSense API Software Toolkit

pfSense® Plus software is a widely deployed, robust, and easy to use firewall solution. This repository contains the set of packages to extend the powerful management capabilities of pfSense Plus through the availability a RESTful interface provided by the pfSense Multi-instance Management Controller.

This API schema is provided for language agnostic client implementations. The schema generated document can be viewed here: netgate.github.io/pfsense-api

login

Authentication Operations: Use the functions in this namespace to login to the Controller and obtain the session token required for issuing API requests.

Authenticate with the controller.

Login to pfSense. If the JWT access token is not provided, then a new one is allocated. A JWT refresh token is also applied to cookie. The client can refresh the access token, while the refresh token is still valid, by calling RefreshAccessToken (POST /login/refresh).

Request Body schema: application/json
required
username
required
string

base64 encoded

password
required
string

base64 encoded

secondfactor
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "secondfactor": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "user": "string",
  • "version": "string",
  • "alerts": [
    ]
}

Refresh the JWT access token. The refresh token cookie must be valid for a successful refresh.

Request Body schema: application/json
required
username
string

Responses

Request samples

Content type
application/json
{
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "user": "string",
  • "version": "string",
  • "alerts": [
    ]
}

auth

Authentication server configuration.

Return authentication servers

Responses

Response samples

Content type
application/json
{
  • "svrlist": [
    ],
  • "authtype": "string"
}

AuthTestAuthentication

Request Body schema: application/json
required
authtype
string
username
string
password
string

Responses

Request samples

Content type
application/json
{
  • "authtype": "string",
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "authenticated": true
}

controller

Controller operations

Get controller information

Responses

Response samples

Content type
application/json
{
  • "build": "string",
  • "api_version": "string",
  • "host": "string",
  • "host_os": {
    },
  • "pubkey": "string",
  • "tls_pubkey": "string",
  • "tls_key_id": "string",
  • "public_addresses": [
    ],
  • "mim_vpn_addr": "string",
  • "stats": {
    }
}

Get summary of alarms

Responses

Response samples

Content type
application/json
{
  • "alarms": {
    }
}

Get controller logs

query Parameters
device_name
string
type
string

debug, info (default), warning, error, critical

from_ts
integer

millisecond timestamp of starting log time

to_ts
integer

millisecond timestamp of ending log time

class
string

source class of the log, for example - auth, config, cron, controller

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ]
}

Request action on the controller process

Request Body schema: application/json
required
action
string
Enum: "restart" "reload" "stop"

Action to carry out [restart, reload, stop]

Responses

Request samples

Content type
application/json
{
  • "action": "restart"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get controller stats

Responses

Response samples

Content type
application/json
{
  • "uptime": 0,
  • "started": 0,
  • "mem_total": 0,
  • "mem_used": 0,
  • "storage": [
    ],
  • "cpu_load": [
    ],
  • "admin_logins": 0,
  • "systems_total": 0,
  • "systems_online": 0,
  • "systems_failed": 0,
  • "mesh": {
    },
  • "admin_sessions": [
    ],
  • "timestamp": 0
}

events

Device events

Long poll to wait for events from the system

Detect system events or alerts that need to be attended to. Calling this function will block the client, and it should therefore be done on a dedicated connection from other API requests. Each event returned in the events list has an event_id, which can be used as a tracker for retrieving the next set of events.

parameters:

  • last_id: the ID of the event that was last retrieved by the client.
query Parameters
last_id
integer

last seen ID

Responses

Response samples

Content type
application/json
{
  • "events": [
    ]
}

flush all events

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

system

System configuration

Get system summary

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "os": "string",
  • "arch": "string",
  • "api_version": "string"
}

List Advanced Admin

Responses

Response samples

Content type
application/json
{
  • "admin": {
    }
}

Update Advanced Admin

Request Body schema: application/json
required
object (SystemAdvAdmin)

Responses

Request samples

Content type
application/json
{
  • "admin": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Advanced Firewall

Responses

Response samples

Content type
application/json
{
  • "firewall": {
    },
  • "interfaces": [
    ]
}

Update Advanced Firewall

Request Body schema: application/json
required
adaptiveend
string
adaptivestart
string
aliasesresolveinterval
string
bogonsinterval
string
bypassstaticroutes
boolean
checkaliasesurlcert
boolean
disablefilter
boolean
disablenegate
boolean
disablereplyto
boolean
disablescrub
boolean
disablevpnrules
boolean
enablebinatreflection
boolean
enablenatreflectionhelper
boolean
enableethfilter
boolean
icmperrortimeout
string
icmpfirsttimeout
string
maximumfrags
string
maximumstates
string
maximumtableentries
string
maxmss
string
maxmss_enable
boolean
vpn_fragment_reassemble
boolean
natreflection
string
no_apipa_block
boolean
optimization
string
otherfirsttimeout
string
othermultipletimeout
string
othersingletimeout
string
reflectiontimeout
string
scrubnodf
boolean
scrubrnid
boolean
sctpfirsttimeout
string
sctpopeningtimeout
string
sctpestablishedtimeout
string
sctpclosingtimeout
string
sctpclosedtimeout
string
statepolicy
string
tcpclosedtimeout
string
tcpclosingtimeout
string
tcpestablishedtimeout
string
tcpfinwaittimeout
string
tcpfirsttimeout
string
tcpopeningtimeout
string
tcptsdifftimeout
string
tftpinterface
Array of strings
udpfirsttimeout
string
udpmultipletimeout
string
udpsingletimeout
string
allow_nat64_prefix_override
boolean

Allow overriding the NAT64 prefix used in rules and services

Responses

Request samples

Content type
application/json
{
  • "adaptiveend": "string",
  • "adaptivestart": "string",
  • "aliasesresolveinterval": "string",
  • "bogonsinterval": "string",
  • "bypassstaticroutes": true,
  • "checkaliasesurlcert": true,
  • "disablefilter": true,
  • "disablenegate": true,
  • "disablereplyto": true,
  • "disablescrub": true,
  • "disablevpnrules": true,
  • "enablebinatreflection": true,
  • "enablenatreflectionhelper": true,
  • "enableethfilter": true,
  • "icmperrortimeout": "string",
  • "icmpfirsttimeout": "string",
  • "maximumfrags": "string",
  • "maximumstates": "string",
  • "maximumtableentries": "string",
  • "maxmss": "string",
  • "maxmss_enable": true,
  • "vpn_fragment_reassemble": true,
  • "natreflection": "string",
  • "no_apipa_block": true,
  • "optimization": "string",
  • "otherfirsttimeout": "string",
  • "othermultipletimeout": "string",
  • "othersingletimeout": "string",
  • "reflectiontimeout": "string",
  • "scrubnodf": true,
  • "scrubrnid": true,
  • "sctpfirsttimeout": "string",
  • "sctpopeningtimeout": "string",
  • "sctpestablishedtimeout": "string",
  • "sctpclosingtimeout": "string",
  • "sctpclosedtimeout": "string",
  • "statepolicy": "string",
  • "tcpclosedtimeout": "string",
  • "tcpclosingtimeout": "string",
  • "tcpestablishedtimeout": "string",
  • "tcpfinwaittimeout": "string",
  • "tcpfirsttimeout": "string",
  • "tcpopeningtimeout": "string",
  • "tcptsdifftimeout": "string",
  • "tftpinterface": [
    ],
  • "udpfirsttimeout": "string",
  • "udpmultipletimeout": "string",
  • "udpsingletimeout": "string",
  • "allow_nat64_prefix_override": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Advanced Miscellaneous

Responses

Response samples

Content type
application/json
{
  • "misc": {
    }
}

Update Advanced Miscellaneous

Request Body schema: application/json
required
object (AdvMisc)

Responses

Request samples

Content type
application/json
{
  • "misc": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

List network settings

Responses

Response samples

Content type
application/json
{
  • "networking": {
    }
}

Set Advanced Network

Request Body schema: application/json
required
disablechecksumoffloading
boolean
disablesegmentationoffloading
boolean
disablelargereceiveoffloading
boolean
dhcp6debug
boolean
dhcp6norelease
boolean
hnaltqenable
boolean
ignoreiscwarning
boolean
ip_change_kill_states
boolean
ipv6allow
boolean
ipv6dontcreatelocaldns
boolean
ipv6nat_enable
boolean
prefer_ipv4
boolean
sharednet
boolean
radvddebug
boolean
duid
string
global_v6duid
string
ipv6duiden_en
string
ipv6duiden_id
string
ipv6duidll
string
ipv6duidllt_ll
string
ipv6duidllt_time
string
ipv6duidtype
string
ipv6duiduuid
string
ipv6nat_ipaddr
string
dhcpbackend
string
use_if_pppoe
boolean

Responses

Request samples

Content type
application/json
{
  • "disablechecksumoffloading": true,
  • "disablesegmentationoffloading": true,
  • "disablelargereceiveoffloading": true,
  • "dhcp6debug": true,
  • "dhcp6norelease": true,
  • "hnaltqenable": true,
  • "ignoreiscwarning": true,
  • "ip_change_kill_states": true,
  • "ipv6allow": true,
  • "ipv6dontcreatelocaldns": true,
  • "ipv6nat_enable": true,
  • "prefer_ipv4": true,
  • "sharednet": true,
  • "radvddebug": true,
  • "duid": "string",
  • "global_v6duid": "string",
  • "ipv6duiden_en": "string",
  • "ipv6duiden_id": "string",
  • "ipv6duidll": "string",
  • "ipv6duidllt_ll": "string",
  • "ipv6duidllt_time": "string",
  • "ipv6duidtype": "string",
  • "ipv6duiduuid": "string",
  • "ipv6nat_ipaddr": "string",
  • "dhcpbackend": "string",
  • "use_if_pppoe": true
}

Response samples

Content type
application/json
{
  • "reboot_msg": "string"
}

Get advanced notifications

Responses

Response samples

Content type
application/json
{
  • "notifications": {
    }
}

Update advanced notifications

Request Body schema: application/json
required
object (AdvNotificationSetting)

Responses

Request samples

Content type
application/json
{
  • "notifications": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

List system tunables

Responses

Response samples

Content type
application/json
{
  • "tunables": [
    ]
}

Set/update tunable

Request Body schema: application/json
required
object (Tunable)
id
integer

Responses

Request samples

Content type
application/json
{
  • "tunable": {
    },
  • "id": 0
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete system tunable

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Reload TLS certificate. The server will set its TLS certificate to use the one specified.

Request Body schema: application/json
required
cert_path
string
key_path
string

Responses

Request samples

Content type
application/json
{
  • "cert_path": "string",
  • "key_path": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get all boot environments

Responses

Response samples

Content type
application/json
{
  • "envs": {
    }
}

Creates a bootenv

Request Body schema: application/json
required
name
required
string
descr
string
from
required
string
protect
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "from": "string",
  • "protect": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Activates a bootenv by its name

Request Body schema: application/json
required
name
string
temp
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "temp": true
}

Response samples

Content type
application/json
{
  • "envs": {
    }
}

Delete multiple bootenvs by name

Request Body schema: application/json
required
names
Array of strings

Responses

Request samples

Content type
application/json
{
  • "names": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Quickly create a bootenv from default

Responses

Response samples

Content type
application/json
{
  • "name": "string"
}

Deletes a bootenv by its name

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Updates a bootenv

path Parameters
name
required
string
Request Body schema: application/json
required
old_name
required
string
name
string
descr
string
protect
boolean

Responses

Request samples

Content type
application/json
{
  • "old_name": "string",
  • "name": "string",
  • "descr": "string",
  • "protect": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get a list of Certificate Authorities

query Parameters
withprivkey
boolean

Responses

Response samples

Content type
application/json
{
  • "cas": [
    ]
}

Add Certificate Authority

Add a new Certificate Authority. The input must provide one of the method structures which contain the parameters to generate the certificate from. If an existing certificate is to be used, the method_existing must contain the certificate and the private key associated with it.

The input NewCaCertReq object must have a name provided, and one of the method_xxxxx providing the certificate creation options.

Request Body schema: application/json
required
name
required
string
trust
boolean
randomize_serial
boolean
object (CaCertMethodNew)

Options for creating/updating an internal CA certificate. The values for internal and intermediate certificates are the same, with the exception that the intermediate certificate is signed by a CA referenced by caref. For key type, size and options, query /system/certopts for the supported values.

  • key_type: RSA or ECDSA
  • key_size: size of key in bits (RSA)
  • key_opt: curve types (historically ecname)
  • digest_alg: hash algorithm for signing
  • lifetime: days to expire
  • cn: common name
  • country_code: 2-character country code
  • state: state or province
  • city: city
  • org: organization, business name
  • ou: organization unit
  • caref: signing CA reference ID
object (CaCertMethodExisting)

Existing PEM certificate and key, either in PEM format or base64-encoded

object (CaCertMethodNew)

Options for creating/updating an internal CA certificate. The values for internal and intermediate certificates are the same, with the exception that the intermediate certificate is signed by a CA referenced by caref. For key type, size and options, query /system/certopts for the supported values.

  • key_type: RSA or ECDSA
  • key_size: size of key in bits (RSA)
  • key_opt: curve types (historically ecname)
  • digest_alg: hash algorithm for signing
  • lifetime: days to expire
  • cn: common name
  • country_code: 2-character country code
  • state: state or province
  • city: city
  • org: organization, business name
  • ou: organization unit
  • caref: signing CA reference ID

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "trust": true,
  • "randomize_serial": true,
  • "method_internal": {
    },
  • "method_existing": {
    },
  • "method_intermediate": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "refid": "string",
  • "internal": true,
  • "issuer": "string",
  • "certificates": 0,
  • "inuse": [
    ],
  • "trust": true,
  • "randomize_serial": true,
  • "next_serial": 0,
  • "info": {
    }
}

Get Certificate Authority details (by its reference ID)

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "refid": "string",
  • "internal": true,
  • "issuer": "string",
  • "certificates": 0,
  • "inuse": [
    ],
  • "trust": true,
  • "randomize_serial": true,
  • "next_serial": 0,
  • "info": {
    }
}

Delete Certificate Authority by reference ID

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "cas": [
    ]
}

Update Certificate Authority by reference ID

path Parameters
refid
required
string
Request Body schema: application/json
required
name
required
string
trust
boolean
randomize_serial
boolean
object (CaCertMethodNew)

Options for creating/updating an internal CA certificate. The values for internal and intermediate certificates are the same, with the exception that the intermediate certificate is signed by a CA referenced by caref. For key type, size and options, query /system/certopts for the supported values.

  • key_type: RSA or ECDSA
  • key_size: size of key in bits (RSA)
  • key_opt: curve types (historically ecname)
  • digest_alg: hash algorithm for signing
  • lifetime: days to expire
  • cn: common name
  • country_code: 2-character country code
  • state: state or province
  • city: city
  • org: organization, business name
  • ou: organization unit
  • caref: signing CA reference ID
object (CaCertMethodExisting)

Existing PEM certificate and key, either in PEM format or base64-encoded

object (CaCertMethodNew)

Options for creating/updating an internal CA certificate. The values for internal and intermediate certificates are the same, with the exception that the intermediate certificate is signed by a CA referenced by caref. For key type, size and options, query /system/certopts for the supported values.

  • key_type: RSA or ECDSA
  • key_size: size of key in bits (RSA)
  • key_opt: curve types (historically ecname)
  • digest_alg: hash algorithm for signing
  • lifetime: days to expire
  • cn: common name
  • country_code: 2-character country code
  • state: state or province
  • city: city
  • org: organization, business name
  • ou: organization unit
  • caref: signing CA reference ID

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "trust": true,
  • "randomize_serial": true,
  • "method_internal": {
    },
  • "method_existing": {
    },
  • "method_intermediate": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "refid": "string",
  • "internal": true,
  • "issuer": "string",
  • "certificates": 0,
  • "inuse": [
    ],
  • "trust": true,
  • "randomize_serial": true,
  • "next_serial": 0,
  • "info": {
    }
}

Download the CA certificate

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Download the CA certificate signing key

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Renew/reissue CA certificate

path Parameters
refid
required
string
Request Body schema: application/json
required
reusekey
boolean
reuseserial
boolean
strictsecurity
boolean

Responses

Request samples

Content type
application/json
{
  • "reusekey": true,
  • "reuseserial": true,
  • "strictsecurity": true
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "refid": "string",
  • "internal": true,
  • "issuer": "string",
  • "certificates": 0,
  • "inuse": [
    ],
  • "trust": true,
  • "randomize_serial": true,
  • "next_serial": 0,
  • "info": {
    }
}

Get certificates, or CSRs only (if ?csr_only=true)

query Parameters
csr_only
boolean

Responses

Response samples

Content type
application/json
{
  • "certs": [
    ]
}

Add certificate, certificate signing request or sign a certificate.

Add a certificate, CSR or sign CSR request. The NewCertReq method can contain one of:

  • method_internal: CertMethodNew
  • method_existing_pem: CertMethodExistingPEM
  • method_existing_pkcs12: CertMethodExistingPkcs12
  • method_csr: CertMethodSigningRequest
  • method_sign: CertMethodSignCSR
Request Body schema: application/json
required
name
string
descr
string
description
string
userid
integer
object (CertMethodNew)

Options for creating/updating an internal certificate. For key type, size and options, query /system/certopts for the supported values.

  • caref: CA (refid) to sign cert
  • key_type: RSA or ECDSA
  • key_size: size of key in bits (RSA)
  • key_opt: curve types (historically ecname)
  • digest_alg: hash algorithm for signing
  • lifetime: days to expire
  • cn: common name
  • country_code: 2-character country code
  • state: state or province
  • city: city
  • org: organization, business name
  • ou: organization unit
  • server_cert true for server cert, false for user cert
object (CertMethodExistingPEM)

Existing PEM certificate and key, either in PEM/pkcs12 format or base64-encoded

object (CertMethodExistingPkcs12)

Existing PKCS12 certificate and key; the PKCS12 payload is to be sent as a file upload part in a multi-part request, otherwise it can be included as pkcs12_b64 directly within this structure.

object (CertMethodSigningRequest)
object (CertMethodSignCSR)

Sign a certificate signing request with the selected CA. An existing csr_refid or new CSR (base64 encoded "csr") must be provided.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "description": "string",
  • "userid": 0,
  • "method_internal": {
    },
  • "method_existing_pem": {
    },
  • "method_existing_pkcs12": {
    },
  • "method_csr": {
    },
  • "method_sign": {
    }
}

Response samples

Content type
application/json
{
  • "refid": "string",
  • "descr": "string",
  • "crt": "string",
  • "csr": "string",
  • "caref": "string",
  • "cadata": "string",
  • "ends": "string",
  • "inuse": "string",
  • "issuer": "string",
  • "prv": "string",
  • "starts": "string",
  • "subj": "string",
  • "type": "string",
  • "name": "string",
  • "dn": "string",
  • "info": {
    },
  • "can_renew": true
}

Add certificate with PKCS12 upload. The NewCertReq must provide the method_existing_pkcs12 object.

Request Body schema: multipart/form-data
required
object (NewCertReq)

Request for creating a cert or updating an existing one.

  • name: short description about certificate
  • userid: user-ID for user-specific certificate, eg for VPN
  • description: Descriptive name
  • one of the method_xxxx
pkcs12file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "refid": "string",
  • "descr": "string",
  • "crt": "string",
  • "csr": "string",
  • "caref": "string",
  • "cadata": "string",
  • "ends": "string",
  • "inuse": "string",
  • "issuer": "string",
  • "prv": "string",
  • "starts": "string",
  • "subj": "string",
  • "type": "string",
  • "name": "string",
  • "dn": "string",
  • "info": {
    },
  • "can_renew": true
}

Get certificate with reference ID

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "cert": {
    }
}

Delete certificate

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "certs": [
    ]
}

Update certificate with certificate and private key payloads

path Parameters
refid
required
string
Request Body schema: application/json
required
name
string
descr
string
description
string
object (CertMethodExistingPEM)

Existing PEM certificate and key, either in PEM/pkcs12 format or base64-encoded

object (CertMethodExistingPkcs12)

Existing PKCS12 certificate and key; the PKCS12 payload is to be sent as a file upload part in a multi-part request, otherwise it can be included as pkcs12_b64 directly within this structure.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "description": "string",
  • "method_existing_pem": {
    },
  • "method_existing_pkcs12": {
    }
}

Response samples

Content type
application/json
{
  • "refid": "string",
  • "descr": "string",
  • "crt": "string",
  • "csr": "string",
  • "caref": "string",
  • "cadata": "string",
  • "ends": "string",
  • "inuse": "string",
  • "issuer": "string",
  • "prv": "string",
  • "starts": "string",
  • "subj": "string",
  • "type": "string",
  • "name": "string",
  • "dn": "string",
  • "info": {
    },
  • "can_renew": true
}

Update certificate with PKCS12 upload. The PKCS12 payload must be part of a mutl-part form.

path Parameters
refid
required
string
Request Body schema: multipart/form-data
required
object (UpdatePKCS12CertReq)

Update the certificate with PKCS12 appended file upload

pcsk12file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "refid": "string",
  • "descr": "string",
  • "crt": "string",
  • "csr": "string",
  • "caref": "string",
  • "cadata": "string",
  • "ends": "string",
  • "inuse": "string",
  • "issuer": "string",
  • "prv": "string",
  • "starts": "string",
  • "subj": "string",
  • "type": "string",
  • "name": "string",
  • "dn": "string",
  • "info": {
    },
  • "can_renew": true
}

Download the certificate as a PEM file

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Download the certificate's private key

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Download the certificate's private key

path Parameters
refid
required
string
Request Body schema: application/json
required
password
string

pass-phrase to protect certificate

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Download the certificate and key as a unified PKCS12 file, without password protection

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Download the certificate and key as a unified PKCS12 file

path Parameters
refid
required
string
Request Body schema: application/json
required
password
string

pass-phrase to protect pkcs12 file

add_certauths
boolean

add cert authorities to pkcs12 store

encryption
string
Enum: "high" "low" "legacy"

encryption level (high, low, legacy)

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "add_certauths": true,
  • "encryption": "high"
}

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Renew/reissue certificate

path Parameters
refid
required
string
Request Body schema: application/json
required
reusekey
boolean
reuseserial
boolean
strictsecurity
boolean

Responses

Request samples

Content type
application/json
{
  • "reusekey": true,
  • "reuseserial": true,
  • "strictsecurity": true
}

Response samples

Content type
application/json
{
  • "refid": "string",
  • "descr": "string",
  • "crt": "string",
  • "csr": "string",
  • "caref": "string",
  • "cadata": "string",
  • "ends": "string",
  • "inuse": "string",
  • "issuer": "string",
  • "prv": "string",
  • "starts": "string",
  • "subj": "string",
  • "type": "string",
  • "name": "string",
  • "dn": "string",
  • "info": {
    },
  • "can_renew": true
}

Get options for new certificate creation

Responses

Response samples

Content type
application/json
{
  • "key_type": [
    ],
  • "key_size": [
    ],
  • "key_opt": [
    ],
  • "digest": [
    ]
}

Get subsystem dirty states

Retrieve the list of subsystem configuration which are pending applying of changes

Responses

Response samples

Content type
application/json
{
  • "dirty_subsystems": {
    },
  • "all_subsystems": {
    }
}

Apply pending subsystem changes to the system.

The configuration has pending changes that require a series of being applied. It returns the list of subsystems that are still dirty.

Request Body schema: application/json
required
apply
boolean

Responses

Request samples

Content type
application/json
{
  • "apply": true
}

Response samples

Content type
application/json
{
  • "dirty_subsystems": {
    },
  • "all_subsystems": {
    }
}

Retrieve the CRL configuration

Responses

Response samples

Content type
application/json
{
  • "crls": [
    ],
  • "refid": "string"
}

Add new CRL, either by importing an existing X509 version or creating one.

Add a new CRL with either an existing X509 input or values for creating a new one. The NewCRLReq method must contain one of:

  • method_internal: CRLMethodNew
  • method_x509: CRLMethodX509
Request Body schema: application/json
required
ca_refid
string

CA reference ID

descr
string

descriptive name

object (CRLMethodNew)
object (CRLMethodX509)

Responses

Request samples

Content type
application/json
{
  • "ca_refid": "string",
  • "descr": "string",
  • "method_internal": {
    },
  • "method_x509": {
    }
}

Response samples

Content type
application/json
{
  • "crls": [
    ],
  • "refid": "string"
}

Get configuration of the specified CRL ID

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "refid": "string",
  • "ca_refid": "string",
  • "descr": "string",
  • "method": "string",
  • "serial": 0,
  • "lifetime": 0,
  • "internal": true,
  • "inuse": true,
  • "is_ovpn_crl": true,
  • "text": "string",
  • "cert": [
    ],
  • "pkgs": {
    }
}

Update CRL, and add certs to be revoked

Update CRL details, with option to add certificates to be revoked (if the CRL is an internal one). The update request must provide the complete CRL information including its description, just like creating a new CRL.

path Parameters
refid
required
string
Request Body schema: application/json
required
ca_refid
string

CA reference ID

descr
string

descriptive name

object (CRLMethodInternalUpdate)
object (CRLMethodX509)

Responses

Request samples

Content type
application/json
{
  • "ca_refid": "string",
  • "descr": "string",
  • "method_internal": {
    },
  • "method_x509": {
    }
}

Response samples

Content type
application/json
{
  • "crls": [
    ],
  • "refid": "string"
}

Delete CRL

Deletes the CRL record from the configuration. This also results in certificates being unrevoked.

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "crls": [
    ],
  • "refid": "string"
}

Unrevoke certificate by its ID.

Unrevokes the certificate by removing it from the CRL.

path Parameters
refid
required
string
certid
required
string

Responses

Response samples

Content type
application/json
{
  • "crls": [
    ],
  • "refid": "string"
}

Download the CRL in X.509 format

path Parameters
refid
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Initiate a manual filter reload

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the status of an ongoing filter reload

Responses

Response samples

Content type
application/json
{
  • "ongoing": true,
  • "done": true,
  • "status_lines": [
    ],
  • "ha_xmlrpc_enabled": true
}

Initiate a manual filter sync

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the current system firmware version and the available upgrade version

Retrieve the system's current firmware version and determine if there is an upgradable firmware image available to install on the system.

Responses

Response samples

Content type
application/json
{
  • "current_version": "string",
  • "latest_version": "string",
  • "status": "string",
  • "message": "string"
}

Upgrade the system firmware

Upgrade the system's firmware to the latest available version. The system should be rebooted after upgrading.

Request Body schema: application/json
required
upgrade
boolean

set to true to confirm upgrade

Responses

Request samples

Content type
application/json
{
  • "upgrade": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

List gateways

Responses

Response samples

Content type
application/json
{
  • "defaults": {
    },
  • "gateways": [
    ],
  • "default_assignable_gw4": [
    ],
  • "default_assignable_gw6": [
    ]
}

Add new gateway

Request Body schema: application/json
required
gateway
required
string
name
string
dynamic
boolean
disabled
boolean
ipprotocol
string
gw_down_kill_states
string
interface_device
string
interface_identity
string
interface_assigned
string
interface
string

obsolete - use interface_device

friendlyiface
string

obsolete - use interface_identity

friendlyifdescr
string

obsolete - use interface_assigned

action_disable
boolean
attribute
string
isdefaultgw
boolean
monitor
string
monitor_disable
boolean
descr
string
tiername
string
weight
integer
data_payload
integer
interval
integer
latencylow
integer
latencyhigh
integer
losslow
integer
losshigh
integer
loss_interval
integer
time_period
integer
alert_interval
integer
nonlocalgateway
boolean
object (GatewayDefaults)

Responses

Request samples

Content type
application/json
{
  • "gateway": "string",
  • "name": "string",
  • "dynamic": true,
  • "disabled": true,
  • "ipprotocol": "string",
  • "gw_down_kill_states": "string",
  • "interface_device": "string",
  • "interface_identity": "string",
  • "interface_assigned": "string",
  • "interface": "string",
  • "friendlyiface": "string",
  • "friendlyifdescr": "string",
  • "action_disable": true,
  • "attribute": "string",
  • "isdefaultgw": true,
  • "monitor": "string",
  • "monitor_disable": true,
  • "descr": "string",
  • "tiername": "string",
  • "weight": 0,
  • "data_payload": 0,
  • "interval": 0,
  • "latencylow": 0,
  • "latencyhigh": 0,
  • "losslow": 0,
  • "losshigh": 0,
  • "loss_interval": 0,
  • "time_period": 0,
  • "alert_interval": 0,
  • "nonlocalgateway": true,
  • "defaults": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get the list of gateways and the priority labeling associated with it

Responses

Response samples

Content type
application/json
{
  • "gateways": [
    ],
  • "priorities": [
    ]
}

Get gateway groups

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Add gateway group

Request Body schema: application/json
required
idx
integer
name
required
string
descr
string
Array of objects (GatewayGroupPriority)
keep_failover_states
string
trigger
string
trigger_descr
string
keep_failover_states_descr
string

Responses

Request samples

Content type
application/json
{
  • "idx": 0,
  • "name": "string",
  • "descr": "string",
  • "gateway_priority": [
    ],
  • "keep_failover_states": "string",
  • "trigger": "string",
  • "trigger_descr": "string",
  • "keep_failover_states_descr": "string"
}

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Delete gateway group by its entry index

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Update gateway group

path Parameters
id
required
string
Request Body schema: application/json
required
idx
integer
name
required
string
descr
string
Array of objects (GatewayGroupPriority)
keep_failover_states
string
trigger
string
trigger_descr
string
keep_failover_states_descr
string

Responses

Request samples

Content type
application/json
{
  • "idx": 0,
  • "name": "string",
  • "descr": "string",
  • "gateway_priority": [
    ],
  • "keep_failover_states": "string",
  • "trigger": "string",
  • "trigger_descr": "string",
  • "keep_failover_states_descr": "string"
}

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

List Gateway status

Responses

Response samples

Content type
application/json
{
  • "gateways": [
    ],
  • "groups": [
    ]
}

Update gateway id

path Parameters
id
required
string
Request Body schema: application/json
required
gateway
required
string
name
string
dynamic
boolean
disabled
boolean
ipprotocol
string
gw_down_kill_states
string
interface_device
string
interface_identity
string
interface_assigned
string
interface
string

obsolete - use interface_device

friendlyiface
string

obsolete - use interface_identity

friendlyifdescr
string

obsolete - use interface_assigned

action_disable
boolean
attribute
string
isdefaultgw
boolean
monitor
string
monitor_disable
boolean
descr
string
tiername
string
weight
integer
data_payload
integer
interval
integer
latencylow
integer
latencyhigh
integer
losslow
integer
losshigh
integer
loss_interval
integer
time_period
integer
alert_interval
integer
nonlocalgateway
boolean
object (GatewayDefaults)

Responses

Request samples

Content type
application/json
{
  • "gateway": "string",
  • "name": "string",
  • "dynamic": true,
  • "disabled": true,
  • "ipprotocol": "string",
  • "gw_down_kill_states": "string",
  • "interface_device": "string",
  • "interface_identity": "string",
  • "interface_assigned": "string",
  • "interface": "string",
  • "friendlyiface": "string",
  • "friendlyifdescr": "string",
  • "action_disable": true,
  • "attribute": "string",
  • "isdefaultgw": true,
  • "monitor": "string",
  • "monitor_disable": true,
  • "descr": "string",
  • "tiername": "string",
  • "weight": 0,
  • "data_payload": 0,
  • "interval": 0,
  • "latencylow": 0,
  • "latencyhigh": 0,
  • "losslow": 0,
  • "losshigh": 0,
  • "loss_interval": 0,
  • "time_period": 0,
  • "alert_interval": 0,
  • "nonlocalgateway": true,
  • "defaults": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete gateway

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get high availability synchronization settings

Responses

Response samples

Content type
application/json
{
  • "pfsync": {
    },
  • "xmlrpc": {
    },
  • "avail_sync_interfaces": [
    ]
}

Update high avialable synchronization settings

Request Body schema: application/json
required
object (HAPfsync)
object (HAXMLRPCSync)
avail_sync_interfaces
Array of strings

Responses

Request samples

Content type
application/json
{
  • "pfsync": {
    },
  • "xmlrpc": {
    },
  • "avail_sync_interfaces": [
    ]
}

Response samples

Content type
application/json
{
  • "pfsync": {
    },
  • "xmlrpc": {
    },
  • "avail_sync_interfaces": [
    ]
}

Get initial setup

Responses

Response samples

Content type
application/json
{
  • "setup": {
    }
}

Get the status of any configured interfaces.

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ]
}

Set the logging configuration

Request Body schema: application/json
required
reverse
boolean
nentries
integer
logfilesize
integer
logcompressiontype
string

none, bzip2, gzip, xz, zstd

format
string

rfc3164, rfc5424

rotatecount
integer
remoteserver
string
remoteserver2
string
remoteserver3
string
sourceip
string
ipproto
string

ipv4, ipv6

filter
boolean
dhcp
boolean
auth
boolean
portalauth
boolean
vpn
boolean
dpinger
boolean
hostapd
boolean
logall
boolean
system
boolean
pfnet_controller
boolean
resolver
boolean
ppp
boolean
routing
boolean
ntpd
boolean
disablelocallogging
boolean
logconfigchanges
boolean
enable
boolean
logdefaultblock
boolean
logdefaultpass
boolean
logbogons
boolean
logprivatenets
boolean
lognginx
boolean
rawfilter
boolean
filterdescriptions
integer

Responses

Request samples

Content type
application/json
{
  • "reverse": true,
  • "nentries": 0,
  • "logfilesize": 0,
  • "logcompressiontype": "string",
  • "format": "string",
  • "rotatecount": 0,
  • "remoteserver": "string",
  • "remoteserver2": "string",
  • "remoteserver3": "string",
  • "sourceip": "string",
  • "ipproto": "string",
  • "filter": true,
  • "dhcp": true,
  • "auth": true,
  • "portalauth": true,
  • "vpn": true,
  • "dpinger": true,
  • "hostapd": true,
  • "logall": true,
  • "system": true,
  • "pfnet_controller": true,
  • "resolver": true,
  • "ppp": true,
  • "routing": true,
  • "ntpd": true,
  • "disablelocallogging": true,
  • "logconfigchanges": true,
  • "enable": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "lognginx": true,
  • "rawfilter": true,
  • "filterdescriptions": 0
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get system log configuration

Responses

Response samples

Content type
application/json
{
  • "reverse": true,
  • "nentries": 0,
  • "logfilesize": 0,
  • "logcompressiontype": "string",
  • "format": "string",
  • "rotatecount": 0,
  • "remoteserver": "string",
  • "remoteserver2": "string",
  • "remoteserver3": "string",
  • "sourceip": "string",
  • "ipproto": "string",
  • "filter": true,
  • "dhcp": true,
  • "auth": true,
  • "portalauth": true,
  • "vpn": true,
  • "dpinger": true,
  • "hostapd": true,
  • "logall": true,
  • "system": true,
  • "pfnet_controller": true,
  • "resolver": true,
  • "ppp": true,
  • "routing": true,
  • "ntpd": true,
  • "disablelocallogging": true,
  • "logconfigchanges": true,
  • "enable": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "lognginx": true,
  • "rawfilter": true,
  • "filterdescriptions": 0
}

Reset the local log files and reinitialize as empty files.

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get log file contents

Regular log files are returned as a list of records in StdLogs.Logs. For firewall logs (filename being "filter" or "firewall"), the log records are returned in StdLogs.filter_logs. If the query string "summary=true" is provided, then the firewall log summary is returned in StdLogs.filter_summary with dictionaries of each category with its tallied values.

path Parameters
filename
required
string
query Parameters
start
string
end
string
summary
boolean

Responses

Response samples

Content type
application/json
{
  • "logfile": "string",
  • "logs": [
    ],
  • "filter_logs": [
    ],
  • "filter_summary": {
    },
  • "alerts": {
    }
}

Log configuration for the component filename, if it supports it

path Parameters
filename
required
string
Request Body schema: application/json
required
cronorder
string

reverse, forward, or empty for default

nentries
integer
logfilesize
integer
rotatecount
integer
format
string

formatted, raw

lognginx
boolean
logdefaultblock
boolean
logdefaultpass
boolean
logbogons
boolean
logprivatenets
boolean
loglinklocal4
boolean
logsnort2c
boolean
filterdescriptions
integer

Responses

Request samples

Content type
application/json
{
  • "cronorder": "string",
  • "nentries": 0,
  • "logfilesize": 0,
  • "rotatecount": 0,
  • "format": "string",
  • "lognginx": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "loglinklocal4": true,
  • "logsnort2c": true,
  • "filterdescriptions": 0
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Retrieve the overriding log configuration for the component filename

path Parameters
filename
required
string

Responses

Response samples

Content type
application/json
{
  • "cronorder": "string",
  • "nentries": 0,
  • "logfilesize": 0,
  • "rotatecount": 0,
  • "format": "string",
  • "lognginx": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "loglinklocal4": true,
  • "logsnort2c": true,
  • "filterdescriptions": 0
}

Get monitoring data for a given scope and dataset

Request Body schema: application/json
required
scope
string
dataset
string
start_time_unix_seconds
integer
end_time_unix_seconds
integer
resolution_seconds
integer

Responses

Request samples

Content type
application/json
{
  • "scope": "string",
  • "dataset": "string",
  • "start_time_unix_seconds": 0,
  • "end_time_unix_seconds": 0,
  • "resolution_seconds": 0
}

Response samples

Content type
application/json
{
  • "request": {
    },
  • "dataseries": [
    ],
  • "data_format": "string",
  • "data": [
    ]
}

Get the available monitoring datasets

Responses

Response samples

Content type
application/json
{
  • "datasets": [
    ]
}

Get list of available packages

query Parameters
remote_check
boolean

Responses

Response samples

Content type
application/json
{
  • "packages": [
    ]
}

Install package(s)

Install specified list of packages. If chunked=true, then the progress of the installation is returned as chunks.

query Parameters
chunked
boolean
Request Body schema: application/json
required
Array of objects (InstallPackageOpt)

Responses

Request samples

Content type
application/json
{
  • "packages": [
    ]
}

Response samples

Content type
application/json
{
  • "transaction": "string",
  • "progress": [
    ]
}

Get list of installed packages

query Parameters
remote_check
boolean

Responses

Response samples

Content type
application/json
{
  • "packages": [
    ]
}

Uninstall the named package. Returns the progress of the removal. Use GetInstallProgress to track live progress.

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "transaction": "string",
  • "progress": [
    ]
}

Get install/reinstall/delete progress. If chunked=true, then the progress of the installation is returned as chunks.

query Parameters
chunked
boolean

Responses

Response samples

Content type
application/json
{
  • "transaction": "string",
  • "progress": [
    ]
}

Reinstall package(s)

Reinstall specified list of packages. If chunked=true, then the progress of the reinstallation is returned as chunks.

query Parameters
chunked
boolean
Request Body schema: application/json
required
Array of objects (InstallPackageOpt)

Responses

Request samples

Content type
application/json
{
  • "packages": [
    ]
}

Response samples

Content type
application/json
{
  • "transaction": "string",
  • "progress": [
    ]
}

Get stats of traffic shaping queues

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "interface": "string",
  • "shapertype": "string",
  • "contains": [
    ],
  • "pkts": "string",
  • "bytes": "string",
  • "droppedpkts": "string",
  • "droppedbytes": "string",
  • "qlengthitems": "string",
  • "qlengthsize": "string",
  • "borrows": "string",
  • "suspends": "string"
}

Determine if there are any pending routing changes (dirty config)

Responses

Response samples

Content type
application/json
{
  • "dirty": true
}

Apply routing changes, if there are any

Request Body schema: application/json
required
apply
boolean

Responses

Request samples

Content type
application/json
{
  • "apply": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get static routes

Responses

Response samples

Content type
application/json
{
  • "routes": [
    ]
}

Set static route

Request Body schema: application/json
required
network
required
string
gateway
required
string
descr
string
disabled
boolean
interface
string
network_encoded
string

base64 encoded network; read-only

gateway_encoded
string

base64 encoded gateway; read-only

Responses

Request samples

Content type
application/json
{
  • "network": "string",
  • "gateway": "string",
  • "descr": "string",
  • "disabled": true,
  • "interface": "string",
  • "network_encoded": "string",
  • "gateway_encoded": "string"
}

Response samples

Content type
application/json
{
  • "routes": [
    ]
}

Delete route by network address

The network address must be URL-safe, base64 encoded.

path Parameters
network
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete route by network address and gateway name

The network address and gateway name must be URL-safe, base64 encoded.

path Parameters
network
required
string
gateway
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get all service providers

Responses

Response samples

Content type
application/json
{
  • "countries": [
    ]
}

Get Service Provider by Country

path Parameters
country
required
string

Responses

Response samples

Content type
application/json
{
  • "country": {
    }
}

Get Service Provider by Provider

path Parameters
country
required
string
provider
required
string

Responses

Response samples

Content type
application/json
{
  • "provider": {
    }
}

Get Setup

Responses

Response samples

Content type
application/json
{
  • "hostname": "string",
  • "domain": "string",
  • "dnsservers": [
    ],
  • "dnsoveride": true,
  • "dnsresolution": "string",
  • "timezone": "string",
  • "timeservers": "string",
  • "lang": "string",
  • "login_message": "string",
  • "ui_req_state_filter": true
}

Apply Setup

Request Body schema: application/json
required
hostname
required
string
domain
string
Array of objects (SetupDNSSetting)
dnsoveride
boolean
dnsresolution
string

DNS resolution behavior, options - not-specified (default), local, remote

timezone
string
timeservers
string

space separated list of time servers

lang
string
login_message
string

message to display when user authenticates

ui_req_state_filter
boolean

require state filter in diagnostics-states

Responses

Request samples

Content type
application/json
{
  • "hostname": "string",
  • "domain": "string",
  • "dnsservers": [
    ],
  • "dnsoveride": true,
  • "dnsresolution": "string",
  • "timezone": "string",
  • "timeservers": "string",
  • "lang": "string",
  • "login_message": "string",
  • "ui_req_state_filter": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get setup wizard data

Responses

Response samples

Content type
application/json
{
  • "setup": {
    }
}

Save setupwizard data

Request Body schema: application/json
required
object (SetupWizardOptions)

Responses

Request samples

Content type
application/json
{
  • "setup": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get system status

Responses

Response samples

Content type
application/json
{
  • "status": {
    },
  • "timestamp": 0,
  • "packages": [
    ],
  • "dirty": {
    },
  • "ui_features": {
    },
  • "alerts": "string"
}

Get network interface stats

Responses

Response samples

Content type
application/json
{
  • "if": "string",
  • "ifstats": {
    },
  • "bandwidth": [
    ]
}

Get system update details

query Parameters
refresh
boolean

Responses

Response samples

Content type
application/json
{
  • "firmware_branch": "string",
  • "firmware_branches": [
    ],
  • "messages": [
    ],
  • "boot_env": "string",
  • "curr_base_system": "string",
  • "latest_base_system": "string",
  • "status_message": "string",
  • "update_messages": [
    ]
}

Perform system update

Request Body schema: application/json
required
firmware_branch
string

Responses

Request samples

Content type
application/json
{
  • "firmware_branch": "string"
}

Response samples

Content type
application/json
{
  • "messages": [
    ],
  • "completed": 0,
  • "started_timestamp": 0,
  • "ended_timestamp": 0,
  • "started_time": "string",
  • "ended_time": "string"
}

Poll current update progress

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ],
  • "completed": 0,
  • "started_timestamp": 0,
  • "ended_timestamp": 0,
  • "started_time": "string",
  • "ended_time": "string"
}

Get system update settings

Responses

Response samples

Content type
application/json
{
  • "firmware_branch": "string",
  • "firmware_branches": [
    ],
  • "disable_check": true,
  • "boot_envs": {
    },
  • "git_sync": {
    }
}

Set system update settings

Request Body schema: application/json
required
firmware_branch
string
disable_check
boolean
object (SystemUpdateBootEnvsSettings)

Responses

Request samples

Content type
application/json
{
  • "firmware_branch": "string",
  • "disable_check": true,
  • "boot_envs": {
    }
}

Response samples

Content type
application/json
{
  • "firmware_branch": "string",
  • "firmware_branches": [
    ],
  • "disable_check": true,
  • "boot_envs": {
    },
  • "git_sync": {
    }
}

Get users and groups

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "groups": [
    ]
}

Get auth servers

Responses

Response samples

Content type
application/json
{
  • "active_type": "string",
  • "active_name": "string",
  • "ldap": [
    ],
  • "radius": [
    ],
  • "local": {
    },
  • "radius_nas_list": [
    ]
}

Add auth server

Request Body schema: application/json
required
object (LdapAuthServer)
object (RadiusAuthServer)

Responses

Request samples

Content type
application/json
{
  • "ldap": {
    },
  • "radius": {
    }
}

Response samples

Content type
application/json
{
  • "active_type": "string",
  • "active_name": "string",
  • "ldap": [
    ],
  • "radius": [
    ],
  • "local": {
    },
  • "radius_nas_list": [
    ]
}

Update auth server

path Parameters
name
required
string
Request Body schema: application/json
required
object (LdapAuthServer)
object (RadiusAuthServer)

Responses

Request samples

Content type
application/json
{
  • "ldap": {
    },
  • "radius": {
    }
}

Response samples

Content type
application/json
{
  • "active_type": "string",
  • "active_name": "string",
  • "ldap": [
    ],
  • "radius": [
    ],
  • "local": {
    },
  • "radius_nas_list": [
    ]
}

Delete auth server. Deletion will fail if it is being referenced.

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get list of users

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "errmsg": "string"
}

Add group

Request Body schema: application/json
required
name
required
string
description
string
scope
required
string
gid
integer
members
Array of integers
privs
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "scope": "string",
  • "gid": 0,
  • "members": [
    ],
  • "privs": [
    ]
}

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "errmsg": "string"
}

Update group

path Parameters
groupname
required
string
Request Body schema: application/json
required
description
string
scope
string

local or remote (if non-system)

gid
integer
members
Array of integers
remove_members
Array of integers
privs
Array of strings

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "scope": "string",
  • "gid": 0,
  • "members": [
    ],
  • "remove_members": [
    ],
  • "privs": [
    ]
}

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "errmsg": "string"
}

Delete a group

path Parameters
groupname
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get definitions of user privileges

In pfSense, the user privileges are applied to the user's login to the legacy user interface. When pfSense acts as a Multi-instance Management Controller, MIM privileges are defined by the group's name.

When the Controller runs as a separate entity, group privileges are used as roles in Multi-instance management and define the entitlements of the user belonging to the group. Apart from the superuser (or admin) role, all roles can be made granular with read, modify and delete attributes. A role without these attributes is considered to be granted them all.

Responses

Response samples

Content type
application/json
{
  • "privs": [
    ]
}

Get user authentication settings

Responses

Response samples

Content type
application/json
{
  • "session_timeout": "string",
  • "authentication_server": "string",
  • "authentication_servers": [
    ],
  • "password_hash": "string",
  • "password_hashes": [
    ],
  • "shell_auth": true,
  • "auth_refresh_time": "string"
}

Set user authentication settings

Request Body schema: application/json
required
authentication_server
required
string
save_and_test
boolean
session_timeout
string

session timeout in minutes, empty string is default 240

password_hash
string
shell_auth
boolean
auth_refresh_time
string

duration to cache authentication results from remote auth servers in seconds, empty string is default 30, max 3600

Responses

Request samples

Content type
application/json
{
  • "authentication_server": "string",
  • "save_and_test": true,
  • "session_timeout": "string",
  • "password_hash": "string",
  • "shell_auth": true,
  • "auth_refresh_time": "string"
}

Response samples

Content type
application/json
{
  • "session_timeout": "string",
  • "authentication_server": "string",
  • "authentication_servers": [
    ],
  • "password_hash": "string",
  • "password_hashes": [
    ],
  • "shell_auth": true,
  • "auth_refresh_time": "string"
}

Get list of users

Responses

Response samples

Content type
application/json
{
  • "users": [
    ]
}

Add user

Request Body schema: application/json
required
username
required
string
uid
integer
password
string
full_name
string
groups
Array of strings
cert_refids
Array of strings
authorized_keys
string <byte>
privs
Array of strings
scope
string
keep_cmd_history
boolean
expiration
integer
disabled
boolean
ipsec_psk
string <byte>

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "uid": 0,
  • "password": "string",
  • "full_name": "string",
  • "groups": [
    ],
  • "cert_refids": [
    ],
  • "authorized_keys": "string",
  • "privs": [
    ],
  • "scope": "string",
  • "keep_cmd_history": true,
  • "expiration": 0,
  • "disabled": true,
  • "ipsec_psk": "string"
}

Response samples

Content type
application/json
{
  • "users": [
    ]
}

Update user

path Parameters
username
required
string
Request Body schema: application/json
required
password
string
full_name
string
groups
Array of strings
cert_refids
Array of strings
authorized_keys
string
ipsec_psk
string <byte>
privs
Array of strings
keep_cmd_history
boolean
expiration
integer
disabled
boolean

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "full_name": "string",
  • "groups": [
    ],
  • "cert_refids": [
    ],
  • "authorized_keys": "string",
  • "ipsec_psk": "string",
  • "privs": [
    ],
  • "keep_cmd_history": true,
  • "expiration": 0,
  • "disabled": true
}

Response samples

Content type
application/json
{
  • "users": [
    ]
}

Delete a user

path Parameters
username
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get Interfaces widget

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ]
}

Get Interface statistics widget

Responses

Response samples

Content type
application/json
{
  • "interfaces": {
    }
}

Get IPSec widget

Responses

Response samples

Content type
application/json
{
  • "phase1s_active": 0,
  • "phase1s_total": 0,
  • "phase2s_active": 0,
  • "phase2s_total": 0,
  • "total_active": 0,
  • "total_inactive": 0,
  • "mobile_users": 0,
  • "mobile_active": 0,
  • "mobile_total": 0,
  • "tunnels": [
    ],
  • "mobile": [
    ]
}

aliases

Firewall aliases

Get firewall aliases

Responses

Response samples

Content type
application/json
{
  • "aliases": [
    ],
  • "system_aliases": [
    ]
}

Create a new alias

Request Body schema: application/json
required
name
required
string
address
string

space separated list of addresses

Array of objects (FWTarget)
descr
string
type
string
Enum: "host" "network" "url" "urltable" "urltable_ports" "port" "url_ports"

host, network, url, urltable, urltable_ports, port, or url_ports

detail
string
updatefreq
string
truncated
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "targets": [
    ],
  • "descr": "string",
  • "type": "host",
  • "detail": "string",
  • "updatefreq": "string",
  • "truncated": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get a firewall alias

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "targets": [
    ],
  • "descr": "string",
  • "type": "host",
  • "detail": "string",
  • "updatefreq": "string",
  • "truncated": true
}

Update firewall alias

path Parameters
id
required
string
Request Body schema: application/json
required
name
required
string
address
string

space separated list of addresses

Array of objects (FWTarget)
descr
string
type
string
Enum: "host" "network" "url" "urltable" "urltable_ports" "port" "url_ports"

host, network, url, urltable, urltable_ports, port, or url_ports

detail
string
updatefreq
string
truncated
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "targets": [
    ],
  • "descr": "string",
  • "type": "host",
  • "detail": "string",
  • "updatefreq": "string",
  • "truncated": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete alias

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

interfaces

Network interfaces

Get network interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ]
}

Update All interfaces

Request Body schema: application/json
required
Array of objects (InterfaceSimple)

Responses

Request samples

Content type
application/json
{
  • "interfaces": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Add Interface

Request Body schema: application/json
required
name
string

alias to assigned name

if
string

alias to device_name

assigned_name
string

user assigned name, e.g. MYLAN

device_name
string

host device name, e.g. ix1

identity
string

unique identity of device, e.g. opt1

enable
boolean
blockbogons
boolean
pseudo
boolean
blockpriv
boolean
slaacusev4iface
boolean
descr
string
type
string
type6
string
mtu
integer
mss
integer
pcp
integer
promisc
boolean
ipaddr
string
member
string
media
string
mac
string
mediaopt
string
spoofmac
string
tag
integer
gateway
string
ipaddrv6
string
ipv6usev4iface
boolean
gatewayv6
string
alias_address
string
dhcphostname
string
dhcprejectfrom
string
dhcprejectfromarray
Array of strings
dhcpvlanenable
boolean
dhcp6usev4iface
boolean
dhcp6prefixonly
boolean
dhcp6_ia_pd_send_hint
boolean
dhcp6debug
boolean
dhcp6withoutra
boolean
dhcp6norelease
boolean
dhcpcvpt
string
dhcp6cvpt
string
prefix_6rd
string
gateway_6rd
string
dhcp6_ia_pd_len
string
prefix_6rd_v4plen
string
track6_interface
string
track6_prefix_id
string
adv_dhcp_config_advanced
boolean
adv_dhcp_config_file_override
boolean
adv_dhcp_pt_timeout
string
adv_dhcp_pt_retry
string
adv_dhcp_pt_select_timeout
string
adv_dhcp_pt_reboot
string
adv_dhcp_pt_backoff_cutoff
string
adv_dhcp_pt_initial_interval
string
adv_dhcp_pt_values
string
adv_dhcp_config_file_override_path
string
adv_dhcp_send_options
string
adv_dhcp_request_options
string
adv_dhcp_required_options
string
adv_dhcp_option_modifiers
string
adv_dhcp6_config_advanced
boolean
adv_dhcp6_config_file_override
boolean
adv_dhcp6_prefix_selected_interface
string
adv_dhcp6_config_file_override_path
string
adv_dhcp6_interface_statement_information_only_enable
boolean
adv_dhcp6_interface_statement_send_options
string
adv_dhcp6_interface_statement_request_options
string
adv_dhcp6_interface_statement_script
string
adv_dhcp6_id_assoc_statement_address_enable
boolean
adv_dhcp6_id_assoc_statement_address_id
string
adv_dhcp6_id_assoc_statement_address
string
adv_dhcp6_id_assoc_statement_address_pltime
string
adv_dhcp6_id_assoc_statement_address_vltime
string
adv_dhcp6_id_assoc_statement_prefix_enable
boolean
adv_dhcp6_id_assoc_statement_prefix_id
string
adv_dhcp6_id_assoc_statement_prefix
string
adv_dhcp6_id_assoc_statement_prefix_pltime
string
adv_dhcp6_id_assoc_statement_prefix_vltime
string
adv_dhcp6_prefix_interface_statement_sla_id
string
adv_dhcp6_prefix_interface_statement_sla_len
string
adv_dhcp6_authentication_statement_authname
string
adv_dhcp6_authentication_statement_protocol
string
adv_dhcp6_authentication_statement_algorithm
string
adv_dhcp6_authentication_statement_rdm
string
adv_dhcp6_key_info_statement_keyname
string
adv_dhcp6_key_info_statement_realm
string
adv_dhcp6_key_info_statement_keyid
string
adv_dhcp6_key_info_statement_secret
string
adv_dhcp6_key_info_statement_expire
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Response samples

Content type
application/json
{
  • "name": "string"
}

Get interface assigned names

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ]
}

Get Bridges

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "bridge_capable_ifs": [
    ]
}

Add bridge interface

Request Body schema: application/json
required
members
required
Array of strings
enablestp
boolean

enable RSTP/STP

descr
string

description

maxaddr
integer

cache size of the bridge address, default is 2000 entries

timeout
integer

cache expire time, default is 1200 seconds

maxage
integer

the time that a Spanning Tree Protocol configuration is valid default is 20 seconds, minimum is 6 seconds and maximum is 40 seconds

fwdelay
integer

the time that must pass before an interface begins forwarding packets when spanning tree is enabled default is 15 seconds, minimum is 4 seconds and maximum is 30 seconds

hellotime
integer

the time in seconds between broadcasting of STP configuration messages default is 2 seconds, minimum is 1 second and maximum is 2 seconds

priority
integer

the bridge priority for spanning tree default is 32768, minimum is 0 and maximum is 61440

proto
string

protocol used for spanning tree valid value = "rstp" or "stp"

holdcnt
integer

the transmit hold count for spanning tree default is 6, minimum is 1 and maximum is 10

ip6linklocal
boolean

enable IPv6 auto linklocal

object
object
static
Array of strings
private
Array of strings
stp
Array of strings
span
Array of strings
edge
Array of strings
autoedge
Array of strings
ptp
Array of strings
autoptp
Array of strings
bridgeif_device
string

generated by system when a Bridge is created

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "enablestp": true,
  • "descr": "string",
  • "maxaddr": 0,
  • "timeout": 0,
  • "maxage": 0,
  • "fwdelay": 0,
  • "hellotime": 0,
  • "priority": 0,
  • "proto": "string",
  • "holdcnt": 0,
  • "ip6linklocal": true,
  • "ifpriority": {
    },
  • "ifpathcost": {
    },
  • "static": [
    ],
  • "private": [
    ],
  • "stp": [
    ],
  • "span": [
    ],
  • "edge": [
    ],
  • "autoedge": [
    ],
  • "ptp": [
    ],
  • "autoptp": [
    ],
  • "bridgeif_device": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update bridge interface

path Parameters
name
required
string
Request Body schema: application/json
required
members
required
Array of strings
enablestp
boolean

enable RSTP/STP

descr
string

description

maxaddr
integer

cache size of the bridge address, default is 2000 entries

timeout
integer

cache expire time, default is 1200 seconds

maxage
integer

the time that a Spanning Tree Protocol configuration is valid default is 20 seconds, minimum is 6 seconds and maximum is 40 seconds

fwdelay
integer

the time that must pass before an interface begins forwarding packets when spanning tree is enabled default is 15 seconds, minimum is 4 seconds and maximum is 30 seconds

hellotime
integer

the time in seconds between broadcasting of STP configuration messages default is 2 seconds, minimum is 1 second and maximum is 2 seconds

priority
integer

the bridge priority for spanning tree default is 32768, minimum is 0 and maximum is 61440

proto
string

protocol used for spanning tree valid value = "rstp" or "stp"

holdcnt
integer

the transmit hold count for spanning tree default is 6, minimum is 1 and maximum is 10

ip6linklocal
boolean

enable IPv6 auto linklocal

object
object
static
Array of strings
private
Array of strings
stp
Array of strings
span
Array of strings
edge
Array of strings
autoedge
Array of strings
ptp
Array of strings
autoptp
Array of strings
bridgeif_device
string

generated by system when a Bridge is created

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "enablestp": true,
  • "descr": "string",
  • "maxaddr": 0,
  • "timeout": 0,
  • "maxage": 0,
  • "fwdelay": 0,
  • "hellotime": 0,
  • "priority": 0,
  • "proto": "string",
  • "holdcnt": 0,
  • "ip6linklocal": true,
  • "ifpriority": {
    },
  • "ifpathcost": {
    },
  • "static": [
    ],
  • "private": [
    ],
  • "stp": [
    ],
  • "span": [
    ],
  • "edge": [
    ],
  • "autoedge": [
    ],
  • "ptp": [
    ],
  • "autoptp": [
    ],
  • "bridgeif_device": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Remove bridge interface

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get all host interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ]
}

Get interface by its host interface name

Host interfaces are those defined by the operating system's drivers. It also includes pseudo interfaces, which are software created, such as TUN, TAP and bridges. This function gets the information of the {devname} specified.

path Parameters
devname
required
string

Responses

Response samples

Content type
application/json
{
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "descr": "string",
  • "enable": true,
  • "pseudo": true,
  • "addr_type": "string",
  • "addr6_type": "string",
  • "options": {
    },
  • "addr": {
    },
  • "dhcp": {
    },
  • "ipv6rd": {
    },
  • "ownership": {
    },
  • "device_config": {
    },
  • "info": {
    }
}

Assign or release interface owner

path Parameters
devname
required
string
Request Body schema: application/json
required
owner_type
string
Enum: "host" "vpp" "container" "vm"
owner_id
string

Responses

Request samples

Content type
application/json
{
  • "owner_type": "host",
  • "owner_id": "string"
}

Response samples

Content type
application/json
{
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "descr": "string",
  • "enable": true,
  • "pseudo": true,
  • "addr_type": "string",
  • "addr6_type": "string",
  • "options": {
    },
  • "addr": {
    },
  • "dhcp": {
    },
  • "ipv6rd": {
    },
  • "ownership": {
    },
  • "device_config": {
    },
  • "info": {
    }
}

Get a interface descriptors

Responses

Response samples

Content type
application/json
{
  • "descriptors": {
    }
}

Get GIF interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "gif_capable_ifs": [
    ]
}

Add GIF interface

Request Body schema: application/json
required
if_identity
required
string

identity name of the parent interface

tunnel_local_addr
string

local tunnel address

tunnel_remote_addr
string

remote tunnel address

tunnel_remote_net
integer

remote tunnel address subnet

remote_addr
string

address of the remote peer

descr
string

description

link1
boolean

explicit congestion notification (ecn) friendly behavior

link2
boolean

disable automatic filtering of the outer gif source

gifif
string

generated by system when create gif

Responses

Request samples

Content type
application/json
{
  • "if_identity": "string",
  • "tunnel_local_addr": "string",
  • "tunnel_remote_addr": "string",
  • "tunnel_remote_net": 0,
  • "remote_addr": "string",
  • "descr": "string",
  • "link1": true,
  • "link2": true,
  • "gifif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update GIF interface

path Parameters
name
required
string
Request Body schema: application/json
required
if_identity
required
string

identity name of the parent interface

tunnel_local_addr
string

local tunnel address

tunnel_remote_addr
string

remote tunnel address

tunnel_remote_net
integer

remote tunnel address subnet

remote_addr
string

address of the remote peer

descr
string

description

link1
boolean

explicit congestion notification (ecn) friendly behavior

link2
boolean

disable automatic filtering of the outer gif source

gifif
string

generated by system when create gif

Responses

Request samples

Content type
application/json
{
  • "if_identity": "string",
  • "tunnel_local_addr": "string",
  • "tunnel_remote_addr": "string",
  • "tunnel_remote_net": 0,
  • "remote_addr": "string",
  • "descr": "string",
  • "link1": true,
  • "link2": true,
  • "gifif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete GIF interface

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "gre_capable_ifs": [
    ]
}

Adding GRE interface

Request Body schema: application/json
required
if_identity
required
string

identity name of the parent interface

tunnel_local_addr
string

local ipv4 tunnel address

tunnel_remote_addr
string

remote ipv4 tunnel address

tunnel_local_addr6
string

local ipv6 tunnel address

tunnel_remote_addr6
string

remote ipv6 tunnel address

tunnel_remote_net
integer

remote ipv4 tunnel address subnet

tunnel_remote_net6
integer

remote ipv6 tunnel address subnet

remote_addr
string

address of the remote peer

descr
string

description

link1
boolean

add an explicit static route for the remote inner tunnel

greif
string

generated by system when create gre

Responses

Request samples

Content type
application/json
{
  • "if_identity": "string",
  • "tunnel_local_addr": "string",
  • "tunnel_remote_addr": "string",
  • "tunnel_local_addr6": "string",
  • "tunnel_remote_addr6": "string",
  • "tunnel_remote_net": 0,
  • "tunnel_remote_net6": 0,
  • "remote_addr": "string",
  • "descr": "string",
  • "link1": true,
  • "greif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update GRE interface

path Parameters
name
required
string
Request Body schema: application/json
required
if_identity
required
string

identity name of the parent interface

tunnel_local_addr
string

local ipv4 tunnel address

tunnel_remote_addr
string

remote ipv4 tunnel address

tunnel_local_addr6
string

local ipv6 tunnel address

tunnel_remote_addr6
string

remote ipv6 tunnel address

tunnel_remote_net
integer

remote ipv4 tunnel address subnet

tunnel_remote_net6
integer

remote ipv6 tunnel address subnet

remote_addr
string

address of the remote peer

descr
string

description

link1
boolean

add an explicit static route for the remote inner tunnel

greif
string

generated by system when create gre

Responses

Request samples

Content type
application/json
{
  • "if_identity": "string",
  • "tunnel_local_addr": "string",
  • "tunnel_remote_addr": "string",
  • "tunnel_local_addr6": "string",
  • "tunnel_remote_addr6": "string",
  • "tunnel_remote_net": 0,
  • "tunnel_remote_net6": 0,
  • "remote_addr": "string",
  • "descr": "string",
  • "link1": true,
  • "greif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete GRE interface

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get interface groups

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "groups_capable_ifs": [
    ]
}

Add interface group

Request Body schema: application/json
required
members
Array of strings
descr
string
ifname
string

interface group name

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "descr": "string",
  • "ifname": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete interface group

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Set interface group

path Parameters
name
required
string
Request Body schema: application/json
required
members
Array of strings
descr
string
ifname
string

interface group name

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "descr": "string",
  • "ifname": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "lagg_capable_ifs": {
    }
}

Add LAGG interface

Request Body schema: application/json
required
members
required
Array of strings
descr
string

description

laggif_device
string

generated by system when create lagg

proto
string
Enum: "none" "lacp" "failover" "loadbalance" "roundrobin"

lagg protocol valid value = none, lacp, failover, loadbalance, roundrobin

failovermaster
string

(for proto=failover only) failover master interface

lacptimeout
string
Enum: "slow" "fast"

(for proto=lacp only) LACP Timeout Mode valid value = slow, fast

lagghash
string

(for proto=lacp or loadbalance) hash algorithms for the packet layers valid value = "l2,l3,l4", "l2", "l3", "l4", "l2,l3", "l3,l4", "l2,l4"

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "descr": "string",
  • "laggif_device": "string",
  • "proto": "none",
  • "failovermaster": "string",
  • "lacptimeout": "slow",
  • "lagghash": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update LAGG interface

path Parameters
name
required
string
Request Body schema: application/json
required
members
required
Array of strings
descr
string

description

laggif_device
string

generated by system when create lagg

proto
string
Enum: "none" "lacp" "failover" "loadbalance" "roundrobin"

lagg protocol valid value = none, lacp, failover, loadbalance, roundrobin

failovermaster
string

(for proto=failover only) failover master interface

lacptimeout
string
Enum: "slow" "fast"

(for proto=lacp only) LACP Timeout Mode valid value = slow, fast

lagghash
string

(for proto=lacp or loadbalance) hash algorithms for the packet layers valid value = "l2,l3,l4", "l2", "l3", "l4", "l2,l3", "l3,l4", "l2,l4"

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "descr": "string",
  • "laggif_device": "string",
  • "proto": "none",
  • "failovermaster": "string",
  • "lacptimeout": "slow",
  • "lagghash": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete LAGG interface

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get LAN interface

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Update LAN interface

Request Body schema: application/json
required
name
string

alias to assigned name

if
string

alias to device_name

assigned_name
string

user assigned name, e.g. MYLAN

device_name
string

host device name, e.g. ix1

identity
string

unique identity of device, e.g. opt1

enable
boolean
blockbogons
boolean
pseudo
boolean
blockpriv
boolean
slaacusev4iface
boolean
descr
string
type
string
type6
string
mtu
integer
mss
integer
pcp
integer
promisc
boolean
ipaddr
string
member
string
media
string
mac
string
mediaopt
string
spoofmac
string
tag
integer
gateway
string
ipaddrv6
string
ipv6usev4iface
boolean
gatewayv6
string
alias_address
string
dhcphostname
string
dhcprejectfrom
string
dhcprejectfromarray
Array of strings
dhcpvlanenable
boolean
dhcp6usev4iface
boolean
dhcp6prefixonly
boolean
dhcp6_ia_pd_send_hint
boolean
dhcp6debug
boolean
dhcp6withoutra
boolean
dhcp6norelease
boolean
dhcpcvpt
string
dhcp6cvpt
string
prefix_6rd
string
gateway_6rd
string
dhcp6_ia_pd_len
string
prefix_6rd_v4plen
string
track6_interface
string
track6_prefix_id
string
adv_dhcp_config_advanced
boolean
adv_dhcp_config_file_override
boolean
adv_dhcp_pt_timeout
string
adv_dhcp_pt_retry
string
adv_dhcp_pt_select_timeout
string
adv_dhcp_pt_reboot
string
adv_dhcp_pt_backoff_cutoff
string
adv_dhcp_pt_initial_interval
string
adv_dhcp_pt_values
string
adv_dhcp_config_file_override_path
string
adv_dhcp_send_options
string
adv_dhcp_request_options
string
adv_dhcp_required_options
string
adv_dhcp_option_modifiers
string
adv_dhcp6_config_advanced
boolean
adv_dhcp6_config_file_override
boolean
adv_dhcp6_prefix_selected_interface
string
adv_dhcp6_config_file_override_path
string
adv_dhcp6_interface_statement_information_only_enable
boolean
adv_dhcp6_interface_statement_send_options
string
adv_dhcp6_interface_statement_request_options
string
adv_dhcp6_interface_statement_script
string
adv_dhcp6_id_assoc_statement_address_enable
boolean
adv_dhcp6_id_assoc_statement_address_id
string
adv_dhcp6_id_assoc_statement_address
string
adv_dhcp6_id_assoc_statement_address_pltime
string
adv_dhcp6_id_assoc_statement_address_vltime
string
adv_dhcp6_id_assoc_statement_prefix_enable
boolean
adv_dhcp6_id_assoc_statement_prefix_id
string
adv_dhcp6_id_assoc_statement_prefix
string
adv_dhcp6_id_assoc_statement_prefix_pltime
string
adv_dhcp6_id_assoc_statement_prefix_vltime
string
adv_dhcp6_prefix_interface_statement_sla_id
string
adv_dhcp6_prefix_interface_statement_sla_len
string
adv_dhcp6_authentication_statement_authname
string
adv_dhcp6_authentication_statement_protocol
string
adv_dhcp6_authentication_statement_algorithm
string
adv_dhcp6_authentication_statement_rdm
string
adv_dhcp6_key_info_statement_keyname
string
adv_dhcp6_key_info_statement_realm
string
adv_dhcp6_key_info_statement_keyid
string
adv_dhcp6_key_info_statement_secret
string
adv_dhcp6_key_info_statement_expire
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get interface ports.

Get interface ports as a map of port-type (e.g. wans, gres) to a list of its corresponding datastructure.

Responses

Response samples

Content type
application/json
{
  • "ports": {
    },
  • "modems": [
    ]
}

Get interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "ppp_capable_ifs": {
    }
}

Add PPP interface

Request Body schema: application/json
required
ptpid
string

generated by system when a PPP is created

if_device
string

generated by system when a PPP is created

type
string
Enum: "ppp" "pppoe" "pptp" "l2tp"

link type valid value = ppp, pppoe, pptp, l2tp

Array of objects (PPPLinkInterface)
descr
string

description

username
string
password
string

GET request will return ******** to protect previously entered password POST and PUT request need to send password encoded in base64

phone
string

(type ppp only) phone number to ISP

apn
string

(type ppp only) access point name

apnum
string

(type ppp only) apn number, default to 1 if apn is set

simpin
string

(type ppp only) security code on the SIM

pin_wait
string

(type ppp only) seconds to wait for the SIM to discover network after the PIN is sent

initstr
string

(type ppp only and base64 encoded) modem initialization string, if necessary

connect_timeout
string

(type ppp only) time to wait for a connection attempt to succeed

uptime
boolean

(type ppp only) tracks the uptime for the connection

country
string

(type ppp only) country in which the modem resides

providerplan
string

(type ppp only) type of cellular service this modem uses from provider

provider
string

(for type ppp) cellular service provider for the modem (for type pppoe) service name of the ISP, leave blank for most ISPs

null_service
boolean

(type pppoe only) some ISPs require to send a NULL value instead of a blank service name

pppoe_reset_type
string
Enum: "custom" "preset"

(type pppoe only) configures a preset time to reset the connection valid value = custom, preset

pppoe_pr_preset_val
string
Enum: "monthly" "weekly" "daily" "hourly"

(type pppoe only and pppoe_pr_preset_val = "preset") connection reset frequency valid value = monthly, weekly, daily, hourly

pppoe_resethour
string

(type pppoe only and pppoe_pr_preset_val = "custom") hour of the reset date/time

pppoe_resetminute
string

(type pppoe only and pppoe_pr_preset_val = "custom") minute of the reset date/time

pppoe_resetdate
string

(type pppoe only and pppoe_pr_preset_val = "custom") date of the reset date/time

pppoe_multilink_over_singlelink
boolean

(type pppoe only) use LCP multi-link extensions over a single link

pppoe_mtu_override
boolean

(type pppoe only) overrides the MTU negotiated with the ISP

l2tp_secret
string

(type l2tp only and base64 encoded) l2tp tunnel shared secret, optional

ondemand
boolean

dial On demand mode

idletimeout
integer

number of idle seconds to disconnect the connection

vjcomp
boolean

disable Van Jacobson TCP header compression, auto-negotiated by default

tcpmssfix
boolean

disable TCP maximum segment size fix, enabled by default

shortseq
boolean

for multi-link PPP, disable shorter multi-link fragment headers, auto-negotiated by default

acfcomp
boolean

disable address and control field compression, auto-negotiated by default

protocomp
boolean

disable protocol field compression, auto-negotiated by default

Responses

Request samples

Content type
application/json
{
  • "ptpid": "string",
  • "if_device": "string",
  • "type": "ppp",
  • "link_interfaces": [
    ],
  • "descr": "string",
  • "username": "string",
  • "password": "string",
  • "phone": "string",
  • "apn": "string",
  • "apnum": "string",
  • "simpin": "string",
  • "pin_wait": "string",
  • "initstr": "string",
  • "connect_timeout": "string",
  • "uptime": true,
  • "country": "string",
  • "providerplan": "string",
  • "provider": "string",
  • "null_service": true,
  • "pppoe_reset_type": "custom",
  • "pppoe_pr_preset_val": "monthly",
  • "pppoe_resethour": "string",
  • "pppoe_resetminute": "string",
  • "pppoe_resetdate": "string",
  • "pppoe_multilink_over_singlelink": true,
  • "pppoe_mtu_override": true,
  • "l2tp_secret": "string",
  • "ondemand": true,
  • "idletimeout": 0,
  • "vjcomp": true,
  • "tcpmssfix": true,
  • "shortseq": true,
  • "acfcomp": true,
  • "protocomp": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update PPP interface

path Parameters
name
required
string
Request Body schema: application/json
required
ptpid
string

generated by system when a PPP is created

if_device
string

generated by system when a PPP is created

type
string
Enum: "ppp" "pppoe" "pptp" "l2tp"

link type valid value = ppp, pppoe, pptp, l2tp

Array of objects (PPPLinkInterface)
descr
string

description

username
string
password
string

GET request will return ******** to protect previously entered password POST and PUT request need to send password encoded in base64

phone
string

(type ppp only) phone number to ISP

apn
string

(type ppp only) access point name

apnum
string

(type ppp only) apn number, default to 1 if apn is set

simpin
string

(type ppp only) security code on the SIM

pin_wait
string

(type ppp only) seconds to wait for the SIM to discover network after the PIN is sent

initstr
string

(type ppp only and base64 encoded) modem initialization string, if necessary

connect_timeout
string

(type ppp only) time to wait for a connection attempt to succeed

uptime
boolean

(type ppp only) tracks the uptime for the connection

country
string

(type ppp only) country in which the modem resides

providerplan
string

(type ppp only) type of cellular service this modem uses from provider

provider
string

(for type ppp) cellular service provider for the modem (for type pppoe) service name of the ISP, leave blank for most ISPs

null_service
boolean

(type pppoe only) some ISPs require to send a NULL value instead of a blank service name

pppoe_reset_type
string
Enum: "custom" "preset"

(type pppoe only) configures a preset time to reset the connection valid value = custom, preset

pppoe_pr_preset_val
string
Enum: "monthly" "weekly" "daily" "hourly"

(type pppoe only and pppoe_pr_preset_val = "preset") connection reset frequency valid value = monthly, weekly, daily, hourly

pppoe_resethour
string

(type pppoe only and pppoe_pr_preset_val = "custom") hour of the reset date/time

pppoe_resetminute
string

(type pppoe only and pppoe_pr_preset_val = "custom") minute of the reset date/time

pppoe_resetdate
string

(type pppoe only and pppoe_pr_preset_val = "custom") date of the reset date/time

pppoe_multilink_over_singlelink
boolean

(type pppoe only) use LCP multi-link extensions over a single link

pppoe_mtu_override
boolean

(type pppoe only) overrides the MTU negotiated with the ISP

l2tp_secret
string

(type l2tp only and base64 encoded) l2tp tunnel shared secret, optional

ondemand
boolean

dial On demand mode

idletimeout
integer

number of idle seconds to disconnect the connection

vjcomp
boolean

disable Van Jacobson TCP header compression, auto-negotiated by default

tcpmssfix
boolean

disable TCP maximum segment size fix, enabled by default

shortseq
boolean

for multi-link PPP, disable shorter multi-link fragment headers, auto-negotiated by default

acfcomp
boolean

disable address and control field compression, auto-negotiated by default

protocomp
boolean

disable protocol field compression, auto-negotiated by default

Responses

Request samples

Content type
application/json
{
  • "ptpid": "string",
  • "if_device": "string",
  • "type": "ppp",
  • "link_interfaces": [
    ],
  • "descr": "string",
  • "username": "string",
  • "password": "string",
  • "phone": "string",
  • "apn": "string",
  • "apnum": "string",
  • "simpin": "string",
  • "pin_wait": "string",
  • "initstr": "string",
  • "connect_timeout": "string",
  • "uptime": true,
  • "country": "string",
  • "providerplan": "string",
  • "provider": "string",
  • "null_service": true,
  • "pppoe_reset_type": "custom",
  • "pppoe_pr_preset_val": "monthly",
  • "pppoe_resethour": "string",
  • "pppoe_resetminute": "string",
  • "pppoe_resetdate": "string",
  • "pppoe_multilink_over_singlelink": true,
  • "pppoe_mtu_override": true,
  • "l2tp_secret": "string",
  • "ondemand": true,
  • "idletimeout": 0,
  • "vjcomp": true,
  • "tcpmssfix": true,
  • "shortseq": true,
  • "acfcomp": true,
  • "protocomp": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete PPP interface

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get QinQs

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "vlan_capable_ifs": [
    ]
}

Add QinQ

Request Body schema: application/json
required
if_device
required
string

parent interface

tag
required
integer [ 1 .. 4094 ]

first level VLAN tag

autogroup
boolean

adds interface to QinQ interface groups

members
Array of strings
descr
string

description

vlanif
string

generated by system when a QinQ is created

Responses

Request samples

Content type
application/json
{
  • "if_device": "string",
  • "tag": 1,
  • "autogroup": true,
  • "members": [
    ],
  • "descr": "string",
  • "vlanif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update QinQ

path Parameters
name
required
string
Request Body schema: application/json
required
if_device
required
string

parent interface

tag
required
integer [ 1 .. 4094 ]

first level VLAN tag

autogroup
boolean

adds interface to QinQ interface groups

members
Array of strings
descr
string

description

vlanif
string

generated by system when a QinQ is created

Responses

Request samples

Content type
application/json
{
  • "if_device": "string",
  • "tag": 1,
  • "autogroup": true,
  • "members": [
    ],
  • "descr": "string",
  • "vlanif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete QinQ

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get VLANs

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "vlan_capable_ifs": [
    ]
}

Add VLAN interface

Request Body schema: application/json
required
if_device
required
string

parent interface of the VLAN

tag
integer [ 1 .. 4094 ]

802.1Q VLAN tag (between 1 and 4094)

pcp
integer [ 0 .. 7 ]

802.1Q VLAN Priority (between 0 and 7)

descr
string

description

vlanif
string

generated by system when a VLAN is created

Responses

Request samples

Content type
application/json
{
  • "if_device": "string",
  • "tag": 1,
  • "pcp": 7,
  • "descr": "string",
  • "vlanif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update VLAN interface

path Parameters
name
required
string
Request Body schema: application/json
required
if_device
required
string

parent interface of the VLAN

tag
integer [ 1 .. 4094 ]

802.1Q VLAN tag (between 1 and 4094)

pcp
integer [ 0 .. 7 ]

802.1Q VLAN Priority (between 0 and 7)

descr
string

description

vlanif
string

generated by system when a VLAN is created

Responses

Request samples

Content type
application/json
{
  • "if_device": "string",
  • "tag": 1,
  • "pcp": 7,
  • "descr": "string",
  • "vlanif": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete VLAN interface

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get WAN interface

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Update WAN interface

Request Body schema: application/json
required
name
string

alias to assigned name

if
string

alias to device_name

assigned_name
string

user assigned name, e.g. MYLAN

device_name
string

host device name, e.g. ix1

identity
string

unique identity of device, e.g. opt1

enable
boolean
blockbogons
boolean
pseudo
boolean
blockpriv
boolean
slaacusev4iface
boolean
descr
string
type
string
type6
string
mtu
integer
mss
integer
pcp
integer
promisc
boolean
ipaddr
string
member
string
media
string
mac
string
mediaopt
string
spoofmac
string
tag
integer
gateway
string
ipaddrv6
string
ipv6usev4iface
boolean
gatewayv6
string
alias_address
string
dhcphostname
string
dhcprejectfrom
string
dhcprejectfromarray
Array of strings
dhcpvlanenable
boolean
dhcp6usev4iface
boolean
dhcp6prefixonly
boolean
dhcp6_ia_pd_send_hint
boolean
dhcp6debug
boolean
dhcp6withoutra
boolean
dhcp6norelease
boolean
dhcpcvpt
string
dhcp6cvpt
string
prefix_6rd
string
gateway_6rd
string
dhcp6_ia_pd_len
string
prefix_6rd_v4plen
string
track6_interface
string
track6_prefix_id
string
adv_dhcp_config_advanced
boolean
adv_dhcp_config_file_override
boolean
adv_dhcp_pt_timeout
string
adv_dhcp_pt_retry
string
adv_dhcp_pt_select_timeout
string
adv_dhcp_pt_reboot
string
adv_dhcp_pt_backoff_cutoff
string
adv_dhcp_pt_initial_interval
string
adv_dhcp_pt_values
string
adv_dhcp_config_file_override_path
string
adv_dhcp_send_options
string
adv_dhcp_request_options
string
adv_dhcp_required_options
string
adv_dhcp_option_modifiers
string
adv_dhcp6_config_advanced
boolean
adv_dhcp6_config_file_override
boolean
adv_dhcp6_prefix_selected_interface
string
adv_dhcp6_config_file_override_path
string
adv_dhcp6_interface_statement_information_only_enable
boolean
adv_dhcp6_interface_statement_send_options
string
adv_dhcp6_interface_statement_request_options
string
adv_dhcp6_interface_statement_script
string
adv_dhcp6_id_assoc_statement_address_enable
boolean
adv_dhcp6_id_assoc_statement_address_id
string
adv_dhcp6_id_assoc_statement_address
string
adv_dhcp6_id_assoc_statement_address_pltime
string
adv_dhcp6_id_assoc_statement_address_vltime
string
adv_dhcp6_id_assoc_statement_prefix_enable
boolean
adv_dhcp6_id_assoc_statement_prefix_id
string
adv_dhcp6_id_assoc_statement_prefix
string
adv_dhcp6_id_assoc_statement_prefix_pltime
string
adv_dhcp6_id_assoc_statement_prefix_vltime
string
adv_dhcp6_prefix_interface_statement_sla_id
string
adv_dhcp6_prefix_interface_statement_sla_len
string
adv_dhcp6_authentication_statement_authname
string
adv_dhcp6_authentication_statement_protocol
string
adv_dhcp6_authentication_statement_algorithm
string
adv_dhcp6_authentication_statement_rdm
string
adv_dhcp6_key_info_statement_keyname
string
adv_dhcp6_key_info_statement_realm
string
adv_dhcp6_key_info_statement_keyid
string
adv_dhcp6_key_info_statement_secret
string
adv_dhcp6_key_info_statement_expire
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Wireless interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "interfacesClone": [
    ]
}

Add Wireless Interface

Request Body schema: application/json
required
mode
string
standard
string
protmode
string
ssid
string
channel
string
authmode
string
txpower
string
distance
string
regdomain
string
regcountry
string
reglocation
string
object (WPASetting)
auth_server_addr
string
auth_server_port
string
auth_server_shared_secret
string
auth_server_addr2
string
auth_server_port2
string
auth_server_shared_secret2
string
object (WMESetting)
channel_width
string

Responses

Request samples

Content type
application/json
{
  • "mode": "string",
  • "standard": "string",
  • "protmode": "string",
  • "ssid": "string",
  • "channel": "string",
  • "authmode": "string",
  • "txpower": "string",
  • "distance": "string",
  • "regdomain": "string",
  • "regcountry": "string",
  • "reglocation": "string",
  • "wpa": {
    },
  • "auth_server_addr": "string",
  • "auth_server_port": "string",
  • "auth_server_shared_secret": "string",
  • "auth_server_addr2": "string",
  • "auth_server_port2": "string",
  • "auth_server_shared_secret2": "string",
  • "wme": {
    },
  • "channel_width": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Set Wireless interfaces

path Parameters
id
required
string
Request Body schema: application/json
required
mode
string
standard
string
protmode
string
ssid
string
channel
string
authmode
string
txpower
string
distance
string
regdomain
string
regcountry
string
reglocation
string
object (WPASetting)
auth_server_addr
string
auth_server_port
string
auth_server_shared_secret
string
auth_server_addr2
string
auth_server_port2
string
auth_server_shared_secret2
string
object (WMESetting)
channel_width
string

Responses

Request samples

Content type
application/json
{
  • "mode": "string",
  • "standard": "string",
  • "protmode": "string",
  • "ssid": "string",
  • "channel": "string",
  • "authmode": "string",
  • "txpower": "string",
  • "distance": "string",
  • "regdomain": "string",
  • "regcountry": "string",
  • "reglocation": "string",
  • "wpa": {
    },
  • "auth_server_addr": "string",
  • "auth_server_port": "string",
  • "auth_server_shared_secret": "string",
  • "auth_server_addr2": "string",
  • "auth_server_port2": "string",
  • "auth_server_shared_secret2": "string",
  • "wme": {
    },
  • "channel_width": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete Wireless interface

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get interface by its identity name

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Delete an interface by its identity name

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update an interface by its identity name

path Parameters
name
required
string
Request Body schema: application/json
required
name
string

alias to assigned name

if
string

alias to device_name

assigned_name
string

user assigned name, e.g. MYLAN

device_name
string

host device name, e.g. ix1

identity
string

unique identity of device, e.g. opt1

enable
boolean
blockbogons
boolean
pseudo
boolean
blockpriv
boolean
slaacusev4iface
boolean
descr
string
type
string
type6
string
mtu
integer
mss
integer
pcp
integer
promisc
boolean
ipaddr
string
member
string
media
string
mac
string
mediaopt
string
spoofmac
string
tag
integer
gateway
string
ipaddrv6
string
ipv6usev4iface
boolean
gatewayv6
string
alias_address
string
dhcphostname
string
dhcprejectfrom
string
dhcprejectfromarray
Array of strings
dhcpvlanenable
boolean
dhcp6usev4iface
boolean
dhcp6prefixonly
boolean
dhcp6_ia_pd_send_hint
boolean
dhcp6debug
boolean
dhcp6withoutra
boolean
dhcp6norelease
boolean
dhcpcvpt
string
dhcp6cvpt
string
prefix_6rd
string
gateway_6rd
string
dhcp6_ia_pd_len
string
prefix_6rd_v4plen
string
track6_interface
string
track6_prefix_id
string
adv_dhcp_config_advanced
boolean
adv_dhcp_config_file_override
boolean
adv_dhcp_pt_timeout
string
adv_dhcp_pt_retry
string
adv_dhcp_pt_select_timeout
string
adv_dhcp_pt_reboot
string
adv_dhcp_pt_backoff_cutoff
string
adv_dhcp_pt_initial_interval
string
adv_dhcp_pt_values
string
adv_dhcp_config_file_override_path
string
adv_dhcp_send_options
string
adv_dhcp_request_options
string
adv_dhcp_required_options
string
adv_dhcp_option_modifiers
string
adv_dhcp6_config_advanced
boolean
adv_dhcp6_config_file_override
boolean
adv_dhcp6_prefix_selected_interface
string
adv_dhcp6_config_file_override_path
string
adv_dhcp6_interface_statement_information_only_enable
boolean
adv_dhcp6_interface_statement_send_options
string
adv_dhcp6_interface_statement_request_options
string
adv_dhcp6_interface_statement_script
string
adv_dhcp6_id_assoc_statement_address_enable
boolean
adv_dhcp6_id_assoc_statement_address_id
string
adv_dhcp6_id_assoc_statement_address
string
adv_dhcp6_id_assoc_statement_address_pltime
string
adv_dhcp6_id_assoc_statement_address_vltime
string
adv_dhcp6_id_assoc_statement_prefix_enable
boolean
adv_dhcp6_id_assoc_statement_prefix_id
string
adv_dhcp6_id_assoc_statement_prefix
string
adv_dhcp6_id_assoc_statement_prefix_pltime
string
adv_dhcp6_id_assoc_statement_prefix_vltime
string
adv_dhcp6_prefix_interface_statement_sla_id
string
adv_dhcp6_prefix_interface_statement_sla_len
string
adv_dhcp6_authentication_statement_authname
string
adv_dhcp6_authentication_statement_protocol
string
adv_dhcp6_authentication_statement_algorithm
string
adv_dhcp6_authentication_statement_rdm
string
adv_dhcp6_key_info_statement_keyname
string
adv_dhcp6_key_info_statement_realm
string
adv_dhcp6_key_info_statement_keyid
string
adv_dhcp6_key_info_statement_secret
string
adv_dhcp6_key_info_statement_expire
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "if": "string",
  • "assigned_name": "string",
  • "device_name": "string",
  • "identity": "string",
  • "enable": true,
  • "blockbogons": true,
  • "pseudo": true,
  • "blockpriv": true,
  • "slaacusev4iface": true,
  • "descr": "string",
  • "type": "string",
  • "type6": "string",
  • "mtu": 0,
  • "mss": 0,
  • "pcp": 0,
  • "promisc": true,
  • "ipaddr": "string",
  • "member": "string",
  • "media": "string",
  • "mac": "string",
  • "mediaopt": "string",
  • "spoofmac": "string",
  • "tag": 0,
  • "gateway": "string",
  • "ipaddrv6": "string",
  • "ipv6usev4iface": true,
  • "gatewayv6": "string",
  • "alias_address": "string",
  • "dhcphostname": "string",
  • "dhcprejectfrom": "string",
  • "dhcprejectfromarray": [
    ],
  • "dhcpvlanenable": true,
  • "dhcp6usev4iface": true,
  • "dhcp6prefixonly": true,
  • "dhcp6_ia_pd_send_hint": true,
  • "dhcp6debug": true,
  • "dhcp6withoutra": true,
  • "dhcp6norelease": true,
  • "dhcpcvpt": "string",
  • "dhcp6cvpt": "string",
  • "prefix_6rd": "string",
  • "gateway_6rd": "string",
  • "dhcp6_ia_pd_len": "string",
  • "prefix_6rd_v4plen": "string",
  • "track6_interface": "string",
  • "track6_prefix_id": "string",
  • "adv_dhcp_config_advanced": true,
  • "adv_dhcp_config_file_override": true,
  • "adv_dhcp_pt_timeout": "string",
  • "adv_dhcp_pt_retry": "string",
  • "adv_dhcp_pt_select_timeout": "string",
  • "adv_dhcp_pt_reboot": "string",
  • "adv_dhcp_pt_backoff_cutoff": "string",
  • "adv_dhcp_pt_initial_interval": "string",
  • "adv_dhcp_pt_values": "string",
  • "adv_dhcp_config_file_override_path": "string",
  • "adv_dhcp_send_options": "string",
  • "adv_dhcp_request_options": "string",
  • "adv_dhcp_required_options": "string",
  • "adv_dhcp_option_modifiers": "string",
  • "adv_dhcp6_config_advanced": true,
  • "adv_dhcp6_config_file_override": true,
  • "adv_dhcp6_prefix_selected_interface": "string",
  • "adv_dhcp6_config_file_override_path": "string",
  • "adv_dhcp6_interface_statement_information_only_enable": true,
  • "adv_dhcp6_interface_statement_send_options": "string",
  • "adv_dhcp6_interface_statement_request_options": "string",
  • "adv_dhcp6_interface_statement_script": "string",
  • "adv_dhcp6_id_assoc_statement_address_enable": true,
  • "adv_dhcp6_id_assoc_statement_address_id": "string",
  • "adv_dhcp6_id_assoc_statement_address": "string",
  • "adv_dhcp6_id_assoc_statement_address_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_address_vltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_enable": true,
  • "adv_dhcp6_id_assoc_statement_prefix_id": "string",
  • "adv_dhcp6_id_assoc_statement_prefix": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_pltime": "string",
  • "adv_dhcp6_id_assoc_statement_prefix_vltime": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_id": "string",
  • "adv_dhcp6_prefix_interface_statement_sla_len": "string",
  • "adv_dhcp6_authentication_statement_authname": "string",
  • "adv_dhcp6_authentication_statement_protocol": "string",
  • "adv_dhcp6_authentication_statement_algorithm": "string",
  • "adv_dhcp6_authentication_statement_rdm": "string",
  • "adv_dhcp6_key_info_statement_keyname": "string",
  • "adv_dhcp6_key_info_statement_realm": "string",
  • "adv_dhcp6_key_info_statement_keyid": "string",
  • "adv_dhcp6_key_info_statement_secret": "string",
  • "adv_dhcp6_key_info_statement_expire": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update an interface's gateway(s)

Update an interface's gateway(s). A gateway value which is not provided will not be modified. A gateway with an empty string is set to None. Otherwise, the gateway should already exist and the interface is updated with that value.

path Parameters
name
required
string
Request Body schema: application/json
required
gateway
string

name of IPv4 gateway

gatewayv6
string

name of IPv6 gateway

Responses

Request samples

Content type
application/json
{
  • "gateway": "string",
  • "gatewayv6": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

diag

Get system activity based on "top" output

Responses

Response samples

Content type
application/json
{
  • "activity": "string"
}

Get ARP table

Responses

Response samples

Content type
application/json
{
  • "arp": [
    ]
}

Delete ARP table

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete ARP entry

path Parameters
ip
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get list of authentication servers

Responses

Response samples

Content type
application/json
{
  • "servers": [
    ],
  • "authtype": "string"
}

Perform auth test

Request Body schema: application/json
required
authserver
string
username
string <byte>
password
string <byte>
debug
boolean

Responses

Request samples

Content type
application/json
{
  • "authserver": "string",
  • "username": "string",
  • "password": "string",
  • "debug": true
}

Response samples

Content type
application/json
{
  • "authtype": "string",
  • "groups": [
    ],
  • "authenticated": true
}

Get a backup of the config as file

Request Body schema: application/json
required
area
string
nopkg
boolean
norrd
boolean
enc
boolean

file is encrypted

pwd
string

password to decrypt file

filename
string
contents
string
reboot
boolean

reboot system on applying

Responses

Request samples

Content type
application/json
{
  • "area": "string",
  • "nopkg": true,
  • "norrd": true,
  • "enc": true,
  • "pwd": "string",
  • "filename": "string",
  • "contents": "string",
  • "reboot": true
}

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Get a diff of two backups

query Parameters
t1
integer
t2
integer

Responses

Response samples

Content type
application/json
{
  • "diff": "string"
}

Clear the package lock if a package fails to reinstall properly after an upgrade.

The package manager could fail during the upgrade or restore process, leaving the system with a package-lock dirty state, and prevents other package functions from being usable. Use this function to clear out the lock so that it can be retried.

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get a list of previous backup

Responses

Response samples

Content type
application/json
{
  • "backups": [
    ]
}

Get a prior backup

path Parameters
time
required
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Restore a backup of the config from file

Request Body schema: multipart/form-data
required
object (DiagBackupRequest)
config
string <binary>

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Restore from prior backup

Request Body schema: application/json
required
time
integer

Responses

Request samples

Content type
application/json
{
  • "time": 0
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete a backup of the config

path Parameters
time
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Download a file

query Parameters
filename
string

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Run PHP code

Request Body schema: application/json
required
cmd
string <byte>

Responses

Request samples

Content type
application/json
{
  • "cmd": "string"
}

Response samples

Content type
application/json
{
  • "response": "string"
}

Run a shell command and returns its output

Request Body schema: application/json
required
cmd
string <byte>
timeout
integer

number of seconds to wait for command before timing out, default 90, max 300

Responses

Request samples

Content type
application/json
{
  • "cmd": "string",
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "response": "string"
}

Upload a file to a specified location

Request Body schema: application/json
required
filename
string
contents
string <byte>

Responses

Request samples

Content type
application/json
{
  • "filename": "string",
  • "contents": "string"
}

Response samples

Content type
application/json
{
  • "result": "string",
  • "location": "string"
}

List open console clients, including remote SSH logins.

Responses

Response samples

Content type
application/json
{
  • "clients": [
    ]
}

Execute system control, such as rebooting

Request Body schema: application/json
required
action
string

Responses

Request samples

Content type
application/json
{
  • "action": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Lookup DNS entry for the given host

query Parameters
host
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "timings": [
    ]
}

Create a DNS alias

Request Body schema: application/json
required
aliasname
string
address
string

Responses

Request samples

Content type
application/json
{
  • "aliasname": "string",
  • "address": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get file contents for editing

query Parameters
fname
string

Responses

Response samples

Content type
application/json
{
  • "fname": "string",
  • "contents": "string"
}

Save edited file

Request Body schema: application/json
required
fname
string <byte>
fcontents
string <byte>

Responses

Request samples

Content type
application/json
{
  • "fname": "string",
  • "fcontents": "string"
}

Response samples

Content type
application/json
{
  • "fname": "string",
  • "contents": "string"
}

Return limiter information

Responses

Response samples

Content type
application/json
{
  • "limiters": {
    }
}

Retrieve the latest parsed capture

query Parameters
viewtype
string

interpret captured traffic as specified type: default, aodv, carp, cnfp, lmp, pgm, pgm_zmtp1, resp, radius, rpc, rtp, rtcp snmp, tftp, vat, wb, vxlan, zmtp1

detail
string

level of detail - normal, medium, high, full

Responses

Response samples

Content type
application/json
{
  • "filename": "string",
  • "capture": "string",
  • "starttime": "string",
  • "endtime": "string",
  • "running": true,
  • "command": "string",
  • "interfaces": [
    ]
}

Start a new packet capture

Request Body schema: application/json
required
action
string

start, stop

interface
string

assigned network interface name

promiscuous
boolean
count
integer

how many packets to capture

snaplen
integer

packet length

detail
string

level of detail - normal, medium, high, full

viewtype
string

interpret captured traffic as specified type: default, aodv, carp, cnfp, lmp, pgm, pgm_zmtp1, resp, radius, rpc, rtp, rtcp snmp, tftp, vat, wb, vxlan, zmtp1

dnsquery
boolean

reverse DNS lookup

object (PacketCaptureFilter)

Additional packet capture filter. These are common options for both tagged and untagged filters, with the exception of the vlan_* values which are only used by the tagged_filter.

object (PacketCaptureFilter)

Additional packet capture filter. These are common options for both tagged and untagged filters, with the exception of the vlan_* values which are only used by the tagged_filter.

Responses

Request samples

Content type
application/json
{
  • "action": "string",
  • "interface": "string",
  • "promiscuous": true,
  • "count": 0,
  • "snaplen": 0,
  • "detail": "string",
  • "viewtype": "string",
  • "dnsquery": true,
  • "untagged_filter": {
    },
  • "tagged_filter": {
    }
}

Response samples

Content type
application/json
{
  • "filename": "string",
  • "capture": "string",
  • "starttime": "string",
  • "endtime": "string",
  • "running": true,
  • "command": "string",
  • "interfaces": [
    ]
}

Clear all packet captures

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Download latest packet capture

Responses

Response samples

Content type
application/json
{
  • "errcode": 0,
  • "errlevel": "string",
  • "errmsg": "string",
  • "alerts": {
    }
}

Get pfctl summary

Responses

Response samples

Content type
application/json
{
  • "pfinfo": {
    }
}

Get pftop output

query Parameters
viewtype
string
filter
string
sorttype
string
states
string

Responses

Response samples

Content type
application/json
{
  • "pftop": "string"
}

Ping target host

Request Body schema: application/json
required
host
string
count
integer

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "count": 0
}

Response samples

Content type
application/json
{
  • "results": "string"
}

Retrieve routing table

query Parameters
resolve
string

Responses

Response samples

Content type
application/json
{
  • "ipv4": [
    ],
  • "ipv6": [
    ]
}

Get SMART information

Responses

Response samples

Content type
application/json
{
  • "drives": [
    ]
}

Abort SMART test

query Parameters
drive
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "result": "string"
}

Get SMART info

query Parameters
drive
string
type
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "result": "string"
}

Get SMART logs

query Parameters
drive
string
type
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "result": "string"
}

Run SMART test

query Parameters
drive
string
type
string
status
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "result": "string"
}

Get socket stats

query Parameters
filter
string

Responses

Response samples

Content type
application/json
{
  • "sockets": {
    }
}

Get state information

query Parameters
interface
string

comma separated list of interfaces to retrieve states for

filter_str
string

expression to use as a filter

rule_ids
string

comma separated list of rule IDs

Responses

Response samples

Content type
application/json
{
  • "states": [
    ],
  • "interfaces": [
    ],
  • "msg": "string"
}

Delete state information

query Parameters
srcip
string
dstip
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the listing of alias or system tables

Retrieve the list of user-defined alias or system table.

Aliases become Tables when loaded into the active firewall ruleset. The contents displayed on this page reflect the current addresses inside tables used by the firewall.

Responses

Response samples

Content type
application/json
{
  • "tables": [
    ]
}

Get detailed table information, including its entries.

path Parameters
table_name
required
string

Responses

Response samples

Content type
application/json
{
  • "table_name": "string",
  • "last_update": "string",
  • "avail_action": "string",
  • "action_descr": "string",
  • "action_prompt": "string",
  • "entries": [
    ],
  • "entries_removable": true
}

Perform an action on the table, from its avail_action.

path Parameters
table_name
required
string
Request Body schema: application/json
required
action
string

value from available action

Responses

Request samples

Content type
application/json
{
  • "action": "string"
}

Response samples

Content type
application/json
{
  • "table_name": "string",
  • "last_update": "string",
  • "avail_action": "string",
  • "action_descr": "string",
  • "action_prompt": "string",
  • "entries": [
    ],
  • "entries_removable": true
}

Delete the entry from the table.

path Parameters
table_name
required
string
entry
required
string

Responses

Response samples

Content type
application/json
{
  • "table_name": "string",
  • "last_update": "string",
  • "avail_action": "string",
  • "action_descr": "string",
  • "action_prompt": "string",
  • "entries": [
    ],
  • "entries_removable": true
}

Get possible source addresses

Responses

Response samples

Content type
application/json
{
  • "sources": "string"
}

Test a network port

Request Body schema: application/json
required
host
string
src_port
string
src_ip
string
port
integer
show_text
boolean
ip_proto
string

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "src_port": "string",
  • "src_ip": "string",
  • "port": 0,
  • "show_text": true,
  • "ip_proto": "string"
}

Response samples

Content type
application/json
{
  • "response": "string"
}

Perform traceroute

Request Body schema: application/json
required
host
string
hops
integer
icmp
boolean
proto
string
rev
boolean
src
string

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "hops": 0,
  • "icmp": true,
  • "proto": "string",
  • "rev": true,
  • "src": "string"
}

Response samples

Content type
application/json
{
  • "results": "string"
}

firewall

Get NPt (IPv6 Network Prefix Translation) Rules

Responses

Response samples

Content type
application/json
{
  • "interfacelist": [
    ],
  • "rules": [
    ]
}

Create NAT NPt rule

Request Body schema: application/json
required
descr
string
disabled
boolean
object (NATNptAddr)
id
string
interface
string
object (NATNptAddr)

Responses

Request samples

Content type
application/json
{
  • "descr": "string",
  • "disabled": true,
  • "destination": {
    },
  • "id": "string",
  • "interface": "string",
  • "source": {
    }
}

Response samples

Content type
application/json
{
  • "interfacelist": [
    ],
  • "rules": [
    ]
}

Reorder NPt NAT rules

Request Body schema: application/json
required
rule
Array of strings

Responses

Request samples

Content type
application/json
{
  • "rule": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Toggle NPt Rules

Request Body schema: application/json
required
rules
Array of strings
value
boolean

Responses

Request samples

Content type
application/json
{
  • "rules": [
    ],
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle NPt Rule

path Parameters
id
required
string
Request Body schema: application/json
required
value
boolean

Responses

Request samples

Content type
application/json
{
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete NAT NPt rules

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get NAT 1:1 rules

Responses

Response samples

Content type
application/json
{
  • "destlist": [
    ],
  • "interfacelist": [
    ],
  • "aliases": [
    ],
  • "sysaliases": [
    ],
  • "rules": [
    ],
  • "extlist": [
    ],
  • "srclist": [
    ]
}

Create 1:1 NAT rule

Request Body schema: application/json
required
id
string
descr
string
disabled
boolean
object (NATAddrPort)
object (NATAddrPort)
interface
string
ipprotocol
string
nobinat
boolean
object (NATAddrPort)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "descr": "string",
  • "disabled": true,
  • "destination": {
    },
  • "external": {
    },
  • "interface": "string",
  • "ipprotocol": "string",
  • "nobinat": true,
  • "source": {
    }
}

Response samples

Content type
application/json
{
  • "destlist": [
    ],
  • "interfacelist": [
    ],
  • "aliases": [
    ],
  • "sysaliases": [
    ],
  • "rules": [
    ],
  • "extlist": [
    ],
  • "srclist": [
    ]
}

Reorder 1:1 NAT rules

Request Body schema: application/json
required
rule
Array of strings

Responses

Request samples

Content type
application/json
{
  • "rule": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Toggle NAT 1:1 rules

Request Body schema: application/json
required
value
boolean

Responses

Request samples

Content type
application/json
{
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle NAT 1:1 rule

path Parameters
id
required
string
Request Body schema: application/json
required
rules
Array of strings
value
boolean

Responses

Request samples

Content type
application/json
{
  • "rules": [
    ],
  • "value": true
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

Delete NAT 1:1 rules

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get NAT Outbound Rules

Responses

Response samples

Content type
application/json
{
  • "destlist": [
    ],
  • "interfacelist": [
    ],
  • "locallist": [
    ],
  • "mode": "string",
  • "aliases": [
    ],
  • "sysaliases": [
    ],
  • "rules": [
    ],
  • "automatic_rules": [
    ],
  • "srclist": [
    ]
}

Create NAT Outbound Rule

Request Body schema: application/json
required
object (FWUserTimestamp)
descr
string
disabled
boolean
object (NATAddrPort)
id
string
interface
string
ipprotocol
string
nonat
boolean
nosync
boolean
protocol
string
poolopts
string
object (NATAddrPort)
source-hash-key
string
staticnatport
boolean
object (NATAddrPort)
object (FWUserTimestamp)

Responses

Request samples

Content type
application/json
{
  • "created": {
    },
  • "descr": "string",
  • "disabled": true,
  • "destination": {
    },
  • "id": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "nonat": true,
  • "nosync": true,
  • "protocol": "string",
  • "poolopts": "string",
  • "source": {
    },
  • "source-hash-key": "string",
  • "staticnatport": true,
  • "target": {
    },
  • "updated": {
    }
}

Response samples

Content type
application/json
{
  • "destlist": [
    ],
  • "interfacelist": [
    ],
  • "locallist": [
    ],
  • "mode": "string",
  • "aliases": [
    ],
  • "sysaliases": [
    ],
  • "rules": [
    ],
  • "automatic_rules": [
    ],
  • "srclist": [
    ]
}

Update NAT Outbound Mode

Request Body schema: application/json
required
mode
string

Responses

Request samples

Content type
application/json
{
  • "mode": "string"
}

Response samples

Content type
application/json
{
  • "mode": "string"
}

Reorder NAT Outbound Rules

Request Body schema: application/json
required
rule
Array of strings

Responses

Request samples

Content type
application/json
{
  • "rule": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Toggle NAT Outbound rule

path Parameters
id
required
string
Request Body schema: application/json
required
value
boolean

Responses

Request samples

Content type
application/json
{
  • "value": true
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

Update NAT Outbound Rule

path Parameters
id
required
string
Request Body schema: application/json
required
object (FWUserTimestamp)
descr
string
disabled
boolean
object (NATAddrPort)
id
string
interface
string
ipprotocol
string
nonat
boolean
nosync
boolean
protocol
string
poolopts
string
object (NATAddrPort)
source-hash-key
string
staticnatport
boolean
object (NATAddrPort)
object (FWUserTimestamp)

Responses

Request samples

Content type
application/json
{
  • "created": {
    },
  • "descr": "string",
  • "disabled": true,
  • "destination": {
    },
  • "id": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "nonat": true,
  • "nosync": true,
  • "protocol": "string",
  • "poolopts": "string",
  • "source": {
    },
  • "source-hash-key": "string",
  • "staticnatport": true,
  • "target": {
    },
  • "updated": {
    }
}

Response samples

Content type
application/json
{
  • "rule": {
    }
}

Get NAT Rules

Responses

Response samples

Content type
application/json
{
  • "destlist": [
    ],
  • "interfacelist": [
    ],
  • "locallist": [
    ],
  • "aliases": [
    ],
  • "sysaliases": [
    ],
  • "rules": [
    ],
  • "srclist": [
    ]
}

Create NAT rule

Request Body schema: application/json
required
id
string
associated_rule_id
string
object (FWUserTimestamp)
descr
string
disabled
boolean
object (NATAddrPort)
filter_rule_association
string
interface
string
object (NATAddrPort)
natreflection
string
nordr
boolean
protocol
string
ipprotocol
string
object (NATAddrPort)
object (FWUserTimestamp)
nosync
boolean

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "associated_rule_id": "string",
  • "created": {
    },
  • "descr": "string",
  • "disabled": true,
  • "destination": {
    },
  • "filter_rule_association": "string",
  • "interface": "string",
  • "target": {
    },
  • "natreflection": "string",
  • "nordr": true,
  • "protocol": "string",
  • "ipprotocol": "string",
  • "source": {
    },
  • "updated": {
    },
  • "nosync": true
}

Response samples

Content type
application/json
{
  • "destlist": [
    ],
  • "interfacelist": [
    ],
  • "locallist": [
    ],
  • "aliases": [
    ],
  • "sysaliases": [
    ],
  • "rules": [
    ],
  • "srclist": [
    ]
}

Reorder NAT rules

Request Body schema: application/json
required
Array of objects (FWRuleItemOrder)

Responses

Request samples

Content type
application/json
{
  • "entries": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Create NAT separator before/after a rule identified by its index

Request Body schema: application/json
required
after
boolean
color
string
rule
string
text
string

Responses

Request samples

Content type
application/json
{
  • "after": true,
  • "color": "string",
  • "rule": "string",
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "row": "string",
  • "text": "string",
  • "color": "string",
  • "if": "string"
}

Delete a NAT separator by index

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle NAT Rules

Request Body schema: application/json
required
rules
Array of strings
value
boolean

Responses

Request samples

Content type
application/json
{
  • "rules": [
    ],
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle NAT Rule

path Parameters
id
required
string
Request Body schema: application/json
required
value
boolean

Responses

Request samples

Content type
application/json
{
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete NAT rules

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update NAT rule

path Parameters
id
required
string
Request Body schema: application/json
required
id
string
associated_rule_id
string
object (FWUserTimestamp)
descr
string
disabled
boolean
object (NATAddrPort)
filter_rule_association
string
interface
string
object (NATAddrPort)
natreflection
string
nordr
boolean
protocol
string
ipprotocol
string
object (NATAddrPort)
object (FWUserTimestamp)
nosync
boolean

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "associated_rule_id": "string",
  • "created": {
    },
  • "descr": "string",
  • "disabled": true,
  • "destination": {
    },
  • "filter_rule_association": "string",
  • "interface": "string",
  • "target": {
    },
  • "natreflection": "string",
  • "nordr": true,
  • "protocol": "string",
  • "ipprotocol": "string",
  • "source": {
    },
  • "updated": {
    },
  • "nosync": true
}

Response samples

Content type
application/json
{
  • "rule": {
    }
}

Get Global Packet Flow Options

Responses

Response samples

Content type
application/json
{
  • "options": {
    },
  • "exporters": [
    ],
  • "src_ip_address": {
    }
}

Change Global Packet Flow Options

Request Body schema: application/json
required
enable
boolean
default
boolean

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "default": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Add Packet Flow Exporters

Request Body schema: application/json
required
id
string
descr
string
enable
boolean
src
string
srcport
integer
dst
string
dstport
integer
proto
string
domain
integer

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "descr": "string",
  • "enable": true,
  • "src": "string",
  • "srcport": 0,
  • "dst": "string",
  • "dstport": 0,
  • "proto": "string",
  • "domain": 0
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update Packet Flow Exporters

path Parameters
id
required
string
Request Body schema: application/json
required
id
string
descr
string
enable
boolean
src
string
srcport
integer
dst
string
dstport
integer
proto
string
domain
integer

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "descr": "string",
  • "enable": true,
  • "src": "string",
  • "srcport": 0,
  • "dst": "string",
  • "dstport": 0,
  • "proto": "string",
  • "domain": 0
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete Packet Flow Exporters

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get list of firewall interfaces

Responses

Response samples

Content type
application/json
{
  • "interfaces": [
    ],
  • "wan": "string",
  • "lan": "string",
  • "ethernet": true
}

Query rules and separators

path Parameters
interface
required
string

Responses

Response samples

Content type
application/json
{
  • "aliases": {
    },
  • "nat_interfaces": [
    ],
  • "entries": [
    ],
  • "schedules": [
    ],
  • "gateways4": [
    ],
  • "gateways6": [
    ],
  • "queues": [
    ],
  • "limiters": [
    ]
}

Append rule to the firewall

path Parameters
interface
required
string
Request Body schema: application/json
required
id
string
disabled
boolean
readonly
boolean
floating
boolean

floating rule

ethernet
boolean

ethernet rule

gateway
string
tracker
string
type
string

pass, block, reject (non-ethernet), match (floating)

interface
string
ipprotocol
string
tag
string
tagged
string
max
string
max_src_nodes
string
max_src_conn
string
max_src_states
string
statetimeout
string
statepolicy
string

"" (global default), if-bound, floating

statetype
string
object (FWRuleState)
os
string
protocol
string
direction
string
quick
boolean
log
boolean
dscp
string
allowopts
boolean
disablereplyto
boolean
nottagged
boolean
pflow
string

"" (global default), "enabled", "disabled"

max_src_conn_rate
string
max_src_conn_rates
string
tcpflags1
string
tcpflags2
string
object (TCPFlags)
object (TCPFlags)
tcpflags_any
boolean
icmptype
string
nopfsync
boolean
nosync
boolean
vlanprio
string
vlanprioset
string
dnpipe
string

inbound pipe limiter

pdnpipe
string

outbound pipe limiter

ackqueue
string

acknowledgement shaper queue

defaultqueue
string

default shaper queue

bridgeto
string

ethernet rule, bridge to interface

object (FWAddrPort)
sched
string
object (FWAddrPort)
descr
string
srcmac
string

source MAC address for ethernet rule

dstmac
string

destination MAC address for ethernet rule

object (FWFilterRuleNAT)
object (FWUserTimestamp)
object (FWUserTimestamp)
associated_rule_id
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "disabled": true,
  • "readonly": true,
  • "floating": true,
  • "ethernet": true,
  • "gateway": "string",
  • "tracker": "string",
  • "type": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "tag": "string",
  • "tagged": "string",
  • "max": "string",
  • "max_src_nodes": "string",
  • "max_src_conn": "string",
  • "max_src_states": "string",
  • "statetimeout": "string",
  • "statepolicy": "string",
  • "statetype": "string",
  • "state": {
    },
  • "os": "string",
  • "protocol": "string",
  • "direction": "string",
  • "quick": true,
  • "log": true,
  • "dscp": "string",
  • "allowopts": true,
  • "disablereplyto": true,
  • "nottagged": true,
  • "pflow": "string",
  • "max_src_conn_rate": "string",
  • "max_src_conn_rates": "string",
  • "tcpflags1": "string",
  • "tcpflags2": "string",
  • "tcpflags1_struct": {
    },
  • "tcpflags2_struct": {
    },
  • "tcpflags_any": true,
  • "icmptype": "string",
  • "nopfsync": true,
  • "nosync": true,
  • "vlanprio": "string",
  • "vlanprioset": "string",
  • "dnpipe": "string",
  • "pdnpipe": "string",
  • "ackqueue": "string",
  • "defaultqueue": "string",
  • "bridgeto": "string",
  • "source": {
    },
  • "sched": "string",
  • "destination": {
    },
  • "descr": "string",
  • "srcmac": "string",
  • "dstmac": "string",
  • "nat": {
    },
  • "updated": {
    },
  • "created": {
    },
  • "associated_rule_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "disabled": true,
  • "readonly": true,
  • "floating": true,
  • "ethernet": true,
  • "gateway": "string",
  • "tracker": "string",
  • "type": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "tag": "string",
  • "tagged": "string",
  • "max": "string",
  • "max_src_nodes": "string",
  • "max_src_conn": "string",
  • "max_src_states": "string",
  • "statetimeout": "string",
  • "statepolicy": "string",
  • "statetype": "string",
  • "state": {
    },
  • "os": "string",
  • "protocol": "string",
  • "direction": "string",
  • "quick": true,
  • "log": true,
  • "dscp": "string",
  • "allowopts": true,
  • "disablereplyto": true,
  • "nottagged": true,
  • "pflow": "string",
  • "max_src_conn_rate": "string",
  • "max_src_conn_rates": "string",
  • "tcpflags1": "string",
  • "tcpflags2": "string",
  • "tcpflags1_struct": {
    },
  • "tcpflags2_struct": {
    },
  • "tcpflags_any": true,
  • "icmptype": "string",
  • "nopfsync": true,
  • "nosync": true,
  • "vlanprio": "string",
  • "vlanprioset": "string",
  • "dnpipe": "string",
  • "pdnpipe": "string",
  • "ackqueue": "string",
  • "defaultqueue": "string",
  • "bridgeto": "string",
  • "source": {
    },
  • "sched": "string",
  • "destination": {
    },
  • "descr": "string",
  • "srcmac": "string",
  • "dstmac": "string",
  • "nat": {
    },
  • "updated": {
    },
  • "created": {
    },
  • "associated_rule_id": "string"
}

Get bogon rule for the specified interface

path Parameters
interface
required
string

Responses

Response samples

Content type
application/json
{
  • "interface": "string",
  • "enabled": true
}

Toggles the bogon rule

path Parameters
interface
required
string
Request Body schema: application/json
required
enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Bulk copy of rules to target interface

path Parameters
interface
required
string
Request Body schema: application/json
required
iface
string
rules
Array of strings

Responses

Request samples

Content type
application/json
{
  • "iface": "string",
  • "rules": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Bulk delete of rules

path Parameters
interface
required
string
Request Body schema: application/json
required
rules
Array of strings

Responses

Request samples

Content type
application/json
{
  • "rules": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Reorder rules and separators

path Parameters
interface
required
string
Request Body schema: application/json
required
Array of objects (FWRuleItemOrder)

Responses

Request samples

Content type
application/json
{
  • "entries": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Create separator before/after a rule identified by its id

path Parameters
interface
required
string
Request Body schema: application/json
required
after
boolean
color
string
rule
string
text
string

Responses

Request samples

Content type
application/json
{
  • "after": true,
  • "color": "string",
  • "rule": "string",
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "row": "string",
  • "text": "string",
  • "color": "string",
  • "if": "string"
}

Delete firewall rule separator identified by id

path Parameters
interface
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Bulk toggle of rules

path Parameters
interface
required
string
Request Body schema: application/json
required
rules
Array of strings
value
boolean

Responses

Request samples

Content type
application/json
{
  • "rules": [
    ],
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle rule by id

path Parameters
interface
required
string
id
required
string
Request Body schema: application/json
required
value
boolean

Responses

Request samples

Content type
application/json
{
  • "value": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Update rule identified by id

path Parameters
interface
required
string
id
required
string
Request Body schema: application/json
required
id
string
disabled
boolean
readonly
boolean
floating
boolean

floating rule

ethernet
boolean

ethernet rule

gateway
string
tracker
string
type
string

pass, block, reject (non-ethernet), match (floating)

interface
string
ipprotocol
string
tag
string
tagged
string
max
string
max_src_nodes
string
max_src_conn
string
max_src_states
string
statetimeout
string
statepolicy
string

"" (global default), if-bound, floating

statetype
string
object (FWRuleState)
os
string
protocol
string
direction
string
quick
boolean
log
boolean
dscp
string
allowopts
boolean
disablereplyto
boolean
nottagged
boolean
pflow
string

"" (global default), "enabled", "disabled"

max_src_conn_rate
string
max_src_conn_rates
string
tcpflags1
string
tcpflags2
string
object (TCPFlags)
object (TCPFlags)
tcpflags_any
boolean
icmptype
string
nopfsync
boolean
nosync
boolean
vlanprio
string
vlanprioset
string
dnpipe
string

inbound pipe limiter

pdnpipe
string

outbound pipe limiter

ackqueue
string

acknowledgement shaper queue

defaultqueue
string

default shaper queue

bridgeto
string

ethernet rule, bridge to interface

object (FWAddrPort)
sched
string
object (FWAddrPort)
descr
string
srcmac
string

source MAC address for ethernet rule

dstmac
string

destination MAC address for ethernet rule

object (FWFilterRuleNAT)
object (FWUserTimestamp)
object (FWUserTimestamp)
associated_rule_id
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "disabled": true,
  • "readonly": true,
  • "floating": true,
  • "ethernet": true,
  • "gateway": "string",
  • "tracker": "string",
  • "type": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "tag": "string",
  • "tagged": "string",
  • "max": "string",
  • "max_src_nodes": "string",
  • "max_src_conn": "string",
  • "max_src_states": "string",
  • "statetimeout": "string",
  • "statepolicy": "string",
  • "statetype": "string",
  • "state": {
    },
  • "os": "string",
  • "protocol": "string",
  • "direction": "string",
  • "quick": true,
  • "log": true,
  • "dscp": "string",
  • "allowopts": true,
  • "disablereplyto": true,
  • "nottagged": true,
  • "pflow": "string",
  • "max_src_conn_rate": "string",
  • "max_src_conn_rates": "string",
  • "tcpflags1": "string",
  • "tcpflags2": "string",
  • "tcpflags1_struct": {
    },
  • "tcpflags2_struct": {
    },
  • "tcpflags_any": true,
  • "icmptype": "string",
  • "nopfsync": true,
  • "nosync": true,
  • "vlanprio": "string",
  • "vlanprioset": "string",
  • "dnpipe": "string",
  • "pdnpipe": "string",
  • "ackqueue": "string",
  • "defaultqueue": "string",
  • "bridgeto": "string",
  • "source": {
    },
  • "sched": "string",
  • "destination": {
    },
  • "descr": "string",
  • "srcmac": "string",
  • "dstmac": "string",
  • "nat": {
    },
  • "updated": {
    },
  • "created": {
    },
  • "associated_rule_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "disabled": true,
  • "readonly": true,
  • "floating": true,
  • "ethernet": true,
  • "gateway": "string",
  • "tracker": "string",
  • "type": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "tag": "string",
  • "tagged": "string",
  • "max": "string",
  • "max_src_nodes": "string",
  • "max_src_conn": "string",
  • "max_src_states": "string",
  • "statetimeout": "string",
  • "statepolicy": "string",
  • "statetype": "string",
  • "state": {
    },
  • "os": "string",
  • "protocol": "string",
  • "direction": "string",
  • "quick": true,
  • "log": true,
  • "dscp": "string",
  • "allowopts": true,
  • "disablereplyto": true,
  • "nottagged": true,
  • "pflow": "string",
  • "max_src_conn_rate": "string",
  • "max_src_conn_rates": "string",
  • "tcpflags1": "string",
  • "tcpflags2": "string",
  • "tcpflags1_struct": {
    },
  • "tcpflags2_struct": {
    },
  • "tcpflags_any": true,
  • "icmptype": "string",
  • "nopfsync": true,
  • "nosync": true,
  • "vlanprio": "string",
  • "vlanprioset": "string",
  • "dnpipe": "string",
  • "pdnpipe": "string",
  • "ackqueue": "string",
  • "defaultqueue": "string",
  • "bridgeto": "string",
  • "source": {
    },
  • "sched": "string",
  • "destination": {
    },
  • "descr": "string",
  • "srcmac": "string",
  • "dstmac": "string",
  • "nat": {
    },
  • "updated": {
    },
  • "created": {
    },
  • "associated_rule_id": "string"
}

Add rule before/after other rule identified by its id

path Parameters
interface
required
string
id
required
string
Request Body schema: application/json
required
reference
string
after
boolean
object (FWFilterRule)

Responses

Request samples

Content type
application/json
{
  • "reference": "string",
  • "after": true,
  • "rule": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "disabled": true,
  • "readonly": true,
  • "floating": true,
  • "ethernet": true,
  • "gateway": "string",
  • "tracker": "string",
  • "type": "string",
  • "interface": "string",
  • "ipprotocol": "string",
  • "tag": "string",
  • "tagged": "string",
  • "max": "string",
  • "max_src_nodes": "string",
  • "max_src_conn": "string",
  • "max_src_states": "string",
  • "statetimeout": "string",
  • "statepolicy": "string",
  • "statetype": "string",
  • "state": {
    },
  • "os": "string",
  • "protocol": "string",
  • "direction": "string",
  • "quick": true,
  • "log": true,
  • "dscp": "string",
  • "allowopts": true,
  • "disablereplyto": true,
  • "nottagged": true,
  • "pflow": "string",
  • "max_src_conn_rate": "string",
  • "max_src_conn_rates": "string",
  • "tcpflags1": "string",
  • "tcpflags2": "string",
  • "tcpflags1_struct": {
    },
  • "tcpflags2_struct": {
    },
  • "tcpflags_any": true,
  • "icmptype": "string",
  • "nopfsync": true,
  • "nosync": true,
  • "vlanprio": "string",
  • "vlanprioset": "string",
  • "dnpipe": "string",
  • "pdnpipe": "string",
  • "ackqueue": "string",
  • "defaultqueue": "string",
  • "bridgeto": "string",
  • "source": {
    },
  • "sched": "string",
  • "destination": {
    },
  • "descr": "string",
  • "srcmac": "string",
  • "dstmac": "string",
  • "nat": {
    },
  • "updated": {
    },
  • "created": {
    },
  • "associated_rule_id": "string"
}

Deletes a rule by its id

path Parameters
interface
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get Firewall Schedules

Responses

Response samples

Content type
application/json
{
  • "schedules": [
    ]
}

Add Firewall Schedule

Request Body schema: application/json
required
id
string
name
string
descr
string
Array of objects (FWScheduleRange)
schedlabel
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "descr": "string",
  • "timerange": [
    ],
  • "schedlabel": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update Firewall Schedule

path Parameters
id
required
string
Request Body schema: application/json
required
id
string
name
string
descr
string
Array of objects (FWScheduleRange)
schedlabel
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "descr": "string",
  • "timerange": [
    ],
  • "schedlabel": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete schedule

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Traffic Shapers

Responses

Response samples

Content type
application/json
{
  • "altq": [
    ],
  • "altq_capable_ifs": [
    ],
  • "limiter": [
    ]
}

Get ALTQ

Responses

Response samples

Content type
application/json
{
  • "altq": [
    ]
}

Add ALTQ Root Queue

Request Body schema: application/json
required
enabled
boolean
if_ident
required
string

identity of the interface for this traffic shaper (root queue)

name
string

generated by system when create altq root queue

scheduler
required
string
Enum: "HFSC" "CBQ" "FAIRQ" "CODELQ" "PRIQ"

scheduler type valid values = HFSC, CBQ, FAIRQ, CODELQ, PRIQ

bandwidth
required
string

the amount of bandwidth available on this interface in the outbound direction

bandwidthtype
required
string
Enum: "Kb" "Mb" "Gb" "b" "%"

units for the bandwidth valid value = Kb, Mb, Gb, b, %

qlimit
integer

the number of packets that can be held in a queue waiting to be transmitted by the shaper, default size is 50

tbrsize
integer

adjusts the size, in bytes, of the token bucket regulator

Array of objects (ALTQChildQueue)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "if_ident": "string",
  • "name": "string",
  • "scheduler": "HFSC",
  • "bandwidth": "string",
  • "bandwidthtype": "Kb",
  • "qlimit": 0,
  • "tbrsize": 0,
  • "queue": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update ALTQ Root Queue

path Parameters
name
required
string
Request Body schema: application/json
required
enabled
boolean
if_ident
required
string

identity of the interface for this traffic shaper (root queue)

name
string

generated by system when create altq root queue

scheduler
required
string
Enum: "HFSC" "CBQ" "FAIRQ" "CODELQ" "PRIQ"

scheduler type valid values = HFSC, CBQ, FAIRQ, CODELQ, PRIQ

bandwidth
required
string

the amount of bandwidth available on this interface in the outbound direction

bandwidthtype
required
string
Enum: "Kb" "Mb" "Gb" "b" "%"

units for the bandwidth valid value = Kb, Mb, Gb, b, %

qlimit
integer

the number of packets that can be held in a queue waiting to be transmitted by the shaper, default size is 50

tbrsize
integer

adjusts the size, in bytes, of the token bucket regulator

Array of objects (ALTQChildQueue)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "if_ident": "string",
  • "name": "string",
  • "scheduler": "HFSC",
  • "bandwidth": "string",
  • "bandwidthtype": "Kb",
  • "qlimit": 0,
  • "tbrsize": 0,
  • "queue": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete ALTQ Root Queue

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Add ALTQ Child Queue

path Parameters
name
required
string
parentname
required
string
Request Body schema: application/json
required
enabled
boolean
name
required
string

name of the queue, do not use spaces and limit the size to 15 characters

if_ident
string

generated by system when create altq child queue

priority
integer

(for CBQ, FAIRQ, and PRIQ scheduler only) CBQ and FAIRQ 0-7 (default is 1), PRIQ 0-15 queues with a higher priority are preferred in the case of overload

qlimit
integer

queue limit in packets

description
string
default
boolean

set this queue as the default

red
boolean

random early detection, a method to avoid congestion on a link

rio
boolean

random early detection in and out, enables red with in/out

ecn
boolean

explicit congestion notification, it allows sending of control messages that will throttle connections if both ends support ecn

codel
boolean

a flag to mark this queue as being the active queue for the codel shaper discipline

bandwidth
string

(for HFSC, CBQ, and FAIRQ scheduler only) the amount of bandwidth for this queue

bandwidthtype
string
Enum: "Kb" "Mb" "Gb" "b" "%"

(for HFSC, CBQ, and FAIRQ scheduler only) units for the bandwidth valid value = Kb, Mb, Gb, b, %

upperlimit
boolean

(for HFSC scheduler only) max bandwidth for queue

upperlimit_m1
string

(for HFSC scheduler only) burstable bandwidth limit

upperlimit_d
string

(for HFSC scheduler only) time limit for bandwidth burst, in milliseconds

upperlimit_m2
string

(for HFSC scheduler only) normal bandwidth limit

realtime
boolean

(for HFSC scheduler only) min bandwidth for queue

realtime_m1
string

(for HFSC scheduler only) burstable bandwidth limit

realtime_d
string

(for HFSC scheduler only) time limit for bandwidth burst, in milliseconds

realtime_m2
string

(for HFSC scheduler only) normal bandwidth limit

linkshare
boolean

(for HFSC scheduler only) bandwidth share of a backlogged queue

linkshare_m1
string

(for HFSC scheduler only) burstable bandwidth limit

linkshare_d
string

(for HFSC scheduler only) time limit for bandwidth burst, in milliseconds

linkshare_m2
string

(for HFSC scheduler only) normal bandwidth limit

borrow
boolean

(for CBQ scheduler CBQ only) borrow from other queues when available

buckets
integer

(for FAIRQ scheduler only) number of buckets available

hogs
string

(for FAIRQ scheduler only) bandwidth limit for hosts to not saturate link

queue
Array of objects (ALTQChildQueue)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "string",
  • "if_ident": "string",
  • "priority": 0,
  • "qlimit": 0,
  • "description": "string",
  • "default": true,
  • "red": true,
  • "rio": true,
  • "ecn": true,
  • "codel": true,
  • "bandwidth": "string",
  • "bandwidthtype": "Kb",
  • "upperlimit": true,
  • "upperlimit_m1": "string",
  • "upperlimit_d": "string",
  • "upperlimit_m2": "string",
  • "realtime": true,
  • "realtime_m1": "string",
  • "realtime_d": "string",
  • "realtime_m2": "string",
  • "linkshare": true,
  • "linkshare_m1": "string",
  • "linkshare_d": "string",
  • "linkshare_m2": "string",
  • "borrow": true,
  • "buckets": 0,
  • "hogs": "string",
  • "queue": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update ALTQ Child Queue

path Parameters
name
required
string
parentname
required
string
qname
required
string
Request Body schema: application/json
required
enabled
boolean
name
required
string

name of the queue, do not use spaces and limit the size to 15 characters

if_ident
string

generated by system when create altq child queue

priority
integer

(for CBQ, FAIRQ, and PRIQ scheduler only) CBQ and FAIRQ 0-7 (default is 1), PRIQ 0-15 queues with a higher priority are preferred in the case of overload

qlimit
integer

queue limit in packets

description
string
default
boolean

set this queue as the default

red
boolean

random early detection, a method to avoid congestion on a link

rio
boolean

random early detection in and out, enables red with in/out

ecn
boolean

explicit congestion notification, it allows sending of control messages that will throttle connections if both ends support ecn

codel
boolean

a flag to mark this queue as being the active queue for the codel shaper discipline

bandwidth
string

(for HFSC, CBQ, and FAIRQ scheduler only) the amount of bandwidth for this queue

bandwidthtype
string
Enum: "Kb" "Mb" "Gb" "b" "%"

(for HFSC, CBQ, and FAIRQ scheduler only) units for the bandwidth valid value = Kb, Mb, Gb, b, %

upperlimit
boolean

(for HFSC scheduler only) max bandwidth for queue

upperlimit_m1
string

(for HFSC scheduler only) burstable bandwidth limit

upperlimit_d
string

(for HFSC scheduler only) time limit for bandwidth burst, in milliseconds

upperlimit_m2
string

(for HFSC scheduler only) normal bandwidth limit

realtime
boolean

(for HFSC scheduler only) min bandwidth for queue

realtime_m1
string

(for HFSC scheduler only) burstable bandwidth limit

realtime_d
string

(for HFSC scheduler only) time limit for bandwidth burst, in milliseconds

realtime_m2
string

(for HFSC scheduler only) normal bandwidth limit

linkshare
boolean

(for HFSC scheduler only) bandwidth share of a backlogged queue

linkshare_m1
string

(for HFSC scheduler only) burstable bandwidth limit

linkshare_d
string

(for HFSC scheduler only) time limit for bandwidth burst, in milliseconds

linkshare_m2
string

(for HFSC scheduler only) normal bandwidth limit

borrow
boolean

(for CBQ scheduler CBQ only) borrow from other queues when available

buckets
integer

(for FAIRQ scheduler only) number of buckets available

hogs
string

(for FAIRQ scheduler only) bandwidth limit for hosts to not saturate link

queue
Array of objects (ALTQChildQueue)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "string",
  • "if_ident": "string",
  • "priority": 0,
  • "qlimit": 0,
  • "description": "string",
  • "default": true,
  • "red": true,
  • "rio": true,
  • "ecn": true,
  • "codel": true,
  • "bandwidth": "string",
  • "bandwidthtype": "Kb",
  • "upperlimit": true,
  • "upperlimit_m1": "string",
  • "upperlimit_d": "string",
  • "upperlimit_m2": "string",
  • "realtime": true,
  • "realtime_m1": "string",
  • "realtime_d": "string",
  • "realtime_m2": "string",
  • "linkshare": true,
  • "linkshare_m1": "string",
  • "linkshare_d": "string",
  • "linkshare_m2": "string",
  • "borrow": true,
  • "buckets": 0,
  • "hogs": "string",
  • "queue": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete ALTQ Child Queue

path Parameters
name
required
string
parentname
required
string
qname
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Limiters

Responses

Response samples

Content type
application/json
{
  • "limiter": [
    ]
}

Add Limiter

Request Body schema: application/json
required
enabled
boolean
name
required
string

name of the limiter, it will appear for selection on firewall rules

number
integer

generated by system when create limiter

Array of objects (LimiterBandwidth)
mask
string
Enum: "none" "srcaddress" "dstaddress"

controls how the limiter will mask addresses in the limiter valid values = none, srcaddress, dstaddress

maskbits
integer [ 1 .. 32 ]

address masking for ipv4

maskbitsv6
integer [ 1 .. 128 ]

address masking for ipv6

description
string
aqm
string
Enum: "droptail" "codel" "pie" "red" "gred"

active queue management (AQM) algorithm valid values = droptail, codel, pie, red, gred

param_codel_target
string

(for aqm=codel only) codel target delay in ms (set to "" to use default value)

param_codel_interval
string

(for aqm=codel only) codel interval in ms (set to "" to use default value)

param_pie_target
string

(for aqm=pie only) target delay in ms (set to "" to use default value)

param_pie_tupdate
string

(for aqm=pie only) interval in ms (set to "" to use default value)

param_pie_alpha
string

(for aqm=pie only) alpha (set to "" to use default value)

param_pie_beta
string

(for aqm=pie only) beta (set to "" to use default value)

param_pie_max_burst
string

(for aqm=pie only) max burst (set to "" to use default value)

param_pie_max_ecnth
string

(for aqm=pie only) max ecnth (set to "" to use default value)

param_red_w_q
string

(for aqm=red only) w_q (set to "" to use default value)

param_red_min_th
string

(for aqm=red only) min_th (set to "" to use default value)

param_red_max_th
string

(for aqm=red only) max_th (set to "" to use default value)

param_red_max_p
string

(for aqm=red only) max_p (set to "" to use default value)

param_gred_w_q
string

(for aqm=gred only) w_q (set to "" to use default value)

param_gred_min_th
string

(for aqm=gred only) min_th (set to "" to use default value)

param_gred_max_th
string

(for aqm=gred only) max_th (set to "" to use default value)

param_gred_max_p
string

(for aqm=gred only) max_p (set to "" to use default value)

sched
string
Enum: "wf2q+" "fifo" "qfq" "rr" "prio" "fq_codel" "fq_pie"

scheduler manages the sequence of network packets in the limiter's queue valid values = wf2q+, fifo, qfq, rr, prio, fq_codel, fq_pie

param_fq_codel_target
string

(for sched=fq_codel only) target delay in ms (set to "" to use default value)

param_fq_codel_interval
string

(for sched=fq_codel only) interval in ms (set to "" to use default value)

param_fq_codel_quantum
string

(for sched=fq_codel only) quantum (set to "" to use default value)

param_fq_codel_limit
string

(for sched=fq_codel only) limit (set to "" to use default value)

param_fq_codel_flows
string

(for sched=fq_codel only) flows (set to "" to use default value)

param_fq_pie_target
string

(for sched=fq_pie only) target delay in ms (set to "" to use default value)

param_fq_pie_tupdate
string

(for sched=fq_pie only) interval in ms (set to "" to use default value)

param_fq_pie_alpha
string

(for sched=fq_pie only) alpha (set to "" to use default value)

param_fq_pie_beta
string

(for sched=fq_pie only) beta (set to "" to use default value)

param_fq_pie_max_burst
string

(for sched=fq_pie only) max burst (set to "" to use default value)

param_fq_pie_max_ecnth
string

(for sched=fq_pie only) max ecnth (set to "" to use default value)

param_fq_pie_quantum
string

(for sched=fq_pie only) quantum (set to "" to use default value)

param_fq_pie_limit
string

(for sched=fq_pie only) limit (set to "" to use default value)

param_fq_pie_flows
string

(for sched=fq_pie only) flows (set to "" to use default value)

ecn
boolean

(for sched=fq_codel or fq_pie only) explicit congestion notification

pie_onoff
boolean

(for sched=fq_pie only) turning pie on and off depending on queue load

pie_capdrop
boolean

(for sched=fq_pie only) cap drop adjustment

pie_qdelay
boolean

(for sched=fq_pie only) set queue delay type to timestamps (true) or departure rate estimation (false)

pie_pderand
boolean

(for sched=fq_pie only) drop probability de-randomisation

qlimit
integer

specifies the length of the limiter's queue, which the scheduler and AQM are responsible for

delay
integer

introduces an artificial delay (latency), specified in milliseconds

plr
number <float>

packet loss rate can be configured to drop a certain fraction of packets that enter the limiter valid value between 0 and 1 a value of 0.001 means one packet in 1000 gets dropped

buckets
integer

bucket Size, specified in slots, sets the size of the hash table used for queue storage

Array of objects (LimiterQueue)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "string",
  • "number": 0,
  • "bandwidth": [
    ],
  • "mask": "none",
  • "maskbits": 1,
  • "maskbitsv6": 1,
  • "description": "string",
  • "aqm": "droptail",
  • "param_codel_target": "string",
  • "param_codel_interval": "string",
  • "param_pie_target": "string",
  • "param_pie_tupdate": "string",
  • "param_pie_alpha": "string",
  • "param_pie_beta": "string",
  • "param_pie_max_burst": "string",
  • "param_pie_max_ecnth": "string",
  • "param_red_w_q": "string",
  • "param_red_min_th": "string",
  • "param_red_max_th": "string",
  • "param_red_max_p": "string",
  • "param_gred_w_q": "string",
  • "param_gred_min_th": "string",
  • "param_gred_max_th": "string",
  • "param_gred_max_p": "string",
  • "sched": "wf2q+",
  • "param_fq_codel_target": "string",
  • "param_fq_codel_interval": "string",
  • "param_fq_codel_quantum": "string",
  • "param_fq_codel_limit": "string",
  • "param_fq_codel_flows": "string",
  • "param_fq_pie_target": "string",
  • "param_fq_pie_tupdate": "string",
  • "param_fq_pie_alpha": "string",
  • "param_fq_pie_beta": "string",
  • "param_fq_pie_max_burst": "string",
  • "param_fq_pie_max_ecnth": "string",
  • "param_fq_pie_quantum": "string",
  • "param_fq_pie_limit": "string",
  • "param_fq_pie_flows": "string",
  • "ecn": true,
  • "pie_onoff": true,
  • "pie_capdrop": true,
  • "pie_qdelay": true,
  • "pie_pderand": true,
  • "qlimit": 0,
  • "delay": 0,
  • "plr": 0.1,
  • "buckets": 0,
  • "queue": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update Limiter

path Parameters
name
required
string
Request Body schema: application/json
required
enabled
boolean
name
required
string

name of the limiter, it will appear for selection on firewall rules

number
integer

generated by system when create limiter

Array of objects (LimiterBandwidth)
mask
string
Enum: "none" "srcaddress" "dstaddress"

controls how the limiter will mask addresses in the limiter valid values = none, srcaddress, dstaddress

maskbits
integer [ 1 .. 32 ]

address masking for ipv4

maskbitsv6
integer [ 1 .. 128 ]

address masking for ipv6

description
string
aqm
string
Enum: "droptail" "codel" "pie" "red" "gred"

active queue management (AQM) algorithm valid values = droptail, codel, pie, red, gred

param_codel_target
string

(for aqm=codel only) codel target delay in ms (set to "" to use default value)

param_codel_interval
string

(for aqm=codel only) codel interval in ms (set to "" to use default value)

param_pie_target
string

(for aqm=pie only) target delay in ms (set to "" to use default value)

param_pie_tupdate
string

(for aqm=pie only) interval in ms (set to "" to use default value)

param_pie_alpha
string

(for aqm=pie only) alpha (set to "" to use default value)

param_pie_beta
string

(for aqm=pie only) beta (set to "" to use default value)

param_pie_max_burst
string

(for aqm=pie only) max burst (set to "" to use default value)

param_pie_max_ecnth
string

(for aqm=pie only) max ecnth (set to "" to use default value)

param_red_w_q
string

(for aqm=red only) w_q (set to "" to use default value)

param_red_min_th
string

(for aqm=red only) min_th (set to "" to use default value)

param_red_max_th
string

(for aqm=red only) max_th (set to "" to use default value)

param_red_max_p
string

(for aqm=red only) max_p (set to "" to use default value)

param_gred_w_q
string

(for aqm=gred only) w_q (set to "" to use default value)

param_gred_min_th
string

(for aqm=gred only) min_th (set to "" to use default value)

param_gred_max_th
string

(for aqm=gred only) max_th (set to "" to use default value)

param_gred_max_p
string

(for aqm=gred only) max_p (set to "" to use default value)

sched
string
Enum: "wf2q+" "fifo" "qfq" "rr" "prio" "fq_codel" "fq_pie"

scheduler manages the sequence of network packets in the limiter's queue valid values = wf2q+, fifo, qfq, rr, prio, fq_codel, fq_pie

param_fq_codel_target
string

(for sched=fq_codel only) target delay in ms (set to "" to use default value)

param_fq_codel_interval
string

(for sched=fq_codel only) interval in ms (set to "" to use default value)

param_fq_codel_quantum
string

(for sched=fq_codel only) quantum (set to "" to use default value)

param_fq_codel_limit
string

(for sched=fq_codel only) limit (set to "" to use default value)

param_fq_codel_flows
string

(for sched=fq_codel only) flows (set to "" to use default value)

param_fq_pie_target
string

(for sched=fq_pie only) target delay in ms (set to "" to use default value)

param_fq_pie_tupdate
string

(for sched=fq_pie only) interval in ms (set to "" to use default value)

param_fq_pie_alpha
string

(for sched=fq_pie only) alpha (set to "" to use default value)

param_fq_pie_beta
string

(for sched=fq_pie only) beta (set to "" to use default value)

param_fq_pie_max_burst
string

(for sched=fq_pie only) max burst (set to "" to use default value)

param_fq_pie_max_ecnth
string

(for sched=fq_pie only) max ecnth (set to "" to use default value)

param_fq_pie_quantum
string

(for sched=fq_pie only) quantum (set to "" to use default value)

param_fq_pie_limit
string

(for sched=fq_pie only) limit (set to "" to use default value)

param_fq_pie_flows
string

(for sched=fq_pie only) flows (set to "" to use default value)

ecn
boolean

(for sched=fq_codel or fq_pie only) explicit congestion notification

pie_onoff
boolean

(for sched=fq_pie only) turning pie on and off depending on queue load

pie_capdrop
boolean

(for sched=fq_pie only) cap drop adjustment

pie_qdelay
boolean

(for sched=fq_pie only) set queue delay type to timestamps (true) or departure rate estimation (false)

pie_pderand
boolean

(for sched=fq_pie only) drop probability de-randomisation

qlimit
integer

specifies the length of the limiter's queue, which the scheduler and AQM are responsible for

delay
integer

introduces an artificial delay (latency), specified in milliseconds

plr
number <float>

packet loss rate can be configured to drop a certain fraction of packets that enter the limiter valid value between 0 and 1 a value of 0.001 means one packet in 1000 gets dropped

buckets
integer

bucket Size, specified in slots, sets the size of the hash table used for queue storage

Array of objects (LimiterQueue)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "string",
  • "number": 0,
  • "bandwidth": [
    ],
  • "mask": "none",
  • "maskbits": 1,
  • "maskbitsv6": 1,
  • "description": "string",
  • "aqm": "droptail",
  • "param_codel_target": "string",
  • "param_codel_interval": "string",
  • "param_pie_target": "string",
  • "param_pie_tupdate": "string",
  • "param_pie_alpha": "string",
  • "param_pie_beta": "string",
  • "param_pie_max_burst": "string",
  • "param_pie_max_ecnth": "string",
  • "param_red_w_q": "string",
  • "param_red_min_th": "string",
  • "param_red_max_th": "string",
  • "param_red_max_p": "string",
  • "param_gred_w_q": "string",
  • "param_gred_min_th": "string",
  • "param_gred_max_th": "string",
  • "param_gred_max_p": "string",
  • "sched": "wf2q+",
  • "param_fq_codel_target": "string",
  • "param_fq_codel_interval": "string",
  • "param_fq_codel_quantum": "string",
  • "param_fq_codel_limit": "string",
  • "param_fq_codel_flows": "string",
  • "param_fq_pie_target": "string",
  • "param_fq_pie_tupdate": "string",
  • "param_fq_pie_alpha": "string",
  • "param_fq_pie_beta": "string",
  • "param_fq_pie_max_burst": "string",
  • "param_fq_pie_max_ecnth": "string",
  • "param_fq_pie_quantum": "string",
  • "param_fq_pie_limit": "string",
  • "param_fq_pie_flows": "string",
  • "ecn": true,
  • "pie_onoff": true,
  • "pie_capdrop": true,
  • "pie_qdelay": true,
  • "pie_pderand": true,
  • "qlimit": 0,
  • "delay": 0,
  • "plr": 0.1,
  • "buckets": 0,
  • "queue": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete Limiter

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Add Limiter Queue

path Parameters
name
required
string
Request Body schema: application/json
required
enabled
boolean
name
required
string

name of the limiter, it will appear for selection on firewall rules

number
integer

generated by system when create limiter queue

mask
string
Enum: "none" "srcaddress" "dstaddress"

controls how the limiter will mask addresses in the queue valid values = none, srcaddress, dstaddress

maskbits
integer [ 1 .. 32 ]

address masking for ipv4

maskbitsv6
integer [ 1 .. 128 ]

address masking for ipv6

description
string
aqm
string
Enum: "droptail" "codel" "pie" "red" "gred"

active queue management (AQM) algorithm valid values = droptail, codel, pie, red, gred

param_codel_target
string

(for aqm=codel only) codel target delay in ms (set to "" to use default value)

param_codel_interval
string

(for aqm=codel only) codel interval in ms (set to "" to use default value)

param_pie_target
string

(for aqm=pie only) target delay in ms (set to "" to use default value)

param_pie_tupdate
string

(for aqm=pie only) interval in ms (set to "" to use default value)

param_pie_alpha
string

(for aqm=pie only) alpha (set to "" to use default value)

param_pie_beta
string

(for aqm=pie only) beta (set to "" to use default value)

param_pie_max_burst
string

(for aqm=pie only) max burst (set to "" to use default value)

param_pie_max_ecnth
string

(for aqm=pie only) max ecnth (set to "" to use default value)

param_red_w_q
string

(for aqm=red only) w_q (set to "" to use default value)

param_red_min_th
string

(for aqm=red only) min_th (set to "" to use default value)

param_red_max_th
string

(for aqm=red only) max_th (set to "" to use default value)

param_red_max_p
string

(for aqm=red only) max_p (set to "" to use default value)

param_gred_w_q
string

(for aqm=gred only) w_q (set to "" to use default value)

param_gred_min_th
string

(for aqm=gred only) min_th (set to "" to use default value)

param_gred_max_th
string

(for aqm=gred only) max_th (set to "" to use default value)

param_gred_max_p
string

(for aqm=gred only) max_p (set to "" to use default value)

ecn
boolean

(for aqm=codel, pie, red, or gred only) explicit congestion notification

pie_onoff
boolean

(for aqm=pie only) turning pie on and off depending on queue load

pie_capdrop
boolean

(for aqm=pie only) cap drop adjustment

pie_qdelay
boolean

(for aqm=pie only) set queue delay type to timestamps (true) or departure rate estimation (false)

pie_pderand
boolean

(for aqm=pie only) drop probability de-randomisation

qlimit
integer

specifies the length of this queue, which the AQM is responsible for

weight
integer

this value can range from 1 to 100, higher values give more precedence to packets in a given queue

plr
number <float>

packet loss rate can be configured to drop a certain fraction of packets that enter the limiter valid value between 0 and 1 a value of 0.001 means one packet in 1000 gets dropped

buckets
integer

bucket Size, specified in slots, sets the size of the hash table used for queue storage

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "string",
  • "number": 0,
  • "mask": "none",
  • "maskbits": 1,
  • "maskbitsv6": 1,
  • "description": "string",
  • "aqm": "droptail",
  • "param_codel_target": "string",
  • "param_codel_interval": "string",
  • "param_pie_target": "string",
  • "param_pie_tupdate": "string",
  • "param_pie_alpha": "string",
  • "param_pie_beta": "string",
  • "param_pie_max_burst": "string",
  • "param_pie_max_ecnth": "string",
  • "param_red_w_q": "string",
  • "param_red_min_th": "string",
  • "param_red_max_th": "string",
  • "param_red_max_p": "string",
  • "param_gred_w_q": "string",
  • "param_gred_min_th": "string",
  • "param_gred_max_th": "string",
  • "param_gred_max_p": "string",
  • "ecn": true,
  • "pie_onoff": true,
  • "pie_capdrop": true,
  • "pie_qdelay": true,
  • "pie_pderand": true,
  • "qlimit": 0,
  • "weight": 0,
  • "plr": 0.1,
  • "buckets": 0
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update Limiter Queue

path Parameters
name
required
string
qname
required
string
Request Body schema: application/json
required
enabled
boolean
name
required
string

name of the limiter, it will appear for selection on firewall rules

number
integer

generated by system when create limiter queue

mask
string
Enum: "none" "srcaddress" "dstaddress"

controls how the limiter will mask addresses in the queue valid values = none, srcaddress, dstaddress

maskbits
integer [ 1 .. 32 ]

address masking for ipv4

maskbitsv6
integer [ 1 .. 128 ]

address masking for ipv6

description
string
aqm
string
Enum: "droptail" "codel" "pie" "red" "gred"

active queue management (AQM) algorithm valid values = droptail, codel, pie, red, gred

param_codel_target
string

(for aqm=codel only) codel target delay in ms (set to "" to use default value)

param_codel_interval
string

(for aqm=codel only) codel interval in ms (set to "" to use default value)

param_pie_target
string

(for aqm=pie only) target delay in ms (set to "" to use default value)

param_pie_tupdate
string

(for aqm=pie only) interval in ms (set to "" to use default value)

param_pie_alpha
string

(for aqm=pie only) alpha (set to "" to use default value)

param_pie_beta
string

(for aqm=pie only) beta (set to "" to use default value)

param_pie_max_burst
string

(for aqm=pie only) max burst (set to "" to use default value)

param_pie_max_ecnth
string

(for aqm=pie only) max ecnth (set to "" to use default value)

param_red_w_q
string

(for aqm=red only) w_q (set to "" to use default value)

param_red_min_th
string

(for aqm=red only) min_th (set to "" to use default value)

param_red_max_th
string

(for aqm=red only) max_th (set to "" to use default value)

param_red_max_p
string

(for aqm=red only) max_p (set to "" to use default value)

param_gred_w_q
string

(for aqm=gred only) w_q (set to "" to use default value)

param_gred_min_th
string

(for aqm=gred only) min_th (set to "" to use default value)

param_gred_max_th
string

(for aqm=gred only) max_th (set to "" to use default value)

param_gred_max_p
string

(for aqm=gred only) max_p (set to "" to use default value)

ecn
boolean

(for aqm=codel, pie, red, or gred only) explicit congestion notification

pie_onoff
boolean

(for aqm=pie only) turning pie on and off depending on queue load

pie_capdrop
boolean

(for aqm=pie only) cap drop adjustment

pie_qdelay
boolean

(for aqm=pie only) set queue delay type to timestamps (true) or departure rate estimation (false)

pie_pderand
boolean

(for aqm=pie only) drop probability de-randomisation

qlimit
integer

specifies the length of this queue, which the AQM is responsible for

weight
integer

this value can range from 1 to 100, higher values give more precedence to packets in a given queue

plr
number <float>

packet loss rate can be configured to drop a certain fraction of packets that enter the limiter valid value between 0 and 1 a value of 0.001 means one packet in 1000 gets dropped

buckets
integer

bucket Size, specified in slots, sets the size of the hash table used for queue storage

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "string",
  • "number": 0,
  • "mask": "none",
  • "maskbits": 1,
  • "maskbitsv6": 1,
  • "description": "string",
  • "aqm": "droptail",
  • "param_codel_target": "string",
  • "param_codel_interval": "string",
  • "param_pie_target": "string",
  • "param_pie_tupdate": "string",
  • "param_pie_alpha": "string",
  • "param_pie_beta": "string",
  • "param_pie_max_burst": "string",
  • "param_pie_max_ecnth": "string",
  • "param_red_w_q": "string",
  • "param_red_min_th": "string",
  • "param_red_max_th": "string",
  • "param_red_max_p": "string",
  • "param_gred_w_q": "string",
  • "param_gred_min_th": "string",
  • "param_gred_max_th": "string",
  • "param_gred_max_p": "string",
  • "ecn": true,
  • "pie_onoff": true,
  • "pie_capdrop": true,
  • "pie_qdelay": true,
  • "pie_pderand": true,
  • "qlimit": 0,
  • "weight": 0,
  • "plr": 0.1,
  • "buckets": 0
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete Limiter Queue

path Parameters
name
required
string
qname
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

List Virtual IPs

Responses

Response samples

Content type
application/json
{
  • "virtualips": [
    ],
  • "interfaces": [
    ]
}

Add Virtual IP

Request Body schema: application/json
required
mode
string
interface
string
vhid
integer
advskew
integer
advbase
integer
password
string
password_confirm
string
uniqid
string
descr
string
subnet
string
id
string
carp_mode
string
carp_peer
string

Responses

Request samples

Content type
application/json
{
  • "mode": "string",
  • "interface": "string",
  • "vhid": 0,
  • "advskew": 0,
  • "advbase": 0,
  • "password": "string",
  • "password_confirm": "string",
  • "uniqid": "string",
  • "descr": "string",
  • "subnet": "string",
  • "id": "string",
  • "carp_mode": "string",
  • "carp_peer": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Delete Virtual IP

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update Virtual IP

path Parameters
id
required
string
Request Body schema: application/json
required
mode
string
interface
string
vhid
integer
advskew
integer
advbase
integer
password
string
password_confirm
string
uniqid
string
descr
string
subnet
string
id
string
carp_mode
string
carp_peer
string

Responses

Request samples

Content type
application/json
{
  • "mode": "string",
  • "interface": "string",
  • "vhid": 0,
  • "advskew": 0,
  • "advbase": 0,
  • "password": "string",
  • "password_confirm": "string",
  • "uniqid": "string",
  • "descr": "string",
  • "subnet": "string",
  • "id": "string",
  • "carp_mode": "string",
  • "carp_peer": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

mim

Get this Controller's MIM identity, which is used to register it on the managed device.

The Controller Summary payload which is provided to a remote pfSense device to store in its configuration and is used for it establish a MIM VPN connection to the controller.

Responses

Response samples

Content type
application/json
{
  • "mode_active": true,
  • "name": "string",
  • "key": "string",
  • "vpn_pubkey": "string",
  • "vpn_listenaddr": "string",
  • "vpn_address": "string",
  • "vpn_prefix": "string",
  • "vpn_netkey": "string"
}

Get a list of configured controllers managing this device and information about this device

query Parameters
detailed
boolean

Responses

Response samples

Content type
application/json
{
  • "device_pubkey": "string",
  • "controllers": [
    ]
}

Add/change a management controller with its public key on the pfsense host

Adding the controller will initiate a Netgard connection to it. The device will continue to issue a connection request every 10 seconds while the Controller has not added the device to its configuration.

Request Body schema: application/json
required
name
string
key
string
cert
string
vpn_listenaddr
string
vpn_address
string
vpn_pubkey
string
vpn_netkey
string
vpn_prefix
string
oldkey
string
regentokens
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "key": "string",
  • "cert": "string",
  • "vpn_listenaddr": "string",
  • "vpn_address": "string",
  • "vpn_pubkey": "string",
  • "vpn_netkey": "string",
  • "vpn_prefix": "string",
  • "oldkey": "string",
  • "regentokens": true
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "key": "string",
  • "cert": "string",
  • "vpn_listenaddr": "string",
  • "vpn_address": "string",
  • "vpn_pubkey": "string",
  • "vpn_netkey": "string",
  • "vpn_prefix": "string",
  • "tag": "string",
  • "noise_secret": "string",
  • "device_pubkey": "string",
  • "device_vpn": {
    }
}

Get stored controller information, by its key ID

path Parameters
key
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "key": "string",
  • "cert": "string",
  • "vpn_listenaddr": "string",
  • "vpn_address": "string",
  • "vpn_pubkey": "string",
  • "vpn_netkey": "string",
  • "vpn_prefix": "string",
  • "tag": "string",
  • "noise_secret": "string",
  • "device_pubkey": "string",
  • "device_vpn": {
    }
}

Delete controller entry. The key can be hex or base64-URL encoded.

path Parameters
key
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Gets the device's details to register with the MIM controller.

Get the required information for the MiM controller to manage this device. It includes this device's public keys for API Noise handshaking and VPN connection.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "alias": "string",
  • "device_type": "string",
  • "type": "string",
  • "pubkey": "string",
  • "address": "string",
  • "vpn_pubkey": "string",
  • "vpn_address": "string",
  • "vpn_prefix": "string",
  • "vpn_netkey": "string",
  • "vpn_listenaddr": "string",
  • "tags": [
    ],
  • "devinfo": {
    },
  • "controller_add": "string"
}

Sets the pfSense device's public key which is used by a controller to manage it.

The ED25519 public key set to the device is used for secure Noise handshaking between the controller and the device to ensure the establish trust. The public key part is exported in the DeviceIdentity structure and is what should be updated on the controller when this device's key is changed.

This function is intended to be used on the device to change its ED25519 public key.

Request Body schema: application/json
required
keytype
string
privkey
string
pubkey
string

Responses

Request samples

Content type
application/json
{
  • "keytype": "string",
  • "privkey": "string",
  • "pubkey": "string"
}

Response samples

Content type
application/json
{
  • "keytype": "string",
  • "privkey": "string",
  • "pubkey": "string"
}

Get controlled devices

query Parameters
tags
string

comma separated list of tags

Responses

Response samples

Content type
application/json
{
  • "devices": [
    ]
}

Add device to be controlled. This will also attempt to connect to the device and perform an authentication handshake with it.

Request Body schema: application/json
required
One of
name
string

name of device

alias
string

another alias for the device

device_type
string

device type, eg pfsense

type
string

alias to device_type

pubkey
string

public key identity of device

address
string

device's API URL, e.g. https://0.0.0.0:8443

vpn_pubkey
string

VPN public key

vpn_address
string

MIM VPN address

vpn_prefix
string

MIM VPN address subnet

vpn_netkey
string

MIM VPN netkey

vpn_listenaddr
string

MIM listening address:port

tags
Array of strings
object (ControlledDeviceInfo)

Additional information about the device

controller_add
string

API command that can be used to add the device to the controller

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "alias": "string",
  • "device_type": "string",
  • "type": "string",
  • "pubkey": "string",
  • "address": "string",
  • "vpn_pubkey": "string",
  • "vpn_address": "string",
  • "vpn_prefix": "string",
  • "vpn_netkey": "string",
  • "vpn_listenaddr": "string",
  • "tags": [
    ],
  • "devinfo": {
    },
  • "controller_add": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "alias": "string",
  • "device_id": "string",
  • "device_type": "string",
  • "tags": [
    ],
  • "address": "string",
  • "address6": "string",
  • "primary_auth": "string",
  • "auth": {
    },
  • "state": "string",
  • "device_cert": "string",
  • "device_key": "string",
  • "device_info": {
    }
}

Get certificates for controlled devices

Responses

Response samples

Content type
application/json
{
  • "certs": [
    ]
}

Add/update certificate for controlled devices

Request Body schema: application/json
required
name
string
key
string
cert
string
ca_cert
string
object (ControlledDeviceCertOptions)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "key": "string",
  • "cert": "string",
  • "ca_cert": "string",
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "key": "string",
  • "cert": "string",
  • "ca_cert": "string"
}

Delete certificate

path Parameters
cert
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Update device's settings, which can include its VPN keys or tags. Only parameters provided will be updated

path Parameters
device_id
required
string
Request Body schema: application/json
required
name
string
alias
string
device_id
string
device_type
string
tags
Array of strings
address
string
address6
string
primary_auth
string
object (ControlledDeviceAuth)
state
string

current device state: active, error, offline, rebooting, pending (pending auth)

device_cert
string

recorded value of device certificate

device_key
string

public key of device

object (ControlledDeviceInfo)

Additional information about the device

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "alias": "string",
  • "device_id": "string",
  • "device_type": "string",
  • "tags": [
    ],
  • "address": "string",
  • "address6": "string",
  • "primary_auth": "string",
  • "auth": {
    },
  • "state": "string",
  • "device_cert": "string",
  • "device_key": "string",
  • "device_info": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "alias": "string",
  • "device_id": "string",
  • "device_type": "string",
  • "tags": [
    ],
  • "address": "string",
  • "address6": "string",
  • "primary_auth": "string",
  • "auth": {
    },
  • "state": "string",
  • "device_cert": "string",
  • "device_key": "string",
  • "device_info": {
    }
}

Remove the device from the controller

path Parameters
device_id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

get all tags and mappings to devices that are assigned them

Responses

Response samples

Content type
application/json
{
  • "tags": {
    }
}

add new tag to the specified devices

Request Body schema: application/json
required
tags
Array of strings
devices
Array of strings
action
string

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ],
  • "devices": [
    ],
  • "action": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete tag, removing it from applied devices.

path Parameters
tag
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Remove the tag from the specified device. If tag == "*" then remove all tags from the device.

path Parameters
tag
required
string
device_id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "alias": "string",
  • "device_id": "string",
  • "device_type": "string",
  • "tags": [
    ],
  • "address": "string",
  • "address6": "string",
  • "primary_auth": "string",
  • "auth": {
    },
  • "state": "string",
  • "device_cert": "string",
  • "device_key": "string",
  • "device_info": {
    }
}

services

List backups

query Parameters
userkey
string

Responses

Response samples

Content type
application/json
{
  • "backups": [
    ],
  • "staged_backups": 0
}

Perform a backup

Request Body schema: application/json
required
reason
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Retrieve backup

query Parameters
userkey
string
revision
string

Responses

Response samples

Content type
application/json
{
  • "backup": "string"
}

Delete backup

path Parameters
timestamp
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get ACB config

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "userkey": "string"
}

Save ACB config

Request Body schema: application/json
required
object (ACBConfig)

valid values: frequency = "cron", "every" reverse = "yes", "no"

userkey
string

Responses

Request samples

Content type
application/json
{
  • "config": {
    },
  • "userkey": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Restore from ACB backup

Request Body schema: application/json
required
timestamp
string

Responses

Request samples

Content type
application/json
{
  • "timestamp": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Perform action on System Service

Request Body schema: application/json
required
object (ServicesActionParams)

valid values: action = "start", "stop", "restart"

Responses

Request samples

Content type
application/json
{
  • "params": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get Captive Portal Zones

Responses

Response samples

Content type
application/json
{
  • "config": [
    ]
}

Set a Captive Portal configuration

Request Body schema: application/json
required
zone
required
string
zoneid
string

optional, 0-57535

descr
string
localauth_priv
boolean
interface
string
maxproc
string
maxprocperip
string
timeout
string
idletimeout
string
trafficquota
string
freelogins_count
string
freelogins_resettimeout
string
freelogins_updatetimeouts
boolean
logoutwin_enable
boolean
enable
boolean
auth_method
string
auth_server
string
auth_server2
string
radmac_secret
string
radmac_fallback
boolean
radiussession_timeout
boolean
radiustraffic_quota
boolean
radiusperuserbw
boolean
radacct_enable
boolean
radacct_server
string
reverseacct
boolean
includeidletime
boolean
reauthenticate
boolean
preservedb
boolean
reauthenticateacct
string
httpslogin
boolean
httpsname
string
preauthurl
string
blockedmacsurl
string
certref
string
nohttpsforwards
boolean
nomacfilter
boolean
redirurl
string
passthrumacadd
boolean
radmac_format
string
radiusnasid
string
customlogo
boolean
custombg
boolean
customhtml
boolean
termsconditions
string
page
string
noconcurrentlogins
string
peruserbw
boolean
bwdefaultdn
string
bwdefaultup
string
enablebackwardsync
boolean
backwardsyncip
string
backwardsyncuser
string
backwardsyncpassword
string
Array of objects (CaptivePassthruMac)
Array of objects (CaptiveAllowedIP)
Array of objects (CaptiveAllowedHost)
Array of objects (CaptiveElement)

Responses

Request samples

Content type
application/json
{
  • "zone": "string",
  • "zoneid": "string",
  • "descr": "string",
  • "localauth_priv": true,
  • "interface": "string",
  • "maxproc": "string",
  • "maxprocperip": "string",
  • "timeout": "string",
  • "idletimeout": "string",
  • "trafficquota": "string",
  • "freelogins_count": "string",
  • "freelogins_resettimeout": "string",
  • "freelogins_updatetimeouts": true,
  • "logoutwin_enable": true,
  • "enable": true,
  • "auth_method": "string",
  • "auth_server": "string",
  • "auth_server2": "string",
  • "radmac_secret": "string",
  • "radmac_fallback": true,
  • "radiussession_timeout": true,
  • "radiustraffic_quota": true,
  • "radiusperuserbw": true,
  • "radacct_enable": true,
  • "radacct_server": "string",
  • "reverseacct": true,
  • "includeidletime": true,
  • "reauthenticate": true,
  • "preservedb": true,
  • "reauthenticateacct": "string",
  • "httpslogin": true,
  • "httpsname": "string",
  • "preauthurl": "string",
  • "blockedmacsurl": "string",
  • "certref": "string",
  • "nohttpsforwards": true,
  • "nomacfilter": true,
  • "redirurl": "string",
  • "passthrumacadd": true,
  • "radmac_format": "string",
  • "radiusnasid": "string",
  • "customlogo": true,
  • "custombg": true,
  • "customhtml": true,
  • "termsconditions": "string",
  • "page": "string",
  • "noconcurrentlogins": "string",
  • "peruserbw": true,
  • "bwdefaultdn": "string",
  • "bwdefaultup": "string",
  • "enablebackwardsync": true,
  • "backwardsyncip": "string",
  • "backwardsyncuser": "string",
  • "backwardsyncpassword": "string",
  • "passthrumac": [
    ],
  • "allowedip": [
    ],
  • "allowedhostname": [
    ],
  • "element": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Disconnect some or all users from Captive Portal zone

path Parameters
id
required
string
Request Body schema: application/json
required
all
boolean
session_id
string

Responses

Request samples

Content type
application/json
{
  • "all": true,
  • "session_id": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the status of current active users in a zone.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "users": [
    ]
}

Get a specific Captive Portal configuration

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "interfaces": [
    ],
  • "certificates": [
    ],
  • "vouch": {
    }
}

Delete a specific Captive Portal configuration

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Enable/Disable the CARP service

query Parameters
enabled
boolean

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "maintenancemode_enabled": true,
  • "my_hostid": "string",
  • "state_sync_hostids": [
    ],
  • "vips": [
    ]
}

Enable/Disable persistent maintenance mode

query Parameters
enabled
boolean

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "maintenancemode_enabled": true,
  • "my_hostid": "string",
  • "state_sync_hostids": [
    ],
  • "vips": [
    ]
}

Reset demotions and return if any problems were detected (carp_detected_problems != 0)

Responses

Response samples

Content type
application/json
{
  • "carp_detected_problems": 0
}

Get the current status of any active CARP clusters

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "maintenancemode_enabled": true,
  • "my_hostid": "string",
  • "state_sync_hostids": [
    ],
  • "vips": [
    ]
}

Get current DHCP over IPv4 Relay configuration

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "interfaces": [
    ],
  • "carp_status_vip": "string",
  • "append_circuit_agent_ids": true,
  • "upstream_servers": [
    ],
  • "carp_status_vip_entries": [
    ],
  • "interfaces_entries": [
    ]
}

Set DHCP over IPv4 Relay configuration

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle DHCP over IPv4 Relay configuration

Request Body schema: application/json
required
enable
boolean

Responses

Request samples

Content type
application/json
{
  • "enable": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get current DHCP over IPv6 Relay configuration

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "interfaces": [
    ],
  • "carp_status_vip": "string",
  • "append_circuit_agent_ids": true,
  • "upstream_servers": [
    ],
  • "carp_status_vip_entries": [
    ],
  • "interfaces_entries": [
    ]
}

Set DHCP over IPv6 Relay configuration

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Toggle DHCP over IPv6 Relay configuration

Request Body schema: application/json
required
enable
boolean

Responses

Request samples

Content type
application/json
{
  • "enable": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get current configuration of the DHCP server

Responses

Response samples

Content type
application/json
{
  • "service": {
    },
  • "dhcpd": {
    },
  • "dhcpdv6": {
    }
}

Set new DHCP server configuration

Request Body schema: application/json
required
object (DhcpGlobalSettings)
object (DhcpServiceConfig)

Per IP version DHCP service setting

object (DhcpServiceConfig)

Per IP version DHCP service setting

Responses

Request samples

Content type
application/json
{
  • "service": {
    },
  • "dhcpd": {
    },
  • "dhcpdv6": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

List all address pools for an interface

path Parameters
iface
required
string
version
required
string

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ]
}

Create a address pool for a given interface

path Parameters
iface
required
string
version
required
string
Request Body schema: application/json
required
id
string

readonly (index)

deny_unknown_clients
string

disabled | enabled | class

description
string
address_pool_range_from
string
address_pool_range_to
string
wins_servers
Array of strings
dns_servers
Array of strings
gateway
string
domain_name
string
domain_search_list
Array of strings
mac_allow
Array of strings
mac_deny
Array of strings
ntp_servers
Array of strings
tftp_server
string
ldap_server_uri
string
object (DhcpNetworkBooting)
subnet
string
subnet_range_from
string
subnet_range_to
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "deny_unknown_clients": "string",
  • "description": "string",
  • "address_pool_range_from": "string",
  • "address_pool_range_to": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "subnet": "string",
  • "subnet_range_from": "string",
  • "subnet_range_to": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "deny_unknown_clients": "string",
  • "description": "string",
  • "address_pool_range_from": "string",
  • "address_pool_range_to": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "subnet": "string",
  • "subnet_range_from": "string",
  • "subnet_range_to": "string"
}

Update address pool

path Parameters
iface
required
string
id
required
string
version
required
string
Request Body schema: application/json
required
id
string

readonly (index)

deny_unknown_clients
string

disabled | enabled | class

description
string
address_pool_range_from
string
address_pool_range_to
string
wins_servers
Array of strings
dns_servers
Array of strings
gateway
string
domain_name
string
domain_search_list
Array of strings
mac_allow
Array of strings
mac_deny
Array of strings
ntp_servers
Array of strings
tftp_server
string
ldap_server_uri
string
object (DhcpNetworkBooting)
subnet
string
subnet_range_from
string
subnet_range_to
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "deny_unknown_clients": "string",
  • "description": "string",
  • "address_pool_range_from": "string",
  • "address_pool_range_to": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "subnet": "string",
  • "subnet_range_from": "string",
  • "subnet_range_to": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete address pool by its id

path Parameters
iface
required
string
id
required
string
version
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get a list of all available interfaces

path Parameters
version
required
string

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ]
}

Get the configuration for the interface

path Parameters
iface
required
string
version
required
string

Responses

Response samples

Content type
application/json
{
  • "if_ident": "string",
  • "if_assigned_name": "string",
  • "enabled": true,
  • "deny_unknown_clients": "string",
  • "ignore_client_identifiers": true,
  • "dns_reg": "string",
  • "early_dns_reg": "string",
  • "address_pool_range_from": "string",
  • "address_pool_range_to": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "additional_pools": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "default_lease_time": 0,
  • "maximum_lease_time": 0,
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "static_mappings": [
    ],
  • "static_mappings_v6": [
    ],
  • "subnet": "string",
  • "subnet_range_from": "string",
  • "subnet_range_to": "string",
  • "backend": "string"
}

Set interface DHCP configuration

path Parameters
iface
required
string
version
required
string
Request Body schema: application/json
required
if_ident
string
if_assigned_name
string
enabled
boolean
deny_unknown_clients
string
ignore_client_identifiers
boolean
dns_reg
string
early_dns_reg
string
address_pool_range_from
string
address_pool_range_to
string
wins_servers
Array of strings
dns_servers
Array of strings
Array of objects (DhcpAddressPool)
gateway
string
domain_name
string
domain_search_list
Array of strings
default_lease_time
integer
maximum_lease_time
integer
mac_allow
Array of strings
mac_deny
Array of strings
ntp_servers
Array of strings
tftp_server
string
ldap_server_uri
string
object (DhcpNetworkBooting)
Array of objects (DhcpStaticMapping)
Array of objects (Dhcpv6StaticMapping)
subnet
string
subnet_range_from
string
subnet_range_to
string
backend
string

Responses

Request samples

Content type
application/json
{
  • "if_ident": "string",
  • "if_assigned_name": "string",
  • "enabled": true,
  • "deny_unknown_clients": "string",
  • "ignore_client_identifiers": true,
  • "dns_reg": "string",
  • "early_dns_reg": "string",
  • "address_pool_range_from": "string",
  • "address_pool_range_to": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "additional_pools": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "default_lease_time": 0,
  • "maximum_lease_time": 0,
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "static_mappings": [
    ],
  • "static_mappings_v6": [
    ],
  • "subnet": "string",
  • "subnet_range_from": "string",
  • "subnet_range_to": "string",
  • "backend": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

List all static mappings for an interface

path Parameters
iface
required
string
version
required
string

Responses

Response samples

Content type
application/json
{
  • "entries": [
    ],
  • "entriesv6": [
    ]
}

Create a static mapping for a given interface

path Parameters
iface
required
string
version
required
string
Request Body schema: application/json
required
id
string
mac_address
string
client_identifier
string
ip_address
string
arp_table_static_entry
boolean
hostname
string
description
string
early_dns_reg
string
wins_servers
Array of strings
dns_servers
Array of strings
gateway
string
domain_name
string
domain_search_list
Array of strings
ntp_servers
Array of strings
tftp_server
string
ldap_server_uri
string
object (DhcpNetworkBooting)
duid
string
ipv6_address
string
filename
string
rootpath
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "mac_address": "string",
  • "client_identifier": "string",
  • "ip_address": "string",
  • "arp_table_static_entry": true,
  • "hostname": "string",
  • "description": "string",
  • "early_dns_reg": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "duid": "string",
  • "ipv6_address": "string",
  • "filename": "string",
  • "rootpath": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "mac_address": "string",
  • "client_identifier": "string",
  • "ip_address": "string",
  • "arp_table_static_entry": true,
  • "hostname": "string",
  • "description": "string",
  • "early_dns_reg": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "duid": "string",
  • "ipv6_address": "string",
  • "filename": "string",
  • "rootpath": "string"
}

Update static mapping

path Parameters
iface
required
string
id
required
string
version
required
string
Request Body schema: application/json
required
id
string
mac_address
string
client_identifier
string
ip_address
string
arp_table_static_entry
boolean
hostname
string
description
string
early_dns_reg
string
wins_servers
Array of strings
dns_servers
Array of strings
gateway
string
domain_name
string
domain_search_list
Array of strings
ntp_servers
Array of strings
tftp_server
string
ldap_server_uri
string
object (DhcpNetworkBooting)
duid
string
ipv6_address
string
filename
string
rootpath
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "mac_address": "string",
  • "client_identifier": "string",
  • "ip_address": "string",
  • "arp_table_static_entry": true,
  • "hostname": "string",
  • "description": "string",
  • "early_dns_reg": "string",
  • "wins_servers": [
    ],
  • "dns_servers": [
    ],
  • "gateway": "string",
  • "domain_name": "string",
  • "domain_search_list": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "duid": "string",
  • "ipv6_address": "string",
  • "filename": "string",
  • "rootpath": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete static mapping by its id

path Parameters
iface
required
string
id
required
string
version
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

List DHCP leases

Responses

Response samples

Content type
application/json
{
  • "v4leases": [
    ],
  • "v6leases": [
    ],
  • "prefixes": [
    ],
  • "interfaces": [
    ],
  • "interfacesv6": [
    ],
  • "v4_ha_status": [
    ],
  • "v6_ha_status": [
    ]
}

Delete DHCP lease

path Parameters
ip
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete all IPv4 DHCP leases

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete all IPv6 DHCP leases

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get DNS Forwarder config

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "interfaces": {
    }
}

Update DNS Forwarder config

Request Body schema: application/json
required
object (DNSForwarderConfig)

Responses

Request samples

Content type
application/json
{
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get DNS Resolver config

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "interfaces": {
    },
  • "certs": [
    ],
  • "scripts": [
    ]
}

Update DNS Resolver config

Request Body schema: application/json
required
object (DNSResolverConfig)

Responses

Request samples

Content type
application/json
{
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the status of the DNS resolver

Responses

Response samples

Content type
application/json
{
  • "speed": [
    ],
  • "stats": [
    ]
}

Get all Dynamic DNS configs

Responses

Response samples

Content type
application/json
{
  • "dyndnses": [
    ]
}

Add Dynamic DNS config

Request Body schema: application/json
required
enable
required
boolean
type
required
string
username
string
password
string

base64 encoded

host
string
domainname
string
mx
string
wildcard
boolean
verboselog
boolean
curl_ipresolve_v4
boolean
curl_ssl_verifypeer
boolean
curl_proxy
boolean
maxcacheage
string
interface
string
zoneid
string
ttl
string
updateurl
string
resultmatch
string
requestif
string
proxied
boolean
descr
string
id
string
check_ip_mode
string

auto (default), always, never

status
string

failed or updated

ip
string

cached IP/IPv6

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "type": "string",
  • "username": "string",
  • "password": "string",
  • "host": "string",
  • "domainname": "string",
  • "mx": "string",
  • "wildcard": true,
  • "verboselog": true,
  • "curl_ipresolve_v4": true,
  • "curl_ssl_verifypeer": true,
  • "curl_proxy": true,
  • "maxcacheage": "string",
  • "interface": "string",
  • "zoneid": "string",
  • "ttl": "string",
  • "updateurl": "string",
  • "resultmatch": "string",
  • "requestif": "string",
  • "proxied": true,
  • "descr": "string",
  • "id": "string",
  • "check_ip_mode": "string",
  • "status": "string",
  • "ip": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get all CheckIP Services

Responses

Response samples

Content type
application/json
{
  • "checkipservice": [
    ]
}

Add a CheckIP Service

Request Body schema: application/json
required
enable
required
boolean
name
string
url
string
username
string
password
string
verifysslpeer
boolean
curl_proxy
boolean
descr
string

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "name": "string",
  • "url": "string",
  • "username": "string",
  • "password": "string",
  • "verifysslpeer": true,
  • "curl_proxy": true,
  • "descr": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Update a CheckIP Service

path Parameters
id
required
string
Request Body schema: application/json
required
enable
required
boolean
name
string
url
string
username
string
password
string
verifysslpeer
boolean
curl_proxy
boolean
descr
string

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "name": "string",
  • "url": "string",
  • "username": "string",
  • "password": "string",
  • "verifysslpeer": true,
  • "curl_proxy": true,
  • "descr": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete a CheckIP Service

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get full RFC config

Responses

Response samples

Content type
application/json
{
  • "dnsupdate": [
    ]
}

Add an RFC config

Request Body schema: application/json
required
enable
required
boolean
host
string
zone
string
ttl
string
keyname
string
keyalgorithm
string
keydata
string
server
string
usetcp
boolean
usepublicip
boolean
recordtype
string
interface
string
updatesource
string
updatesourcefamily
string
descr
string
status
string

failed or updated

ip
string

cached IP/IPv6

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "host": "string",
  • "zone": "string",
  • "ttl": "string",
  • "keyname": "string",
  • "keyalgorithm": "string",
  • "keydata": "string",
  • "server": "string",
  • "usetcp": true,
  • "usepublicip": true,
  • "recordtype": "string",
  • "interface": "string",
  • "updatesource": "string",
  • "updatesourcefamily": "string",
  • "descr": "string",
  • "status": "string",
  • "ip": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete an RFC config

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Update an RFC config

path Parameters
id
required
string
Request Body schema: application/json
required
enable
required
boolean
host
string
zone
string
ttl
string
keyname
string
keyalgorithm
string
keydata
string
server
string
usetcp
boolean
usepublicip
boolean
recordtype
string
interface
string
updatesource
string
updatesourcefamily
string
descr
string
status
string

failed or updated

ip
string

cached IP/IPv6

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "host": "string",
  • "zone": "string",
  • "ttl": "string",
  • "keyname": "string",
  • "keyalgorithm": "string",
  • "keydata": "string",
  • "server": "string",
  • "usetcp": true,
  • "usepublicip": true,
  • "recordtype": "string",
  • "interface": "string",
  • "updatesource": "string",
  • "updatesourcefamily": "string",
  • "descr": "string",
  • "status": "string",
  • "ip": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get IGMP proxies

Responses

Response samples

Content type
application/json
{
  • "igmpentries": [
    ],
  • "enable": true,
  • "verbose": true,
  • "interfaces": [
    ]
}

Add IGMP proxy

Request Body schema: application/json
required
ifname
required
string
threshold
integer
descr
string
type
string
address
required
Array of strings
id
string

record ID, read-only

Responses

Request samples

Content type
application/json
{
  • "ifname": "string",
  • "threshold": 0,
  • "descr": "string",
  • "type": "string",
  • "address": [
    ],
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Update IGMP proxy

Request Body schema: application/json
required
verbose
boolean
enable
boolean

Responses

Request samples

Content type
application/json
{
  • "verbose": true,
  • "enable": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Update IGMP proxy

path Parameters
id
required
string
Request Body schema: application/json
required
ifname
required
string
threshold
integer
descr
string
type
string
address
required
Array of strings
id
string

record ID, read-only

Responses

Request samples

Content type
application/json
{
  • "ifname": "string",
  • "threshold": 0,
  • "descr": "string",
  • "type": "string",
  • "address": [
    ],
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete IGMP proxy

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get NDP Table

Responses

Response samples

Content type
application/json
{
  • "ndptable": [
    ]
}

Delete NDP Table

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Delete a NDP Entry

path Parameters
ip
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get current NTP configuration

Responses

Response samples

Content type
application/json
{
  • "settings": {
    },
  • "acls": {
    },
  • "serial_gps": {
    },
  • "pps": {
    }
}

Updates the NTP configuration

Request Body schema: application/json
required
object (NtpSettings)
object (NtpAcls)
object (NtpSerialGps)
object (NtpPps)

Responses

Request samples

Content type
application/json
{
  • "settings": {
    },
  • "acls": {
    },
  • "serial_gps": {
    },
  • "pps": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the status of current NTP servers

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "query_enabled": true,
  • "servers": [
    ]
}

Stop ntp service

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get PPPoE config

Responses

Response samples

Content type
application/json
{
  • "pppoe": [
    ],
  • "interfaces": [
    ]
}

Set PPPoE config

Request Body schema: application/json
required
Array of objects (PPPoEServer)

Responses

Request samples

Content type
application/json
{
  • "pppoe": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get router advertisement configuration

Responses

Response samples

Content type
application/json
{
  • "intf_radvs": [
    ]
}

Configure router advertisement for assigned interface

path Parameters
intf
required
string
Request Body schema: application/json
required
assigned_interface
required
string

assigned name of network interface

mode
required
string
Enum: "disabled" "router" "unmanaged" "managed" "assist" "stateless_dhcp"

disabled, router, unmanaged, managed, assist, stateless_dhcp

priority
string

low, normal, high

lifetime_secs
integer

length of time in seconds, default is 86400

pref_lifetime_secs
integer

length of time from SLAAC addresses remain preferred, default 14400

min_ra_interval
integer

minimum time allowed between sending unsolicited multicast RA in seconds, default 200

max_ra_interval
integer

maximum time allowed between sending unsolicited multicast RA in seconds, default 600

router_lifetime
integer

lifetime associated wi th default router in seconds, default 3x max RA

nat64_enable
boolean

advertise a NAT64 prefix

nat64_prefix
string

NAT 64 prefix to enable PREF64 support

nat64_prefix_life
integer

length of time in seconds that the prefix is valid for NAT64, default is 3x RA

ra_subnets
Array of strings
enable_dns
boolean

provide DNS configuration via RA service

mirror_dhcp6
boolean

copy DNS configuration from primary DHCPv6 options

dns_servers
Array of strings
dns_searchlist
Array of strings

Responses

Request samples

Content type
application/json
{
  • "assigned_interface": "string",
  • "mode": "disabled",
  • "priority": "string",
  • "lifetime_secs": 0,
  • "pref_lifetime_secs": 0,
  • "min_ra_interval": 0,
  • "max_ra_interval": 0,
  • "router_lifetime": 0,
  • "nat64_enable": true,
  • "nat64_prefix": "string",
  • "nat64_prefix_life": 0,
  • "ra_subnets": [
    ],
  • "enable_dns": true,
  • "mirror_dhcp6": true,
  • "dns_servers": [
    ],
  • "dns_searchlist": [
    ]
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get SNMP config

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "interfaces": [
    ]
}

Set SNMP config

Request Body schema: application/json
required
object (SNMPConfig)

Responses

Request samples

Content type
application/json
{
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Get Service Status

Responses

Response samples

Content type
application/json
{
  • "services": [
    ]
}

Get UPnP config

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "interfaces": [
    ]
}

Set UPnP config

Request Body schema: application/json
required
object (UPnPConfig)

Responses

Request samples

Content type
application/json
{
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "result": "string"
}

Create Service ACL

Request Body schema: application/json
required
permuser
string

Responses

Request samples

Content type
application/json
{
  • "permuser": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "permuser": "string"
}

Delete Service ACL

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get a list of active UPnP mappings

Responses

Response samples

Content type
application/json
{
  • "mappings": [
    ]
}

Toggle UPNP

Request Body schema: application/json
required
enable
boolean

Responses

Request samples

Content type
application/json
{
  • "enable": true
}

Response samples

Content type
application/json
{
  • "result": "string"
}

vpn

Get IPSec Phases

Responses

Response samples

Content type
application/json
{
  • "phase1": [
    ],
  • "phase2": [
    ],
  • "ipsec_capable_ifs": [
    ]
}

Get IPSec Advanced Configuration

Responses

Response samples

Content type
application/json
{
  • "logging": {
    },
  • "async_crypto": true,
  • "uniqueids": "string",
  • "filtermode": "string",
  • "bypassrules": {
    },
  • "pkcs11support": true,
  • "enableinterfacesuse": true,
  • "unityplugin": true,
  • "strictcrlpolicy": true,
  • "makebeforebreak": true,
  • "ipsecbypass": true,
  • "acceptunencryptedmainmode": true,
  • "maxexchange": 0,
  • "port_nat_t": 0,
  • "port": 0,
  • "compression": true,
  • "noshuntlaninterfaces": true,
  • "maxmss": "string",
  • "dns_interval": 0,
  • "ikev2_retransmit_enable": true,
  • "ikev2_retransmit_tries": 0,
  • "ikev2_retransmit_timeout": 0,
  • "ikev2_retransmit_base": 0,
  • "ikev2_retransmit_jitter": 0,
  • "ikev2_retransmit_limit": 0
}

Update IPSec Config

Request Body schema: application/json
required
object (IPSecLogging)
async_crypto
boolean
uniqueids
string
filtermode
string
object (IPSecBypassRules)
pkcs11support
boolean
enableinterfacesuse
boolean
unityplugin
boolean
strictcrlpolicy
boolean
makebeforebreak
boolean
ipsecbypass
boolean
acceptunencryptedmainmode
boolean
maxexchange
integer
port_nat_t
integer
port
integer
compression
boolean
noshuntlaninterfaces
boolean
maxmss
string
dns_interval
integer
ikev2_retransmit_enable
boolean
ikev2_retransmit_tries
integer
ikev2_retransmit_timeout
integer
ikev2_retransmit_base
integer
ikev2_retransmit_jitter
integer
ikev2_retransmit_limit
integer

Responses

Request samples

Content type
application/json
{
  • "logging": {
    },
  • "async_crypto": true,
  • "uniqueids": "string",
  • "filtermode": "string",
  • "bypassrules": {
    },
  • "pkcs11support": true,
  • "enableinterfacesuse": true,
  • "unityplugin": true,
  • "strictcrlpolicy": true,
  • "makebeforebreak": true,
  • "ipsecbypass": true,
  • "acceptunencryptedmainmode": true,
  • "maxexchange": 0,
  • "port_nat_t": 0,
  • "port": 0,
  • "compression": true,
  • "noshuntlaninterfaces": true,
  • "maxmss": "string",
  • "dns_interval": 0,
  • "ikev2_retransmit_enable": true,
  • "ikev2_retransmit_tries": 0,
  • "ikev2_retransmit_timeout": 0,
  • "ikev2_retransmit_base": 0,
  • "ikev2_retransmit_jitter": 0,
  • "ikev2_retransmit_limit": 0
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get IPSec Client

Responses

Response samples

Content type
application/json
{
  • "client": {
    },
  • "user_groups": [
    ],
  • "auth_servers": {
    }
}

Update IPSec Client

Request Body schema: application/json
required
enable
required
boolean
radiusaccounting
boolean
user_source
string
user_source_array
Array of strings
group_source
boolean
auth_groups
string
auth_groups_array
Array of strings
pool_address
string
pool_netbits
string
pool_address_v6
string
pool_netbits_v6
string
net_list
boolean
save_passwd
boolean
dns_domain
string
dns_split
string
dns_server1
string
dns_server2
string
dns_server3
string
dns_server4
string
wins_server1
string
wins_server2
string
pfs_group
string
login_banner
string
radius_ip_priority_enable
boolean
radius_retransmit_base
string
radius_retransmit_timeout
string
radius_retransmit_tries
string
radius_sockets
string

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "radiusaccounting": true,
  • "user_source": "string",
  • "user_source_array": [
    ],
  • "group_source": true,
  • "auth_groups": "string",
  • "auth_groups_array": [
    ],
  • "pool_address": "string",
  • "pool_netbits": "string",
  • "pool_address_v6": "string",
  • "pool_netbits_v6": "string",
  • "net_list": true,
  • "save_passwd": true,
  • "dns_domain": "string",
  • "dns_split": "string",
  • "dns_server1": "string",
  • "dns_server2": "string",
  • "dns_server3": "string",
  • "dns_server4": "string",
  • "wins_server1": "string",
  • "wins_server2": "string",
  • "pfs_group": "string",
  • "login_banner": "string",
  • "radius_ip_priority_enable": true,
  • "radius_retransmit_base": "string",
  • "radius_retransmit_timeout": "string",
  • "radius_retransmit_tries": "string",
  • "radius_sockets": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get IPSec Client Group Pools

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ]
}

Add IPSec Client Group Pool

Request Body schema: application/json
required
id
string

generated by system when create group pool

ident
required
Array of strings
pool_address
required
string

must be ipv4 address

pool_netbits
required
integer [ 0 .. 32 ]

subnet for the pool address

dns_address
string

optional, if used, must be ipv4 address

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "ident": [
    ],
  • "pool_address": "string",
  • "pool_netbits": 32,
  • "dns_address": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update IPSec Client Group Pool

path Parameters
id
required
string
Request Body schema: application/json
required
id
string

generated by system when create group pool

ident
required
Array of strings
pool_address
required
string

must be ipv4 address

pool_netbits
required
integer [ 0 .. 32 ]

subnet for the pool address

dns_address
string

optional, if used, must be ipv4 address

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "ident": [
    ],
  • "pool_address": "string",
  • "pool_netbits": 32,
  • "dns_address": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete IPSec Client Group Pool

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Connect IPSec Tunnel

Request Body schema: application/json
required
connect_p1
boolean
p1_ikeid
string
connect_p2
boolean
p2_reqid
string

Responses

Request samples

Content type
application/json
{
  • "connect_p1": true,
  • "p1_ikeid": "string",
  • "connect_p2": true,
  • "p2_reqid": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Disconnect IPSec Tunnel

Request Body schema: application/json
required
phase
string
Enum: "1" "2"
conid
string
uniqueid
string

Responses

Request samples

Content type
application/json
{
  • "phase": "1",
  • "conid": "string",
  • "uniqueid": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Generate new Pre-Shared Key

Responses

Response samples

Content type
application/json
{
  • "psk": "string"
}

Get IPSec Mobile Keys

Responses

Response samples

Content type
application/json
{
  • "keys": [
    ]
}

Set IPSec Mobile Key

Request Body schema: application/json
required
ident
string
type
string
pre_shared_key
string
ident_type
string
pool_address
string
pool_netbits
string
dns_address
string

Responses

Request samples

Content type
application/json
{
  • "ident": "string",
  • "type": "string",
  • "pre_shared_key": "string",
  • "ident_type": "string",
  • "pool_address": "string",
  • "pool_netbits": "string",
  • "dns_address": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update IPSec Mobile Key

path Parameters
name
required
string
Request Body schema: application/json
required
ident
string
type
string
pre_shared_key
string
ident_type
string
pool_address
string
pool_netbits
string
dns_address
string

Responses

Request samples

Content type
application/json
{
  • "ident": "string",
  • "type": "string",
  • "pre_shared_key": "string",
  • "ident_type": "string",
  • "pool_address": "string",
  • "pool_netbits": "string",
  • "dns_address": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete IPSec Mobile Key

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Set IPSec Phase 1

Request Body schema: application/json
required
ikeid
string
iketype
required
string
interface
string
remote_gateway
string
protocol
string
myid_type
string
myid_data
string
peerid_type
string
peerid_data
string
object (Phase1Encryption)
lifetime
integer
rekey_time
integer
reauth_time
integer
rand_time
integer
pre_shared_key
string
private_key
string
certref
string
pkcs11certref
string
pkcs11pin
string
caref
string
authentication_method
string
descr
string
nat_traversal
string
mobike
string
startaction
string
closeaction
string
dpd_delay
integer
dpd_maxfail
integer
prfselect_enable
boolean
gw_duplicates
boolean
mobile
boolean
disabled
boolean

Responses

Request samples

Content type
application/json
{
  • "ikeid": "string",
  • "iketype": "string",
  • "interface": "string",
  • "remote_gateway": "string",
  • "protocol": "string",
  • "myid_type": "string",
  • "myid_data": "string",
  • "peerid_type": "string",
  • "peerid_data": "string",
  • "encryption": {
    },
  • "lifetime": 0,
  • "rekey_time": 0,
  • "reauth_time": 0,
  • "rand_time": 0,
  • "pre_shared_key": "string",
  • "private_key": "string",
  • "certref": "string",
  • "pkcs11certref": "string",
  • "pkcs11pin": "string",
  • "caref": "string",
  • "authentication_method": "string",
  • "descr": "string",
  • "nat_traversal": "string",
  • "mobike": "string",
  • "startaction": "string",
  • "closeaction": "string",
  • "dpd_delay": 0,
  • "dpd_maxfail": 0,
  • "prfselect_enable": true,
  • "gw_duplicates": true,
  • "mobile": true,
  • "disabled": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update IPSec Phase 1

path Parameters
ikeid
required
string
Request Body schema: application/json
required
ikeid
string
iketype
required
string
interface
string
remote_gateway
string
protocol
string
myid_type
string
myid_data
string
peerid_type
string
peerid_data
string
object (Phase1Encryption)
lifetime
integer
rekey_time
integer
reauth_time
integer
rand_time
integer
pre_shared_key
string
private_key
string
certref
string
pkcs11certref
string
pkcs11pin
string
caref
string
authentication_method
string
descr
string
nat_traversal
string
mobike
string
startaction
string
closeaction
string
dpd_delay
integer
dpd_maxfail
integer
prfselect_enable
boolean
gw_duplicates
boolean
mobile
boolean
disabled
boolean

Responses

Request samples

Content type
application/json
{
  • "ikeid": "string",
  • "iketype": "string",
  • "interface": "string",
  • "remote_gateway": "string",
  • "protocol": "string",
  • "myid_type": "string",
  • "myid_data": "string",
  • "peerid_type": "string",
  • "peerid_data": "string",
  • "encryption": {
    },
  • "lifetime": 0,
  • "rekey_time": 0,
  • "reauth_time": 0,
  • "rand_time": 0,
  • "pre_shared_key": "string",
  • "private_key": "string",
  • "certref": "string",
  • "pkcs11certref": "string",
  • "pkcs11pin": "string",
  • "caref": "string",
  • "authentication_method": "string",
  • "descr": "string",
  • "nat_traversal": "string",
  • "mobike": "string",
  • "startaction": "string",
  • "closeaction": "string",
  • "dpd_delay": 0,
  • "dpd_maxfail": 0,
  • "prfselect_enable": true,
  • "gw_duplicates": true,
  • "mobile": true,
  • "disabled": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete IPSec Phase 1

path Parameters
ikeid
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Add IPSec Phase 2

Request Body schema: application/json
required
ikeid
string
uniqid
string
mode
string
reqid
string
object (Phase2LocalId)
object (Phase2RemoteId)
protocol
string
Array of objects (EncryptionAlgorithm)
hash_algorithm_option
Array of strings
pfsgroup
string
lifetime
integer
rekey_time
integer
rand_time
integer
pinghost
string
keepalive
boolean
mobile
boolean
disabled
boolean
descr
string

Responses

Request samples

Content type
application/json
{
  • "ikeid": "string",
  • "uniqid": "string",
  • "mode": "string",
  • "reqid": "string",
  • "localid": {
    },
  • "remoteid": {
    },
  • "protocol": "string",
  • "encryption_algorithm_option": [
    ],
  • "hash_algorithm_option": [
    ],
  • "pfsgroup": "string",
  • "lifetime": 0,
  • "rekey_time": 0,
  • "rand_time": 0,
  • "pinghost": "string",
  • "keepalive": true,
  • "mobile": true,
  • "disabled": true,
  • "descr": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Set IPSec Phase 2

path Parameters
reqid
required
string
Request Body schema: application/json
required
ikeid
string
uniqid
string
mode
string
reqid
string
object (Phase2LocalId)
object (Phase2RemoteId)
protocol
string
Array of objects (EncryptionAlgorithm)
hash_algorithm_option
Array of strings
pfsgroup
string
lifetime
integer
rekey_time
integer
rand_time
integer
pinghost
string
keepalive
boolean
mobile
boolean
disabled
boolean
descr
string

Responses

Request samples

Content type
application/json
{
  • "ikeid": "string",
  • "uniqid": "string",
  • "mode": "string",
  • "reqid": "string",
  • "localid": {
    },
  • "remoteid": {
    },
  • "protocol": "string",
  • "encryption_algorithm_option": [
    ],
  • "hash_algorithm_option": [
    ],
  • "pfsgroup": "string",
  • "lifetime": 0,
  • "rekey_time": 0,
  • "rand_time": 0,
  • "pinghost": "string",
  • "keepalive": true,
  • "mobile": true,
  • "disabled": true,
  • "descr": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete IPSec Phase 2

path Parameters
reqid
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get IPSec Status

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "daemon_running": true,
  • "status": {
    },
  • "lease": [
    ],
  • "sads": [
    ],
  • "spds": [
    ]
}

List L2TP

Responses

Response samples

Content type
application/json
{
  • "l2tp": {
    },
  • "interfaces": [
    ]
}

Update L2TP

Request Body schema: application/json
required
mode
required
string
object (L2TPRadius)
remoteip
string
localip
string
l2tp_subnet
string
interface
string
n_l2tp_units
string
secret
string
paporchap
string
dns1
string
dns2
string
Array of objects (L2TPUser)

Responses

Request samples

Content type
application/json
{
  • "mode": "string",
  • "radius": {
    },
  • "remoteip": "string",
  • "localip": "string",
  • "l2tp_subnet": "string",
  • "interface": "string",
  • "n_l2tp_units": "string",
  • "secret": "string",
  • "paporchap": "string",
  • "dns1": "string",
  • "dns2": "string",
  • "user": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get OpenVPN clients

Responses

Response samples

Content type
application/json
{
  • "clients": [
    ],
  • "openvpn_capable_ifs": [
    ]
}

Set OpenVPN client

Request Body schema: application/json
required
vpnid
string

generated by system when create openvpn server

disable
boolean
dco
boolean
protocol
string
dev_mode
string
interface
string
ipaddr
string
local_port
integer
server_addr
string
server_port
string
proxy_addr
string
proxy_port
string
proxy_authtype
string
description
string
mode
string
topology
string
custom_options
string
caref
string
certref
string
crlref
string
tlsauth_enable
boolean
autokey_enable
boolean
autotls_enable
boolean
tls
string

OpenVPN TLS key

tls_type
string

"auth" or "crypt"

tlsauth_keydir
string
remote_cert_tls
boolean
shared_key
string
digest
string
tunnel_network
string
tunnel_networkv6
string
remote_network
string
remote_networkv6
string
use_shaper
string
allow_compression
string

"asym", "yes", "no"

compression
string
auth_retry_none
boolean
passtos
boolean
udp_fast_io
boolean
exit_notify
string
sndrcvbuf
string
route_no_pull
boolean
route_no_exec
boolean
dns_add
boolean
verbosity_level
string
create_gw
string
dh_length
string
data_ciphers
Array of strings
data_ciphers_fallback
string
ping_method
string
keepalive_interval
string
keepalive_timeout
string
ping_seconds
string
ping_action
string
ping_action_seconds
string
inactive_seconds
string

Responses

Request samples

Content type
application/json
{
  • "vpnid": "string",
  • "disable": true,
  • "dco": true,
  • "protocol": "string",
  • "dev_mode": "string",
  • "interface": "string",
  • "ipaddr": "string",
  • "local_port": 0,
  • "server_addr": "string",
  • "server_port": "string",
  • "proxy_addr": "string",
  • "proxy_port": "string",
  • "proxy_authtype": "string",
  • "description": "string",
  • "mode": "string",
  • "topology": "string",
  • "custom_options": "string",
  • "caref": "string",
  • "certref": "string",
  • "crlref": "string",
  • "tlsauth_enable": true,
  • "autokey_enable": true,
  • "autotls_enable": true,
  • "tls": "string",
  • "tls_type": "string",
  • "tlsauth_keydir": "string",
  • "remote_cert_tls": true,
  • "shared_key": "string",
  • "digest": "string",
  • "tunnel_network": "string",
  • "tunnel_networkv6": "string",
  • "remote_network": "string",
  • "remote_networkv6": "string",
  • "use_shaper": "string",
  • "allow_compression": "string",
  • "compression": "string",
  • "auth_retry_none": true,
  • "passtos": true,
  • "udp_fast_io": true,
  • "exit_notify": "string",
  • "sndrcvbuf": "string",
  • "route_no_pull": true,
  • "route_no_exec": true,
  • "dns_add": true,
  • "verbosity_level": "string",
  • "create_gw": "string",
  • "dh_length": "string",
  • "data_ciphers": [
    ],
  • "data_ciphers_fallback": "string",
  • "ping_method": "string",
  • "keepalive_interval": "string",
  • "keepalive_timeout": "string",
  • "ping_seconds": "string",
  • "ping_action": "string",
  • "ping_action_seconds": "string",
  • "inactive_seconds": "string"
}

Response samples

Content type
application/json
{
  • "vpnid": "string"
}

Get single OpenVPN client

path Parameters
vpnid
required
string

Responses

Response samples

Content type
application/json
{
  • "client": {
    }
}

Update OpenVPN client

path Parameters
vpnid
required
string
Request Body schema: application/json
required
vpnid
string

generated by system when create openvpn server

disable
boolean
dco
boolean
protocol
string
dev_mode
string
interface
string
ipaddr
string
local_port
integer
server_addr
string
server_port
string
proxy_addr
string
proxy_port
string
proxy_authtype
string
description
string
mode
string
topology
string
custom_options
string
caref
string
certref
string
crlref
string
tlsauth_enable
boolean
autokey_enable
boolean
autotls_enable
boolean
tls
string

OpenVPN TLS key

tls_type
string

"auth" or "crypt"

tlsauth_keydir
string
remote_cert_tls
boolean
shared_key
string
digest
string
tunnel_network
string
tunnel_networkv6
string
remote_network
string
remote_networkv6
string
use_shaper
string
allow_compression
string

"asym", "yes", "no"

compression
string
auth_retry_none
boolean
passtos
boolean
udp_fast_io
boolean
exit_notify
string
sndrcvbuf
string
route_no_pull
boolean
route_no_exec
boolean
dns_add
boolean
verbosity_level
string
create_gw
string
dh_length
string
data_ciphers
Array of strings
data_ciphers_fallback
string
ping_method
string
keepalive_interval
string
keepalive_timeout
string
ping_seconds
string
ping_action
string
ping_action_seconds
string
inactive_seconds
string

Responses

Request samples

Content type
application/json
{
  • "vpnid": "string",
  • "disable": true,
  • "dco": true,
  • "protocol": "string",
  • "dev_mode": "string",
  • "interface": "string",
  • "ipaddr": "string",
  • "local_port": 0,
  • "server_addr": "string",
  • "server_port": "string",
  • "proxy_addr": "string",
  • "proxy_port": "string",
  • "proxy_authtype": "string",
  • "description": "string",
  • "mode": "string",
  • "topology": "string",
  • "custom_options": "string",
  • "caref": "string",
  • "certref": "string",
  • "crlref": "string",
  • "tlsauth_enable": true,
  • "autokey_enable": true,
  • "autotls_enable": true,
  • "tls": "string",
  • "tls_type": "string",
  • "tlsauth_keydir": "string",
  • "remote_cert_tls": true,
  • "shared_key": "string",
  • "digest": "string",
  • "tunnel_network": "string",
  • "tunnel_networkv6": "string",
  • "remote_network": "string",
  • "remote_networkv6": "string",
  • "use_shaper": "string",
  • "allow_compression": "string",
  • "compression": "string",
  • "auth_retry_none": true,
  • "passtos": true,
  • "udp_fast_io": true,
  • "exit_notify": "string",
  • "sndrcvbuf": "string",
  • "route_no_pull": true,
  • "route_no_exec": true,
  • "dns_add": true,
  • "verbosity_level": "string",
  • "create_gw": "string",
  • "dh_length": "string",
  • "data_ciphers": [
    ],
  • "data_ciphers_fallback": "string",
  • "ping_method": "string",
  • "keepalive_interval": "string",
  • "keepalive_timeout": "string",
  • "ping_seconds": "string",
  • "ping_action": "string",
  • "ping_action_seconds": "string",
  • "inactive_seconds": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete OpenVPN client

path Parameters
vpnid
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get OpenVPN Client Specific Overrides

Responses

Response samples

Content type
application/json
{
  • "cscs": [
    ],
  • "removable_options": [
    ]
}

Set OpenVPN Client Specific Overrides

Request Body schema: application/json
required
id
string

generated by system when create openvpn client specific override

disable
boolean
server_list
Array of strings
override_options
string

default, push_reset, or remove_specified

remove_options
Array of strings
common_name
required
string
block
boolean
description
string
tunnel_network
string
tunnel_networkv6
string
local_network
string
local_networkv6
string
remote_network
string
remote_networkv6
string
gwredir
boolean
push_reset
boolean
push_blockoutsidedns
boolean
push_register_dns
boolean
keep_minimum
boolean
remove_route
boolean
dns_domain_enable
boolean
dns_domain
string
dns_server_enable
boolean
dns_server1
string
dns_server2
string
dns_server3
string
dns_server4
string
ntp_server_enable
boolean
ntp_server1
string
ntp_server2
string
ntp_server3
string
ntp_server4
string
netbios_enable
boolean
netbios_ntype
string
netbios_scope
string
wins_server_enable
boolean
wins_server1
string
wins_server2
string
nbdd_server_enable
boolean
nbdd_server1
string
nbdd_server2
string
ping_action
string
ping_seconds
string
ping_action_seconds
string
inactive_seconds
integer
custom_options
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "disable": true,
  • "server_list": [
    ],
  • "override_options": "string",
  • "remove_options": [
    ],
  • "common_name": "string",
  • "block": true,
  • "description": "string",
  • "tunnel_network": "string",
  • "tunnel_networkv6": "string",
  • "local_network": "string",
  • "local_networkv6": "string",
  • "remote_network": "string",
  • "remote_networkv6": "string",
  • "gwredir": true,
  • "push_reset": true,
  • "push_blockoutsidedns": true,
  • "push_register_dns": true,
  • "keep_minimum": true,
  • "remove_route": true,
  • "dns_domain_enable": true,
  • "dns_domain": "string",
  • "dns_server_enable": true,
  • "dns_server1": "string",
  • "dns_server2": "string",
  • "dns_server3": "string",
  • "dns_server4": "string",
  • "ntp_server_enable": true,
  • "ntp_server1": "string",
  • "ntp_server2": "string",
  • "ntp_server3": "string",
  • "ntp_server4": "string",
  • "netbios_enable": true,
  • "netbios_ntype": "string",
  • "netbios_scope": "string",
  • "wins_server_enable": true,
  • "wins_server1": "string",
  • "wins_server2": "string",
  • "nbdd_server_enable": true,
  • "nbdd_server1": "string",
  • "nbdd_server2": "string",
  • "ping_action": "string",
  • "ping_seconds": "string",
  • "ping_action_seconds": "string",
  • "inactive_seconds": 0,
  • "custom_options": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Get single OpenVPN Client Specific Overrides

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "csc": {
    }
}

Update OpenVPN Client Specific Overrides

path Parameters
id
required
string
Request Body schema: application/json
required
id
string

generated by system when create openvpn client specific override

disable
boolean
server_list
Array of strings
override_options
string

default, push_reset, or remove_specified

remove_options
Array of strings
common_name
required
string
block
boolean
description
string
tunnel_network
string
tunnel_networkv6
string
local_network
string
local_networkv6
string
remote_network
string
remote_networkv6
string
gwredir
boolean
push_reset
boolean
push_blockoutsidedns
boolean
push_register_dns
boolean
keep_minimum
boolean
remove_route
boolean
dns_domain_enable
boolean
dns_domain
string
dns_server_enable
boolean
dns_server1
string
dns_server2
string
dns_server3
string
dns_server4
string
ntp_server_enable
boolean
ntp_server1
string
ntp_server2
string
ntp_server3
string
ntp_server4
string
netbios_enable
boolean
netbios_ntype
string
netbios_scope
string
wins_server_enable
boolean
wins_server1
string
wins_server2
string
nbdd_server_enable
boolean
nbdd_server1
string
nbdd_server2
string
ping_action
string
ping_seconds
string
ping_action_seconds
string
inactive_seconds
integer
custom_options
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "disable": true,
  • "server_list": [
    ],
  • "override_options": "string",
  • "remove_options": [
    ],
  • "common_name": "string",
  • "block": true,
  • "description": "string",
  • "tunnel_network": "string",
  • "tunnel_networkv6": "string",
  • "local_network": "string",
  • "local_networkv6": "string",
  • "remote_network": "string",
  • "remote_networkv6": "string",
  • "gwredir": true,
  • "push_reset": true,
  • "push_blockoutsidedns": true,
  • "push_register_dns": true,
  • "keep_minimum": true,
  • "remove_route": true,
  • "dns_domain_enable": true,
  • "dns_domain": "string",
  • "dns_server_enable": true,
  • "dns_server1": "string",
  • "dns_server2": "string",
  • "dns_server3": "string",
  • "dns_server4": "string",
  • "ntp_server_enable": true,
  • "ntp_server1": "string",
  • "ntp_server2": "string",
  • "ntp_server3": "string",
  • "ntp_server4": "string",
  • "netbios_enable": true,
  • "netbios_ntype": "string",
  • "netbios_scope": "string",
  • "wins_server_enable": true,
  • "wins_server1": "string",
  • "wins_server2": "string",
  • "nbdd_server_enable": true,
  • "nbdd_server1": "string",
  • "nbdd_server2": "string",
  • "ping_action": "string",
  • "ping_seconds": "string",
  • "ping_action_seconds": "string",
  • "inactive_seconds": 0,
  • "custom_options": "string"
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete OpenVPN Client Specific Overrides

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Kill a client by host, IP or client ID

query Parameters
port
integer
remipp
string
clientid
string

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

Get the next available openvpn port

query Parameters
protocol
string
if_ident
string

Responses

Response samples

Content type
application/json
{
  • "protocol": "string",
  • "if_ident": "string",
  • "port": 0
}

Get OpenVPN servers

Responses

Response samples

Content type
application/json
{
  • "authservers": [
    ],
  • "servers": [
    ],
  • "openvpn_capable_ifs": [
    ]
}

Set OpenVPN server

Request Body schema: application/json
required
vpnid
string

generated by system when create openvpn server

dco
boolean
mode
string
authmode
Array of strings
protocol
string
dev_mode
string
interface
string
local_port
integer
description
string
tls
string

OpenVPN PEM TLS key

tls_type
string

"auth" or "crypt"

certref
string
caref
string
dh_length
string
data_ciphers
Array of strings
data_ciphers_fallback
string
digest
string
engine
string
tunnel_network
string
local_network
string
maxclients
string
allow_compression
string

"asym", "yes", "no"

dynamic_ip
boolean
topology
string
dns_domain
string
exit_notify
string
inactive_seconds
string
disable
boolean
tlsauth_enable
boolean
autotls_enable
boolean
tlsauth_keydir
string
ocspcheck
boolean
ocspurl
string
ecdh_curve
string
autokey_enable
boolean
shared_key
string
cert_depth
string
remote_cert_tls
boolean
tunnel_networkv6
string
serverbridge_dhcp
boolean
serverbridge_interface
string
serverbridge_routegateway
boolean
serverbridge_dhcp_start
string
serverbridge_dhcp_end
string
gwredir
boolean
gwredir6
boolean
local_networkv6
string
remote_network
string
remote_networkv6
string
compression
string
compression_push
boolean
passtos
boolean
client2client
boolean
duplicate_cn
boolean
ping_method
string
keepalive_interval
string
keepalive_timeout
string
ping_seconds
string
ping_push
boolean
ping_action
string
ping_action_seconds
string
ping_action_push
boolean
dns_domain_enable
boolean
dns_server_enable
boolean
dns_server1
string
dns_server2
string
dns_server3
string
dns_server4
string
push_blockoutsidedns
boolean
push_register_dns
boolean
ntp_server_enable
boolean
ntp_server1
string
ntp_server2
string
netbios_enable
boolean
netbios_ntype
string
netbios_scope
string
wins_server_enable
boolean
wins_server1
string
wins_server2
string
custom_options
string
username_as_common_name
boolean
udp_fast_io
boolean
sndrcvbuf
string
create_gw
string
verbosity_level
string
strictusercn
boolean

Responses

Request samples

Content type
application/json
{
  • "vpnid": "string",
  • "dco": true,
  • "mode": "string",
  • "authmode": [
    ],
  • "protocol": "string",
  • "dev_mode": "string",
  • "interface": "string",
  • "local_port": 0,
  • "description": "string",
  • "tls": "string",
  • "tls_type": "string",
  • "certref": "string",
  • "caref": "string",
  • "dh_length": "string",
  • "data_ciphers": [
    ],
  • "data_ciphers_fallback": "string",
  • "digest": "string",
  • "engine": "string",
  • "tunnel_network": "string",
  • "local_network": "string",
  • "maxclients": "string",
  • "allow_compression": "string",
  • "dynamic_ip": true,
  • "topology": "string",
  • "dns_domain": "string",
  • "exit_notify": "string",
  • "inactive_seconds": "string",
  • "disable": true,
  • "tlsauth_enable": true,
  • "autotls_enable": true,
  • "tlsauth_keydir": "string",
  • "ocspcheck": true,
  • "ocspurl": "string",
  • "ecdh_curve": "string",
  • "autokey_enable": true,
  • "shared_key": "string",
  • "cert_depth": "string",
  • "remote_cert_tls": true,
  • "tunnel_networkv6": "string",
  • "serverbridge_dhcp": true,
  • "serverbridge_interface": "string",
  • "serverbridge_routegateway": true,
  • "serverbridge_dhcp_start": "string",
  • "serverbridge_dhcp_end": "string",
  • "gwredir": true,
  • "gwredir6": true,
  • "local_networkv6": "string",
  • "remote_network": "string",
  • "remote_networkv6": "string",
  • "compression": "string",
  • "compression_push": true,
  • "passtos": true,
  • "client2client": true,
  • "duplicate_cn": true,
  • "ping_method": "string",
  • "keepalive_interval": "string",
  • "keepalive_timeout": "string",
  • "ping_seconds": "string",
  • "ping_push": true,
  • "ping_action": "string",
  • "ping_action_seconds": "string",
  • "ping_action_push": true,
  • "dns_domain_enable": true,
  • "dns_server_enable": true,
  • "dns_server1": "string",
  • "dns_server2": "string",
  • "dns_server3": "string",
  • "dns_server4": "string",
  • "push_blockoutsidedns": true,
  • "push_register_dns": true,
  • "ntp_server_enable": true,
  • "ntp_server1": "string",
  • "ntp_server2": "string",
  • "netbios_enable": true,
  • "netbios_ntype": "string",
  • "netbios_scope": "string",
  • "wins_server_enable": true,
  • "wins_server1": "string",
  • "wins_server2": "string",
  • "custom_options": "string",
  • "username_as_common_name": true,
  • "udp_fast_io": true,
  • "sndrcvbuf": "string",
  • "create_gw": "string",
  • "verbosity_level": "string",
  • "strictusercn": true
}

Response samples

Content type
application/json
{
  • "vpnid": "string"
}

Get single OpenVPN server

path Parameters
vpnid
required
string

Responses

Response samples

Content type
application/json
{
  • "authservers": [
    ],
  • "server": {
    }
}

Update OpenVPN server

path Parameters
vpnid
required
string
Request Body schema: application/json
required
vpnid
string

generated by system when create openvpn server

dco
boolean
mode
string
authmode
Array of strings
protocol
string
dev_mode
string
interface
string
local_port
integer
description
string
tls
string

OpenVPN PEM TLS key

tls_type
string

"auth" or "crypt"

certref
string
caref
string
dh_length
string
data_ciphers
Array of strings
data_ciphers_fallback
string
digest
string
engine
string
tunnel_network
string
local_network
string
maxclients
string
allow_compression
string

"asym", "yes", "no"

dynamic_ip
boolean
topology
string
dns_domain
string
exit_notify
string
inactive_seconds
string
disable
boolean
tlsauth_enable
boolean
autotls_enable
boolean
tlsauth_keydir
string
ocspcheck
boolean
ocspurl
string
ecdh_curve
string
autokey_enable
boolean
shared_key
string
cert_depth
string
remote_cert_tls
boolean
tunnel_networkv6
string
serverbridge_dhcp
boolean
serverbridge_interface
string
serverbridge_routegateway
boolean
serverbridge_dhcp_start
string
serverbridge_dhcp_end
string
gwredir
boolean
gwredir6
boolean
local_networkv6
string
remote_network
string
remote_networkv6
string
compression
string
compression_push
boolean
passtos
boolean
client2client
boolean
duplicate_cn
boolean
ping_method
string
keepalive_interval
string
keepalive_timeout
string
ping_seconds
string
ping_push
boolean
ping_action
string
ping_action_seconds
string
ping_action_push
boolean
dns_domain_enable
boolean
dns_server_enable
boolean
dns_server1
string
dns_server2
string
dns_server3
string
dns_server4
string
push_blockoutsidedns
boolean
push_register_dns
boolean
ntp_server_enable
boolean
ntp_server1
string
ntp_server2
string
netbios_enable
boolean
netbios_ntype
string
netbios_scope
string
wins_server_enable
boolean
wins_server1
string
wins_server2
string
custom_options
string
username_as_common_name
boolean
udp_fast_io
boolean
sndrcvbuf
string
create_gw
string
verbosity_level
string
strictusercn
boolean

Responses

Request samples

Content type
application/json
{
  • "vpnid": "string",
  • "dco": true,
  • "mode": "string",
  • "authmode": [
    ],
  • "protocol": "string",
  • "dev_mode": "string",
  • "interface": "string",
  • "local_port": 0,
  • "description": "string",
  • "tls": "string",
  • "tls_type": "string",
  • "certref": "string",
  • "caref": "string",
  • "dh_length": "string",
  • "data_ciphers": [
    ],
  • "data_ciphers_fallback": "string",
  • "digest": "string",
  • "engine": "string",
  • "tunnel_network": "string",
  • "local_network": "string",
  • "maxclients": "string",
  • "allow_compression": "string",
  • "dynamic_ip": true,
  • "topology": "string",
  • "dns_domain": "string",
  • "exit_notify": "string",
  • "inactive_seconds": "string",
  • "disable": true,
  • "tlsauth_enable": true,
  • "autotls_enable": true,
  • "tlsauth_keydir": "string",
  • "ocspcheck": true,
  • "ocspurl": "string",
  • "ecdh_curve": "string",
  • "autokey_enable": true,
  • "shared_key": "string",
  • "cert_depth": "string",
  • "remote_cert_tls": true,
  • "tunnel_networkv6": "string",
  • "serverbridge_dhcp": true,
  • "serverbridge_interface": "string",
  • "serverbridge_routegateway": true,
  • "serverbridge_dhcp_start": "string",
  • "serverbridge_dhcp_end": "string",
  • "gwredir": true,
  • "gwredir6": true,
  • "local_networkv6": "string",
  • "remote_network": "string",
  • "remote_networkv6": "string",
  • "compression": "string",
  • "compression_push": true,
  • "passtos": true,
  • "client2client": true,
  • "duplicate_cn": true,
  • "ping_method": "string",
  • "keepalive_interval": "string",
  • "keepalive_timeout": "string",
  • "ping_seconds": "string",
  • "ping_push": true,
  • "ping_action": "string",
  • "ping_action_seconds": "string",
  • "ping_action_push": true,
  • "dns_domain_enable": true,
  • "dns_server_enable": true,
  • "dns_server1": "string",
  • "dns_server2": "string",
  • "dns_server3": "string",
  • "dns_server4": "string",
  • "push_blockoutsidedns": true,
  • "push_register_dns": true,
  • "ntp_server_enable": true,
  • "ntp_server1": "string",
  • "ntp_server2": "string",
  • "netbios_enable": true,
  • "netbios_ntype": "string",
  • "netbios_scope": "string",
  • "wins_server_enable": true,
  • "wins_server1": "string",
  • "wins_server2": "string",
  • "custom_options": "string",
  • "username_as_common_name": true,
  • "udp_fast_io": true,
  • "sndrcvbuf": "string",
  • "create_gw": "string",
  • "verbosity_level": "string",
  • "strictusercn": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete OpenVPN server

path Parameters
vpnid
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get OpenVPN Status

Responses

Response samples

Content type
application/json
{
  • "servers": [
    ],
  • "sk_servers": [
    ],
  • "clients": [
    ]
}

List WireGuard config

Responses

Response samples

Content type
application/json
{
  • "config": [
    ],
  • "tunnels": {
    },
  • "peers": {
    }
}

Get a new pair of public/private keys

Responses

Response samples

Content type
application/json
{
  • "privkey": "string",
  • "privkey_clamped": "string",
  • "pubkey": "string",
  • "was_clamped": true
}

Set WireGuard Peer

Request Body schema: application/json
required
enabled
boolean
tun
string
descr
string
endpoint
string
port
string
persistentkeepalive
string
publickey
required
string
presharedkey
string
Array of objects (WGIPAddress)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "tun": "string",
  • "descr": "string",
  • "endpoint": "string",
  • "port": "string",
  • "persistentkeepalive": "string",
  • "publickey": "string",
  • "presharedkey": "string",
  • "allowedips": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update WireGuard Peer

path Parameters
pubkey
required
string
Request Body schema: application/json
required
enabled
boolean
tun
string
descr
string
endpoint
string
port
string
persistentkeepalive
string
publickey
required
string
presharedkey
string
Array of objects (WGIPAddress)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "tun": "string",
  • "descr": "string",
  • "endpoint": "string",
  • "port": "string",
  • "persistentkeepalive": "string",
  • "publickey": "string",
  • "presharedkey": "string",
  • "allowedips": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete WireGuard Peer

path Parameters
pubkey
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Set WireGuard Settings

Request Body schema: application/json
required
enable
boolean
keep_conf
boolean
resolve_interval
string
resolve_interval_track
boolean
interface_group
string
hide_secrets
boolean
hide_peers
boolean

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "keep_conf": true,
  • "resolve_interval": "string",
  • "resolve_interval_track": true,
  • "interface_group": "string",
  • "hide_secrets": true,
  • "hide_peers": true
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Wireguard status

Responses

Response samples

Content type
application/json
{
  • "status": [
    ]
}

Set WireGuard Tunnel

Request Body schema: application/json
required
name
required
string
descr
string
enabled
boolean
listenport
integer
privatekey
required
string
publickey
required
string
mtu
string
Array of objects (WGIPAddress)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "enabled": true,
  • "listenport": 0,
  • "privatekey": "string",
  • "publickey": "string",
  • "mtu": "string",
  • "addresses": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Update WireGuard Tunnel

path Parameters
name
required
string
Request Body schema: application/json
required
name
required
string
descr
string
enabled
boolean
listenport
integer
privatekey
required
string
publickey
required
string
mtu
string
Array of objects (WGIPAddress)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "enabled": true,
  • "listenport": 0,
  • "privatekey": "string",
  • "publickey": "string",
  • "mtu": "string",
  • "addresses": [
    ]
}

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Delete WireGuard Tunnel

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string"
}

Get Wireguard Tunnel Conf

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "conf": "string"
}