pfSense API (1.0)

Download OpenAPI specification:

Nexus 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": [
    ]
}

Get login related notices

Responses

Response samples

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

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": [
    ]
}

Initiate an SSO login with the specified SAML service

This function triggers an SSO authentication with the SAML service. A few redirections will take place before the completion which will return a LoginResponse payload.

path Parameters
name
required
string

Responses

Response samples

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

Retrieve the list of single sign-on authenticators for logging into the controller

Fetch the list of external login service providers that have been configured on this controller, such as: SAML, OAuth. The returned data is a list of labels to for the service and its associated URL to proceed with the login.

If no service has been configured, then an empty list is returned.

Responses

Response samples

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

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",
  • "result": "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
disable_auto_floating_states
boolean

allow IPsec rules to automatically use floating states where needed

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",
  • "disable_auto_floating_states": true,
  • "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

List system tunables

Responses

Response samples

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

Set/update tunable

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

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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

default_log_level
string

refer to options in syslog_levels

rotatecount
integer
enable_remote
boolean
remoteserver
string

ip:port of remote server

remoteserver2
string

ip:port of second remote server

remoteserver3
string

ip:port of third remote server

sourceip
string

source network interface for binding to

ipproto
string

ipv4, ipv6

logall
boolean

remote log everything

filter
boolean

remote log firewall events

dhcp
boolean

remote log DHCP events

auth
boolean

remote log authentication events

portalauth
boolean

remtoe log captive portal events

vpn
boolean

remote log vpn events

dpinger
boolean

remote log gateway monitor events

hostapd
boolean

remote log wireless events

system
boolean

remote log system events

pfnet_controller
boolean

remote log Nexus events

resolver
boolean

remote log DNS events

ppp
boolean

remote log PPP events

routing
boolean

remote log routing daemon events

ntpd
boolean

remote log NTP events

disablelocallogging
boolean

disable local logging

rawfilter
boolean

show raw filter logs

showfilterdescrips
string

where to show firewall rule descriptions:

  • "disable" - don't show,
  • "column" - as column,
  • "row" - as second row
logipoptions
boolean

log blocked packets due to IP options

logdefaultblock
boolean

log default "block" rules

logdefaultpass
boolean

log default "pass" rules

logbogons
boolean

log Bogon Networks block rules

logprivatenets
boolean

log Private Networks block rules

loglinklocal4
boolean

log IPv4 link-local block rules

logids
boolean

log hosts blocked by IDS

lognginx
boolean

log web server

logconfigchanges
boolean

log configuration changes

Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "reverse": true,
  • "nentries": 0,
  • "logfilesize": 0,
  • "logcompressiontype": "string",
  • "format": "string",
  • "default_log_level": "string",
  • "rotatecount": 0,
  • "enable_remote": true,
  • "remoteserver": "string",
  • "remoteserver2": "string",
  • "remoteserver3": "string",
  • "sourceip": "string",
  • "ipproto": "string",
  • "logall": true,
  • "filter": true,
  • "dhcp": true,
  • "auth": true,
  • "portalauth": true,
  • "vpn": true,
  • "dpinger": true,
  • "hostapd": true,
  • "system": true,
  • "pfnet_controller": true,
  • "resolver": true,
  • "ppp": true,
  • "routing": true,
  • "ntpd": true,
  • "disablelocallogging": true,
  • "rawfilter": true,
  • "showfilterdescrips": "string",
  • "logipoptions": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "loglinklocal4": true,
  • "logids": true,
  • "lognginx": true,
  • "logconfigchanges": true,
  • "source_addresses": [
    ],
  • "syslog_levels": [
    ]
}

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",
  • "default_log_level": "string",
  • "rotatecount": 0,
  • "enable_remote": true,
  • "remoteserver": "string",
  • "remoteserver2": "string",
  • "remoteserver3": "string",
  • "sourceip": "string",
  • "ipproto": "string",
  • "logall": true,
  • "filter": true,
  • "dhcp": true,
  • "auth": true,
  • "portalauth": true,
  • "vpn": true,
  • "dpinger": true,
  • "hostapd": true,
  • "system": true,
  • "pfnet_controller": true,
  • "resolver": true,
  • "ppp": true,
  • "routing": true,
  • "ntpd": true,
  • "disablelocallogging": true,
  • "rawfilter": true,
  • "showfilterdescrips": "string",
  • "logipoptions": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "loglinklocal4": true,
  • "logids": true,
  • "lognginx": true,
  • "logconfigchanges": true,
  • "source_addresses": [
    ],
  • "syslog_levels": [
    ]
}

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_rules": {
    },
  • "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
logipoptions
boolean

log blocked packets due to IP options

logdefaultblock
boolean

log default "block" rules

logdefaultpass
boolean

log default "pass" rules

logbogons
boolean

log Bogon Networks block rules

logprivatenets
boolean

log Private Networks block rules

loglinklocal4
boolean

log IPv4 link-local block rules

logids
boolean

log hosts blocked by IDS

showfilterdescrips
string

where to show firewall rule descriptions:

  • "disable" - don't show,
  • "column" - as column,
  • "row" - as second row

Responses

Request samples

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

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,
  • "logipoptions": true,
  • "logdefaultblock": true,
  • "logdefaultpass": true,
  • "logbogons": true,
  • "logprivatenets": true,
  • "loglinklocal4": true,
  • "logids": true,
  • "showfilterdescrips": "string"
}

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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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": [
    ],
  • "saml": [
    ],
  • "local": {
    },
  • "radius_nas_list": [
    ]
}

Add auth server

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

Responses

Request samples

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

Response samples

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

Update auth server

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

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "active_type": "string",
  • "active_name": "string",
  • "ldap": [
    ],
  • "radius": [
    ],
  • "saml": [
    ],
  • "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

query Parameters
maxvalues
integer

maximum number of values to return for each alias, default 5

Responses

Response samples

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

Create a new alias

Request Body schema: application/json
required
tags
string
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
display_values
Array of strings

Responses

Request samples

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

Response samples

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

Get a firewall alias

path Parameters
id
required
string

Responses

Response samples

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

Update firewall alias

path Parameters
id
required
string
Request Body schema: application/json
required
tags
string
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
display_values
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "msg": "string",
  • "alrt": true,
  • "sb": true,
  • "alrtoln": true,
  • "alrtclr": "string",
  • "auth": true,
  • "status": "string",
  • "message": "string",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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": {
    }
}

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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Get GRE 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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Get LAGG 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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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 PPP 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",
  • "result": "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",
  • "result": "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",
  • "result": "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

tag_type
string
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,
  • "tag_type": "string",
  • "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",
  • "result": "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

tag_type
string
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,
  • "tag_type": "string",
  • "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",
  • "result": "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",
  • "result": "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)

tag_type
string

ctag or stag

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,
  • "tag_type": "string",
  • "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",
  • "result": "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)

tag_type
string

ctag or stag

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,
  • "tag_type": "string",
  • "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",
  • "result": "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",
  • "result": "string"
}

Get VXLANs

Responses

Response samples

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

Add VXLAN interface

Request Body schema: application/json
required
if_device
required
string
remote_addr
string
ttl
integer
id
integer [ 1 .. 16777215 ]
local_port
integer
remote_port
integer
learn
boolean
descr
string
vxlanif
string

Responses

Request samples

Content type
application/json
{
  • "if_device": "string",
  • "remote_addr": "string",
  • "ttl": 0,
  • "id": 1,
  • "local_port": 0,
  • "remote_port": 0,
  • "learn": true,
  • "descr": "string",
  • "vxlanif": "string"
}

Response samples

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

Update VXLAN interface

path Parameters
name
required
string
Request Body schema: application/json
required
if_device
required
string
remote_addr
string
ttl
integer
id
integer [ 1 .. 16777215 ]
local_port
integer
remote_port
integer
learn
boolean
descr
string
vxlanif
string

Responses

Request samples

Content type
application/json
{
  • "if_device": "string",
  • "remote_addr": "string",
  • "ttl": 0,
  • "id": 1,
  • "local_port": 0,
  • "remote_port": 0,
  • "learn": true,
  • "descr": "string",
  • "vxlanif": "string"
}

Response samples

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

Delete VXLAN 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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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
data
boolean
ssh
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,
  • "data": true,
  • "ssh": 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"
}

Get the valid set of values that can be used for a ping request

Responses

Response samples

Content type
application/json
{
  • "source_addresses": [
    ],
  • "max_count": 0,
  • "max_wait_sec": 0
}

Ping target host

Request Body schema: application/json
required
host
string

host name or address to ping

count
integer

number of packets to send

wait_sec
integer

number of seconds between ping packets

ipv6
boolean

if hostname is provided, use IPv6 instead of IPv4

source_addr
string

local IP address or name of interface to use, default "" (any)

Responses

Request samples

Content type
application/json
{
  • "host": "string",
  • "count": 0,
  • "wait_sec": 0,
  • "ipv6": true,
  • "source_addr": "string"
}

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 current SMART test

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"
}

Get current SMART test status/result

Responses

Response samples

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

Run SMART test

query Parameters
drive
string
type
string

test type

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

delete matching source IP

dstip
string

delete matching destination IP

filter_str
string

delete states matching the filter, only used if srcip and dstip both not provided

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

destination host or IP

hops
integer

maximum hops to trace

icmp
boolean

use ICMP instead of UDP

proto
string

IP protocol (ipv4 or ipv6)

rev
boolean

reverse address lookup

src
string

source IP, network interface or "any"

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"
}

Get options for traceroute

Responses

Response samples

Content type
application/json
{
  • "src": [
    ],
  • "proto": [
    ]
}

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",
  • "result": "string"
}

Toggle NPt Rules

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

true to disable

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",
  • "result": "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",
  • "result": "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

true to disable

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",
  • "result": "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
eimnat
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,
  • "eimnat": 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",
  • "result": "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
eimnat
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,
  • "eimnat": 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",
  • "result": "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

true to disable

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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Get list of firewall interfaces

Responses

Response samples

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

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

unique identifier for the rule

fwids
string

system's identifier(s) for rule in its firewall

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",
  • "fwids": "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",
  • "fwids": "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

true to disable

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

unique identifier for the rule

fwids
string

system's identifier(s) for rule in its firewall

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",
  • "fwids": "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",
  • "fwids": "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
after
boolean
object (FWFilterRule)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "fwids": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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, %

if_assigned_name
string

human-readable display name of the interface (from interface description)

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",
  • "if_assigned_name": "string",
  • "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",
  • "result": "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, %

if_assigned_name
string

human-readable display name of the interface (from interface description)

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",
  • "if_assigned_name": "string",
  • "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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"
}

Get controlled device by its ID

path Parameters
device_id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "alias": "string",
  • "device_id": "string",
  • "device_type": "string",
  • "device_key": "string",
  • "tags": [
    ],
  • "address": "string",
  • "address6": "string",
  • "gateways": [
    ],
  • "primary_auth": "string",
  • "auth": {
    },
  • "controller": {
    },
  • "mim_path": [
    ],
  • "mim_depth": 0,
  • "mim_devices": 0,
  • "state": "string",
  • "added_ts": 0,
  • "added": "string",
  • "device_cert": "string",
  • "sys_info": {
    }
}

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"
}

Perform a connection speed test between the Nexus controller and the device

Request Body schema: application/json
required
device_id
string

ID of device

duration
integer

optional number of seconds to run each upload/download test for, default 10

upload_mb
integer

optional number of MB to send to device, default 100. Duration has priority.

download_mb
integer

optional number of MB to receive from device, default 10. Duration has priority.

Responses

Request samples

Content type
application/json
{
  • "device_id": "string",
  • "duration": 0,
  • "upload_mb": 0,
  • "download_mb": 0
}

Response samples

Content type
application/json
{
  • "errors": "string",
  • "device_id": "string",
  • "duration": 0,
  • "upload_mps": 0.1,
  • "download_mps": 0.1
}

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": {
    }
}

ports

Run ARPING command

Request Body schema: application/json
required
destination
string

Address of the destination host

count
integer

Number of pings to send and listen for

iface
string

Interface friendly name

Responses

Request samples

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

Response samples

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

Get ARPing supported interfaces

Responses

Response samples

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

Get FreeRADIUS NAS/clients

Responses

Response samples

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

Create a new FreeRADIUS NAS/client

Request Body schema: application/json
required
clientip
string

(General Configuration) Client IP Address

Enter the IP address or network of the RADIUS client(s) in CIDR notation. This is the IP of the NAS (switch, access point, firewall, router, etc.).

clientipversion
string

(General Configuration) Client IP Version (ipaddr, ipv6addr)

clientshortname
string

(General Configuration) Client Shortname

Enter a short name for the client. This is generally the hostname of the NAS.

clientsharedsecret
string

(General Configuration) Client Shared Secret

Enter the shared secret of the RADIUS client here. This is the shared secret (password) which the NAS (switch, accesspoint, etc.) needs to communicate with the RADIUS server. FreeRADIUS is limited to 31 characters for the shared secret.

Warning: Single quotes in shared secret must be escaped with a backslash ('). Backslash must be escaped by using two backslashes (\).

clientproto
string

(Miscellaneous Configuration) Client Protocol (udp, tcp)

Enter the protocol the client uses. (Default: UDP)

clientnastype
string

(Miscellaneous Configuration) Client Type (cisco, cvx, computone, digitro, livingston, juniper, max40xx, mikrotik, mikrotik_snmp, multitech, netserver, pathras, pr3000, pr4000, patton, portslave, redback, tc, usrhiper, versanet, dot1x, other)

Enter the NAS type of the client. This is used by checkrad.pl for simultaneous use checks. (Default: other)

requiremessageauthenticator
string

(Miscellaneous Configuration) Require Message Authenticator (no, yes)

RFC5080 requires Message-Authenticator in Access-Request. But older NAS (switches or accesspoints) do not include that.

(Default: no)

clientmaxconnections
string

(Miscellaneous Configuration) Max Connections

Takes only effect if you use TCP as protocol. Limits the number of simultaneous TCP connections from a client.

(Default 16)

clientlogininput
string

(Miscellaneous Configuration) NAS Login

If supported by your NAS, you can use SNMP or finger for simultaneous-use checks instead of (s)radutmp file and accounting.

Leave empty to choose (s)radutmp. (Default: empty)

clientpasswordinput
string

(Miscellaneous Configuration) NAS Password

If supported by your NAS, you can use SNMP or finger for simultaneous-use checks instead of (s)radutmp file and accounting.

Leave empty to choose (s)radutmp. (Default: empty)

description
string

(Miscellaneous Configuration) Description

Enter any description you like for this client.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "clientip": "string",
  • "clientipversion": "string",
  • "clientshortname": "string",
  • "clientsharedsecret": "string",
  • "clientproto": "string",
  • "clientnastype": "string",
  • "requiremessageauthenticator": "string",
  • "clientmaxconnections": "string",
  • "clientlogininput": "string",
  • "clientpasswordinput": "string",
  • "description": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "clientip": "string",
  • "clientipversion": "string",
  • "clientshortname": "string",
  • "clientsharedsecret": "string",
  • "clientproto": "string",
  • "clientnastype": "string",
  • "requiremessageauthenticator": "string",
  • "clientmaxconnections": "string",
  • "clientlogininput": "string",
  • "clientpasswordinput": "string",
  • "description": "string",
  • "id": "string"
}

Update an existing FreeRADIUS NAS/client

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

(General Configuration) Client IP Address

Enter the IP address or network of the RADIUS client(s) in CIDR notation. This is the IP of the NAS (switch, access point, firewall, router, etc.).

clientipversion
string

(General Configuration) Client IP Version (ipaddr, ipv6addr)

clientshortname
string

(General Configuration) Client Shortname

Enter a short name for the client. This is generally the hostname of the NAS.

clientsharedsecret
string

(General Configuration) Client Shared Secret

Enter the shared secret of the RADIUS client here. This is the shared secret (password) which the NAS (switch, accesspoint, etc.) needs to communicate with the RADIUS server. FreeRADIUS is limited to 31 characters for the shared secret.

Warning: Single quotes in shared secret must be escaped with a backslash ('). Backslash must be escaped by using two backslashes (\).

clientproto
string

(Miscellaneous Configuration) Client Protocol (udp, tcp)

Enter the protocol the client uses. (Default: UDP)

clientnastype
string

(Miscellaneous Configuration) Client Type (cisco, cvx, computone, digitro, livingston, juniper, max40xx, mikrotik, mikrotik_snmp, multitech, netserver, pathras, pr3000, pr4000, patton, portslave, redback, tc, usrhiper, versanet, dot1x, other)

Enter the NAS type of the client. This is used by checkrad.pl for simultaneous use checks. (Default: other)

requiremessageauthenticator
string

(Miscellaneous Configuration) Require Message Authenticator (no, yes)

RFC5080 requires Message-Authenticator in Access-Request. But older NAS (switches or accesspoints) do not include that.

(Default: no)

clientmaxconnections
string

(Miscellaneous Configuration) Max Connections

Takes only effect if you use TCP as protocol. Limits the number of simultaneous TCP connections from a client.

(Default 16)

clientlogininput
string

(Miscellaneous Configuration) NAS Login

If supported by your NAS, you can use SNMP or finger for simultaneous-use checks instead of (s)radutmp file and accounting.

Leave empty to choose (s)radutmp. (Default: empty)

clientpasswordinput
string

(Miscellaneous Configuration) NAS Password

If supported by your NAS, you can use SNMP or finger for simultaneous-use checks instead of (s)radutmp file and accounting.

Leave empty to choose (s)radutmp. (Default: empty)

description
string

(Miscellaneous Configuration) Description

Enter any description you like for this client.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "clientip": "string",
  • "clientipversion": "string",
  • "clientshortname": "string",
  • "clientsharedsecret": "string",
  • "clientproto": "string",
  • "clientnastype": "string",
  • "requiremessageauthenticator": "string",
  • "clientmaxconnections": "string",
  • "clientlogininput": "string",
  • "clientpasswordinput": "string",
  • "description": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "clientip": "string",
  • "clientipversion": "string",
  • "clientshortname": "string",
  • "clientsharedsecret": "string",
  • "clientproto": "string",
  • "clientnastype": "string",
  • "requiremessageauthenticator": "string",
  • "clientmaxconnections": "string",
  • "clientlogininput": "string",
  • "clientpasswordinput": "string",
  • "description": "string",
  • "id": "string"
}

Delete a FreeRADIUS NAS/client

path Parameters
id
required
string

Responses

Response samples

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

Get FreeRADIUS configuration files

Responses

Response samples

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

Get FreeRADIUS EAP configuration

Responses

Response samples

Content type
application/json
{
  • "eapconfdisableweakeaptypes": true,
  • "eapconfdefaulteaptype": "string",
  • "eapconftimerexpire": "string",
  • "eapconfignoreunknowneaptypes": "string",
  • "eapconfciscoaccountingusernamebug": "string",
  • "eapconfmaxsessions": "string",
  • "eapconftlsminversion": "string",
  • "ssl_ca_cert": "string",
  • "ssl_ca_crl": "string",
  • "ssl_server_cert": "string",
  • "eapconfincludelength": "string",
  • "eapconffragmentsize": "string",
  • "eapconfenablecheckcertissuer": true,
  • "eapconfcasubject": "string",
  • "eapconfenablecheckcertcn": true,
  • "eapconfcacheenablecache": "string",
  • "eapconfcachelifetime": "string",
  • "eapconfcachemaxentries": "string",
  • "eapconfocspenable": "string",
  • "eapconfocspoverridecerturl": "string",
  • "eapconfocspurl": "string",
  • "eapconfttlsdefaulteaptype": "string",
  • "eapconfttlscopyrequesttotunnel": "string",
  • "eapconfttlsusetunneledreply": "string",
  • "eapconfttlsincludelength": "string",
  • "eapconfpeapdefaulteaptype": "string",
  • "eapconfpeapcopyrequesttotunnel": "string",
  • "eapconfpeapusetunneledreply": "string",
  • "eapconfpeapsohenable": "string",
  • "ssl_ca_cert_options": [
    ],
  • "ssl_ca_crl_options": [
    ],
  • "ssl_server_cert_options": [
    ]
}

Update FreeRADIUS EAP configuration

Request Body schema: application/json
required
eapconfdisableweakeaptypes
boolean

(EAP) Disable Weak EAP Types When enabled, only stronger EAP types like TLS, TTLS, PEAP, and MSCHAPv2 are allowed. This option does not affect tunneled EAP sessions.

Disables weak EAP types: MD5, and GTC

eapconfdefaulteaptype
string

(EAP) Default EAP Type (md5, gtc, leap, tls, ttls, peap, mschapv2)

Invoke the default supported EAP type when EAP-Identity response is received.

Important: Do not select the weak types if 'Disable Weak EAP Types' is checked above; try PEAP instead. (Default: md5)

eapconftimerexpire
string

(EAP) Expiration of EAP-Response / EAP-Request List

A list is maintained to correlate EAP-Response packets with EAP-Request packets. Define the expire time of the list here. (Default: 60)

eapconfignoreunknowneaptypes
string

(EAP) Ignore Unknown EAP Types (no, yes)

If the RADIUS server does not know the EAP type, it rejects it. If set to "yes", a module must be configured to proxy the request to another RADIUS server. (Default: No)

eapconfciscoaccountingusernamebug
string

(EAP) CISCO Accounting Username Bug (no, yes)

CISCO AP1230B firmware 12.2(13)JA1 has a bug which can be workaround by setting this to "yes". (Default: No)

eapconfmaxsessions
string

(EAP) Maximum Sessions Tracking Per Server

Help to prevent DoS attacks by limiting the number of sessions that the server is tracking. (Default: 4096)

eapconftlsminversion
string

(EAP) Minimum TLS version (1.0, 1.1, 1.2)

Set minimum TLS version. Leave 1.0 if you have old clients.

ssl_ca_cert
string

(Certificates for TLS) SSL CA Certificate

Choose the SSL CA Certficate here which you created with 'System > Cert Manager'.

IMPORTANT: Configuring a valid CA certificate here is required!

ssl_ca_crl
string

(Certificates for TLS) SSL Revocation List

Choose the SSL CA Certficate revocation list here which you created with 'System > Cert Manager'.

Important: You need to restart FreeRADIUS service after adding a certificate to the CRL.

Choose 'none' if you do not use any CRL. (Default: none)

ssl_server_cert
string

(Certificates for TLS) SSL Server Certificate

Choose the SSL Server Certficate here which you created with 'System > Cert Manager'.

IMPORTANT: Configuring a valid server certificate here is required!

eapconfincludelength
string

(EAP-TLS) Include Length (yes, no)

If set to 'Yes', Total Length of the message is included in every packet we send.

If set to 'No' Total Length of the message is included only in the first packet of a fragment series. (Default: Yes)

eapconffragmentsize
string

(EAP-TLS) Fragment Size

'Fragment Size' can never exceed the size of a RADIUS packet (4096 bytes), and is preferably half of that, to accomodate other attributes in RADIUS packet. On most APs, the max. packet length is configured between 1500 - 1600. In these cases, fragment size should be 1024 or less.

(Default: 1024)

eapconfenablecheckcertissuer
boolean

(EAP-TLS) Check Cert Issuer When enabled, the server/client certificate must match the CA issuer. (Default: false)

Validate the certificate against the CA

eapconfcasubject
string

(EAP-TLS) CA Subject

Enter the subject of the CA to validate, or leave blank to assume the subject of SSL CA Certificate chosen above. (Example: /C=US/ST=Texas/L=Austin/O=Example Co/emailAddress=certs@example.com/CN=example-ca)

eapconfenablecheckcertcn
boolean

(EAP-TLS) Check Client Certificate CN When enabled, the Common Name of the client certificate must match the username set in 'FreeRADIUS > Users'. (Default: false)

Validate the Client Certificate Common Name

eapconfcacheenablecache
string

(EAP-TLS Cache) Enable cache (yes, no)

Session resumption / fast reauthentication cache. Click Info for details. (Default: Disable)

The cache contains the following information:

  • Session Id: Unique identifier, managed by SSL
  • User-Name: From the Access-Accept
  • Stripped-User-Name: From the Access-Request
  • Cached-Session-Policy: From the Access-Accept

The "Cached-Session-Policy" is the name of a policy which should be applied to the cached session. This policy can be used to assign VLANs, IP addresses, etc. It serves as a useful way to re-apply the policy from the original Access-Accept to the subsequent Access-Accept for the cached session.

On session resumption, these attributes are copied from the cache, and placed into the reply list. You probably also want use_tunneled_reply = yes when using fast session resumption.

eapconfcachelifetime
string

(EAP-TLS Cache) Lifetime

Lifetime of the cached entries, in hours. The sessions will be deleted after this time. (Default: 24)

eapconfcachemaxentries
string

(EAP-TLS Cache) Max Entries

The maximum number of entries in the cache. Set to "0" for "infinite." (Default: 255)

eapconfocspenable
string

(EAP-TLS with OCSP support) Enable OCSP (no, yes)

Choose whether you like to enable or disable OCSP support. (Default: Disable)

eapconfocspoverridecerturl
string

(EAP-TLS with OCSP support) Override OCSP Responder URL (no, yes)

The OCSP responder URL is extracted from the certificate. You can override it below. (Default: No)

eapconfocspurl
string

(EAP-TLS with OCSP support) OCSP Responder

Enter the URL of the OCSP responder. OCSP must be enabled for this to work. (Default: http://127.0.0.1/ocsp/)

eapconfttlsdefaulteaptype
string

(EAP-TTLS) Default EAP Type (md5, gtc, otp, tls, mschapv2)

The tunneled EAP session needs a default EAP type which is separate from the one for the non-tunneled EAP module. Inside of the TTLS tunnel, using EAP-MD5 is recommended. If the request does not contain an EAP conversation, then this configuration entry is ignored. (Default: MD5)

eapconfttlscopyrequesttotunnel
string

(EAP-TTLS) Copy Request to Tunnel (no, yes)

The tunneled authentication request does not usually contain useful attributes like 'Calling-Station-Id', etc. These attributes are outside of the tunnel, and normally unavailable to the tunneled authentication request. By setting this configuration entry to 'Yes', any attribute which is not available in the tunneled authentication request, but which is available outside of the tunnel, is copied to the tunneled request. (Default: No)

eapconfttlsusetunneledreply
string

(EAP-TTLS) Use Tunneled Reply (no, yes)

The reply attributes sent to the NAS are usually based on the name of the user 'outside' of the tunnel (usually 'anonymous').

If you want to send the reply attributes based on the user name inside of the tunnel, then set 'Use Tunneled Reply' to 'Yes'; the reply to the NAS will be taken from the reply to the tunneled request. (Default: No)

eapconfttlsincludelength
string

(EAP-TTLS) Include Length (yes, no)

If set to 'Yes', Total Length of the message is included in every packet we send.

If set to 'No', Total Length of the message is included only in the first packet of a fragment series. (Default: Yes)

eapconfpeapdefaulteaptype
string

(EAP-PEAP) Default EAP Type (md5, gtc, otp, tls, mschapv2)

The tunneled EAP session needs a default EAP type which is separate from the one for the non-tunneled EAP module. Inside of the PEAP tunnel, using MS-CHAPv2 is recommended, as that is the default type supported by Windows clients. (Default: MSCHAPv2)

eapconfpeapcopyrequesttotunnel
string

(EAP-PEAP) Copy Request to Tunnel (no, yes)

The tunneled authentication request does not usually contain useful attributes like 'Calling-Station-Id', etc. These attributes are outside of the tunnel, and normally unavailable to the tunneled authentication request. By setting this configuration entry to 'Yes', any attribute which is not available in the tunneled authentication request, but which is available outside of the tunnel, is copied to the tunneled request. (Default: No)

eapconfpeapusetunneledreply
string

(EAP-PEAP) Use Tunneled Reply (no, yes)

The reply attributes sent to the NAS are usually based on the name of the user 'outside' of the tunnel (usually 'anonymous'). If you want to send the reply attributes based on the user name inside of the tunnel, then set this configuration entry to 'Yes'; the reply to the NAS will be taken from the reply to the tunneled request. (Default: No)

eapconfpeapsohenable
string

(EAP-PEAP) Microsoft Statement of Health (SoH) Support (Disable, Enable)

You can accept/reject clients based on Microsoft's Statement of Health, e.g. if they are missing Windows Updates, don't have a firewall enabled, antivirus is not in line with policy, etc. You need to change /usr/local/etc/raddb/sites-available/soh for your needs. It cannot be changed from GUI and will be deleted after package reinstallation. (Default: Disable)

Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "eapconfdisableweakeaptypes": true,
  • "eapconfdefaulteaptype": "string",
  • "eapconftimerexpire": "string",
  • "eapconfignoreunknowneaptypes": "string",
  • "eapconfciscoaccountingusernamebug": "string",
  • "eapconfmaxsessions": "string",
  • "eapconftlsminversion": "string",
  • "ssl_ca_cert": "string",
  • "ssl_ca_crl": "string",
  • "ssl_server_cert": "string",
  • "eapconfincludelength": "string",
  • "eapconffragmentsize": "string",
  • "eapconfenablecheckcertissuer": true,
  • "eapconfcasubject": "string",
  • "eapconfenablecheckcertcn": true,
  • "eapconfcacheenablecache": "string",
  • "eapconfcachelifetime": "string",
  • "eapconfcachemaxentries": "string",
  • "eapconfocspenable": "string",
  • "eapconfocspoverridecerturl": "string",
  • "eapconfocspurl": "string",
  • "eapconfttlsdefaulteaptype": "string",
  • "eapconfttlscopyrequesttotunnel": "string",
  • "eapconfttlsusetunneledreply": "string",
  • "eapconfttlsincludelength": "string",
  • "eapconfpeapdefaulteaptype": "string",
  • "eapconfpeapcopyrequesttotunnel": "string",
  • "eapconfpeapusetunneledreply": "string",
  • "eapconfpeapsohenable": "string",
  • "ssl_ca_cert_options": [
    ],
  • "ssl_ca_crl_options": [
    ],
  • "ssl_server_cert_options": [
    ]
}

Response samples

Content type
application/json
{
  • "eapconfdisableweakeaptypes": true,
  • "eapconfdefaulteaptype": "string",
  • "eapconftimerexpire": "string",
  • "eapconfignoreunknowneaptypes": "string",
  • "eapconfciscoaccountingusernamebug": "string",
  • "eapconfmaxsessions": "string",
  • "eapconftlsminversion": "string",
  • "ssl_ca_cert": "string",
  • "ssl_ca_crl": "string",
  • "ssl_server_cert": "string",
  • "eapconfincludelength": "string",
  • "eapconffragmentsize": "string",
  • "eapconfenablecheckcertissuer": true,
  • "eapconfcasubject": "string",
  • "eapconfenablecheckcertcn": true,
  • "eapconfcacheenablecache": "string",
  • "eapconfcachelifetime": "string",
  • "eapconfcachemaxentries": "string",
  • "eapconfocspenable": "string",
  • "eapconfocspoverridecerturl": "string",
  • "eapconfocspurl": "string",
  • "eapconfttlsdefaulteaptype": "string",
  • "eapconfttlscopyrequesttotunnel": "string",
  • "eapconfttlsusetunneledreply": "string",
  • "eapconfttlsincludelength": "string",
  • "eapconfpeapdefaulteaptype": "string",
  • "eapconfpeapcopyrequesttotunnel": "string",
  • "eapconfpeapusetunneledreply": "string",
  • "eapconfpeapsohenable": "string",
  • "ssl_ca_cert_options": [
    ],
  • "ssl_ca_crl_options": [
    ],
  • "ssl_server_cert_options": [
    ]
}

Get FreeRADIUS listening interfaces

Responses

Response samples

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

Create a new FreeRADIUS listening interface

Request Body schema: application/json
required
interfaceip
string

(General Configuration) Interface IP Address

Enter the IP address (e.g. 192.168.100.1) of the listening interface. If you choose * then it means all interfaces. (Default: *)

interfaceport
string

(General Configuration) Port

Enter the port number of the listening interface. Different interface types need different ports. Click Info for details.

You could use this as an example:

  • Authentication: Using port 1812
  • Accounting: Using port 1813
  • Status: Using port 1816

IMPORTANT: For every interface type listening on the same IP address you need different ports.

interfacetype
string

(General Configuration) Interface Type (auth, acct, proxy, detail, status, coa)

Enter the type of the listening interface. (Default: Authentication)

interfaceipversion
string

(General Configuration) IP Version (ipaddr, ipv6addr)

Enter the IP version of the listening interface. (Default: IPv4)

description
string

(General Configuration) Description

Optionally enter a description here for your reference.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interfaceip": "string",
  • "interfaceport": "string",
  • "interfacetype": "string",
  • "interfaceipversion": "string",
  • "description": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interfaceip": "string",
  • "interfaceport": "string",
  • "interfacetype": "string",
  • "interfaceipversion": "string",
  • "description": "string",
  • "id": "string"
}

Update an existing FreeRADIUS listening interface

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

(General Configuration) Interface IP Address

Enter the IP address (e.g. 192.168.100.1) of the listening interface. If you choose * then it means all interfaces. (Default: *)

interfaceport
string

(General Configuration) Port

Enter the port number of the listening interface. Different interface types need different ports. Click Info for details.

You could use this as an example:

  • Authentication: Using port 1812
  • Accounting: Using port 1813
  • Status: Using port 1816

IMPORTANT: For every interface type listening on the same IP address you need different ports.

interfacetype
string

(General Configuration) Interface Type (auth, acct, proxy, detail, status, coa)

Enter the type of the listening interface. (Default: Authentication)

interfaceipversion
string

(General Configuration) IP Version (ipaddr, ipv6addr)

Enter the IP version of the listening interface. (Default: IPv4)

description
string

(General Configuration) Description

Optionally enter a description here for your reference.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interfaceip": "string",
  • "interfaceport": "string",
  • "interfacetype": "string",
  • "interfaceipversion": "string",
  • "description": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interfaceip": "string",
  • "interfaceport": "string",
  • "interfacetype": "string",
  • "interfaceipversion": "string",
  • "description": "string",
  • "id": "string"
}

Delete a FreeRADIUS listening interface

path Parameters
id
required
string

Responses

Response samples

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

Get FreeRADIUS LDAP configuration

Responses

Response samples

Content type
application/json
{
  • "modulesldapenableauthorize": true,
  • "modulesldapenableauthenticate": true,
  • "modulesldapserver": "string",
  • "modulesldapserverport": "string",
  • "modulesldapidentity": "string",
  • "modulesldappassword": "string",
  • "modulesldapbasedn": "string",
  • "modulesldapfilter": "string",
  • "modulesldapbasefilter": "string",
  • "modulesldapldapconnectionsnumber": "string",
  • "modulesldaptimeout": "string",
  • "modulesldaptimelimit": "string",
  • "modulesldapnettimeout": "string",
  • "modulesldapmsadcompatibilityenable": "string",
  • "modulesldapdmiscenable": true,
  • "modulesldapdefaultprofile": "string",
  • "modulesldapprofileattribute": "string",
  • "modulesldapaccessattr": "string",
  • "modulesldapgroupenable": true,
  • "modulesldapgroupnameattribute": "string",
  • "modulesldapgroupmembershipfilter": "string",
  • "modulesldapgroupmembershipattribute": "string",
  • "modulesldapcomparecheckitems": "string",
  • "modulesldapdoxlat": "string",
  • "modulesldapaccessattrusedforallow": "string",
  • "modulesldapkeepaliveidle": "string",
  • "modulesldapkeepaliveprobes": "string",
  • "modulesldapkeepaliveinterval": "string",
  • "modulesldapenabletlssupport": true,
  • "modulesldapenablestarttls": true,
  • "ssl_ca_cert1": "string",
  • "ssl_server_cert1": "string",
  • "modulesldaprequirecert": "string",
  • "modulesldap2failover": "string",
  • "modulesldap2enableauthorize": true,
  • "modulesldap2enableauthenticate": true,
  • "modulesldap2server": "string",
  • "modulesldap2serverport": "string",
  • "modulesldap2identity": "string",
  • "modulesldap2password": "string",
  • "modulesldap2basedn": "string",
  • "modulesldap2filter": "string",
  • "modulesldap2basefilter": "string",
  • "modulesldap2ldapconnectionsnumber": "string",
  • "modulesldap2timeout": "string",
  • "modulesldap2timelimit": "string",
  • "modulesldap2nettimeout": "string",
  • "modulesldap2msadcompatibilityenable": "string",
  • "modulesldap2dmiscenable": true,
  • "modulesldap2defaultprofile": "string",
  • "modulesldap2profileattribute": "string",
  • "modulesldap2accessattr": "string",
  • "modulesldap2groupenable": true,
  • "modulesldap2groupnameattribute": "string",
  • "modulesldap2groupmembershipfilter": "string",
  • "modulesldap2groupmembershipattribute": "string",
  • "modulesldap2comparecheckitems": "string",
  • "modulesldap2doxlat": "string",
  • "modulesldap2accessattrusedforallow": "string",
  • "modulesldap2keepaliveidle": "string",
  • "modulesldap2keepaliveprobes": "string",
  • "modulesldap2keepaliveinterval": "string",
  • "modulesldap2enabletlssupport": true,
  • "modulesldap2enablestarttls": true,
  • "ssl_ca_cert2": "string",
  • "ssl_server_cert2": "string",
  • "modulesldap2requirecert": "string",
  • "ssl_ca_cert1_options": [
    ],
  • "ssl_server_cert1_options": [
    ],
  • "ssl_ca_cert2_options": [
    ],
  • "ssl_server_cert2_options": [
    ]
}

Update FreeRADIUS LDAP configuration

Request Body schema: application/json
required
modulesldapenableauthorize
boolean

(Enable LDAP Support - Server 1) LDAP Authorization Support Enables LDAP in the authorize section. The ldap module will set Auth-Type to LDAP if it has not already been set. (Default: Disabled)

Enable LDAP For Authorization

modulesldapenableauthenticate
boolean

(Enable LDAP Support - Server 1) LDAP Authentication Support Enables LDAP in the authenticate section. Note that this means "check plain-text password against the LDAP database", which means that EAP won't work, as it does not supply a plain-text password.

Enable LDAP For Authentication

modulesldapserver
string

(General Configuration - Server 1) Server Address

LDAP server FQDN or IP address. (Example: ldap.example.com)

modulesldapserverport
string

(General Configuration - Server 1) Server Port

LDAP server port. (Default: 389)

modulesldapidentity
string

(General Configuration - Server 1) Identity

LDAP ID for authentication. (Example: cn=admin,o=My Company Ltd,c=US)

modulesldappassword
string

(General Configuration - Server 1) Password

LDAP password for authentication. (Default: mypass)

modulesldapbasedn
string

(General Configuration - Server 1) Base DN

Base DN for LDAP search. (Example: o=My Company Ltd,c=US)

modulesldapfilter
string

(General Configuration - Server 1) Filter

LDAP search filter. Default: (uid=%{%{Stripped-User-Name}:-%{User-Name}})

modulesldapbasefilter
string

(General Configuration - Server 1) Base Filter

Default: (objectclass=radiusprofile)

modulesldapldapconnectionsnumber
string

(General Configuration - Server 1) LDAP Connections Number

How many connections to keep open to the LDAP server.

This saves time over opening a new LDAP socket for every authentication request. (Default: 5)

modulesldaptimeout
string

(General Configuration - Server 1) Timeout

Seconds to wait for LDAP query to finish. (Default: 4)

modulesldaptimelimit
string

(General Configuration - Server 1) Time Limit

Seconds the LDAP server has to process the query (server-side time limit). (Default: 3)

modulesldapnettimeout
string

(General Configuration - Server 1) Network Timeout

Seconds to wait for response of the server because of network failures. (Default: 1)

modulesldapmsadcompatibilityenable
string

(Miscellaneous Configuration - Server 1) Active Directory Compatibility (Disable, Enable)

If you see the helpful "operations error" being returned to the LDAP module, enable this. (Default: Disable)

modulesldapdmiscenable
boolean

(Miscellaneous Configuration - Server 1) Misc Configuration - Server 1 By default, the options below are not active in the configuration.

Enable Miscellaneous Configuration for Server 1

modulesldapdefaultprofile
string

(Miscellaneous Configuration - Server 1) Default Profile

(Example: cn=radprofile,ou=dialup,o=My Company Ltd,c=US)

modulesldapprofileattribute
string

(Miscellaneous Configuration - Server 1) Profile Attribute

(Default: radiusProfileDn)

modulesldapaccessattr
string

(Miscellaneous Configuration - Server 1) Access Attribute

(Default: dialupAccess)

modulesldapgroupenable
boolean

(Group Membership Options - Server 1) Group Membership Options By default, the options below are not active in the configuration.

Enable Group Membership Options

modulesldapgroupnameattribute
string

(Group Membership Options - Server 1) Groupname Attribute

(Default: cn)

modulesldapgroupmembershipfilter
string

(Group Membership Options - Server 1) Group Membership Filter

Default: (|(&(objectClass=GroupOfNames)(member=%{control:Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{control:Ldap-UserDn})))

modulesldapgroupmembershipattribute
string

(Group Membership Options - Server 1) Group Membership Attribute

(Default: radiusGroupName)

modulesldapcomparecheckitems
string

(Group Membership Options - Server 1) Compare Check Items (yes, no)

(Default: Yes)

modulesldapdoxlat
string

(Group Membership Options - Server 1) Do XLAT (yes, no)

(Default: Yes)

modulesldapaccessattrusedforallow
string

(Group Membership Options - Server 1) Access Attribute Used For Allow (yes, no)

(Default: Yes)

modulesldapkeepaliveidle
string

(KeepAlive Configuration - Server 1) LDAP OPT X KeepAlive Idle

(Default: 60)

modulesldapkeepaliveprobes
string

(KeepAlive Configuration - Server 1) LDAP OPT X KeepAlive Probes

(Default: 3)

modulesldapkeepaliveinterval
string

(KeepAlive Configuration - Server 1) LDAP OPT X KeepAlive Interval

(Default: 3)

modulesldapenabletlssupport
boolean

(LDAP TLS Support - Server 1) TLS Support If enabled, certificates in ../raddb/certs/ will be checked against the LDAP server certificates.

Enable TLS support for LDAP server 1

modulesldapenablestarttls
boolean

(LDAP TLS Support - Server 1) Use STARTTLS If enabled, STARTTLS will be used instead of LDAPS.

Enable STARTTLS for LDAP server 1

ssl_ca_cert1
string

(LDAP TLS Support - Server 1) SSL CA Certificate

Choose the SSL CA Certficate here which you created with 'System > Cert Manager'.

Choose 'none' if you do not use any kind of certificates. (Default: none)

ssl_server_cert1
string

(LDAP TLS Support - Server 1) SSL Server Certificate

Choose the SSL Server Certficate here which you created with 'System > Cert Manager'.

Choose 'none' if you do not use any kind of certificates. (Default: none)

modulesldaprequirecert
string

(LDAP TLS Support - Server 1) Choose Certificate Verification Method (never, allow, demand)

Choose how the certs should be checked. Click Info for details. (Default: never)

  • Never: Don't even bother trying.
  • Allow: Try but don't fail if the certificate can't be verified.
  • Demand: Fail if the certificate doesn't verify.
modulesldap2failover
string

(Enable Redundant LDAP Server Support) Choose Failover/Load Balancing Mode (redundant, load-balance, redundant-load-balance)

Choose the interaction of the two LDAP servers. Click Info for details. (Default: Redundant)

  • Redundant: Failover to server2 if server1 fails.
  • Load-Balance: The load is balanced 50:50 between both servers.
  • Redundant-Load-Balance: The load is balanced 50:50 between both servers. If one is down, the other does 100%.
modulesldap2enableauthorize
boolean

(Enable LDAP Support - Server 2) LDAP Authorization Support Enables LDAP in the authorize section. The ldap module will set Auth-Type to LDAP if it has not already been set. (Default: Disabled)

Enable LDAP For Authorization (Default: unchecked)

modulesldap2enableauthenticate
boolean

(Enable LDAP Support - Server 2) LDAP Authentication Support Enables LDAP in the authenticate section. Note that this means "check plain-text password against the LDAP database", which means that EAP won't work, as it does not supply a plain-text password.

Enable LDAP For Authentication

modulesldap2server
string

(General Configuration - Server 2) Server Address

LDAP server FQDN or IP address. (Example: ldap.example.com)

modulesldap2serverport
string

(General Configuration - Server 2) Server Port

LDAP server port. (Default: 389)

modulesldap2identity
string

(General Configuration - Server 2) Identity

LDAP ID for authentication. (Example: cn=admin,o=My Company Ltd,c=US)

modulesldap2password
string

(General Configuration - Server 2) Password

LDAP password for authentication. (Default: mypass)

modulesldap2basedn
string

(General Configuration - Server 2) Base DN

Base DN for LDAP search. (Example: o=My Company Ltd,c=US)

modulesldap2filter
string

(General Configuration - Server 2) Filter

LDAP search filter. Default: (uid=%{%{Stripped-User-Name}:-%{User-Name}})

modulesldap2basefilter
string

(General Configuration - Server 2) Base Filter

Default: (objectclass=radiusprofile)

modulesldap2ldapconnectionsnumber
string

(General Configuration - Server 2) LDAP Connections Number

How many connections to keep open to the LDAP server.

This saves time over opening a new LDAP socket for every authentication request. (Default: 5)

modulesldap2timeout
string

(General Configuration - Server 2) Timeout

Seconds to wait for LDAP query to finish. (Default: 4)

modulesldap2timelimit
string

(General Configuration - Server 2) Time Limit

Seconds the LDAP server has to process the query (server-side time limit). (Default: 3)

modulesldap2nettimeout
string

(General Configuration - Server 2) Network Timeout

Seconds to wait for response of the server because of network failures. (Default: 1)

modulesldap2msadcompatibilityenable
string

(Miscellaneous Configuration - Server 2) Active Directory Compatibility (Disable, Enable)

If you see the helpful "operations error" being returned to the LDAP module, enable this. (Default: Disable)

modulesldap2dmiscenable
boolean

(Miscellaneous Configuration - Server 2) Misc Configuration By default, the options below are not active in the configuration.

Enable Miscellaneous Configuration for Server 2

modulesldap2defaultprofile
string

(Miscellaneous Configuration - Server 2) Default Profile

(Example: cn=radprofile,ou=dialup,o=My Company Ltd,c=US)

modulesldap2profileattribute
string

(Miscellaneous Configuration - Server 2) Profile Attribute

(Default: radiusProfileDn)

modulesldap2accessattr
string

(Miscellaneous Configuration - Server 2) Access Attribute

(Default: dialupAccess)

modulesldap2groupenable
boolean

(Group Membership Options - Server 2) Enable Group Membership Options By default, the options below are not active in the configuration.

Enable Group Membership Options

modulesldap2groupnameattribute
string

(Group Membership Options - Server 2) Groupname Attribute

(Default: cn)

modulesldap2groupmembershipfilter
string

(Group Membership Options - Server 2) Group Membership Filter

Default: (|(&(objectClass=GroupOfNames)(member=%{control:Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{control:Ldap-UserDn})))

modulesldap2groupmembershipattribute
string

(Group Membership Options - Server 2) Group Membership Attribute

(Default: radiusGroupName)

modulesldap2comparecheckitems
string

(Group Membership Options - Server 2) Compare Check Items (yes, no)

(Default: Yes)

modulesldap2doxlat
string

(Group Membership Options - Server 2) Do XLAT (yes, no)

(Default: Yes)

modulesldap2accessattrusedforallow
string

(Group Membership Options - Server 2) Access Attribute Used For Allow (yes, no)

(Default: Yes)

modulesldap2keepaliveidle
string

(KeepAlive Configuration - Server 2) LDAP OPT X KeepAlive Idle

(Default: 60)

modulesldap2keepaliveprobes
string

(KeepAlive Configuration - Server 2) LDAP OPT X KeepAlive Probes

(Default: 3)

modulesldap2keepaliveinterval
string

(KeepAlive Configuration - Server 2) LDAP OPT X KeepAlive Interval

(Default: 3)

modulesldap2enabletlssupport
boolean

(LDAP TLS Support - Server 2) TLS Support If enabled, certificates in ../raddb/certs/ will be checked against the LDAP server certificates.

Enable TLS support for LDAP server 2

modulesldap2enablestarttls
boolean

(LDAP TLS Support - Server 2) Use STARTTLS If enabled, STARTTLS will be used instead of LDAPS.

Enable STARTTLS for LDAP server 2

ssl_ca_cert2
string

(LDAP TLS Support - Server 2) SSL CA Certificate

Choose the SSL CA Certficate here which you created with 'System > Cert Manager'.

Choose 'none' if you do not use any kind of certificates. (Default: none)

ssl_server_cert2
string

(LDAP TLS Support - Server 2) SSL Server Certificate

Choose the SSL Server Certficate here which you created with 'System > Cert Manager'.

Choose 'none' if you do not use any kind of certificates. (Default: none)

modulesldap2requirecert
string

(LDAP TLS Support - Server 2) Choose Certificate Verification Method (never, allow, demand)

Choose how the certs should be checked. Click Info for details. (Default: never)

  • Never: Don't even bother trying.
  • Allow: Try but don't fail if the certificate can't be verified.
  • Demand: Fail if the certificate doesn't verify.
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "modulesldapenableauthorize": true,
  • "modulesldapenableauthenticate": true,
  • "modulesldapserver": "string",
  • "modulesldapserverport": "string",
  • "modulesldapidentity": "string",
  • "modulesldappassword": "string",
  • "modulesldapbasedn": "string",
  • "modulesldapfilter": "string",
  • "modulesldapbasefilter": "string",
  • "modulesldapldapconnectionsnumber": "string",
  • "modulesldaptimeout": "string",
  • "modulesldaptimelimit": "string",
  • "modulesldapnettimeout": "string",
  • "modulesldapmsadcompatibilityenable": "string",
  • "modulesldapdmiscenable": true,
  • "modulesldapdefaultprofile": "string",
  • "modulesldapprofileattribute": "string",
  • "modulesldapaccessattr": "string",
  • "modulesldapgroupenable": true,
  • "modulesldapgroupnameattribute": "string",
  • "modulesldapgroupmembershipfilter": "string",
  • "modulesldapgroupmembershipattribute": "string",
  • "modulesldapcomparecheckitems": "string",
  • "modulesldapdoxlat": "string",
  • "modulesldapaccessattrusedforallow": "string",
  • "modulesldapkeepaliveidle": "string",
  • "modulesldapkeepaliveprobes": "string",
  • "modulesldapkeepaliveinterval": "string",
  • "modulesldapenabletlssupport": true,
  • "modulesldapenablestarttls": true,
  • "ssl_ca_cert1": "string",
  • "ssl_server_cert1": "string",
  • "modulesldaprequirecert": "string",
  • "modulesldap2failover": "string",
  • "modulesldap2enableauthorize": true,
  • "modulesldap2enableauthenticate": true,
  • "modulesldap2server": "string",
  • "modulesldap2serverport": "string",
  • "modulesldap2identity": "string",
  • "modulesldap2password": "string",
  • "modulesldap2basedn": "string",
  • "modulesldap2filter": "string",
  • "modulesldap2basefilter": "string",
  • "modulesldap2ldapconnectionsnumber": "string",
  • "modulesldap2timeout": "string",
  • "modulesldap2timelimit": "string",
  • "modulesldap2nettimeout": "string",
  • "modulesldap2msadcompatibilityenable": "string",
  • "modulesldap2dmiscenable": true,
  • "modulesldap2defaultprofile": "string",
  • "modulesldap2profileattribute": "string",
  • "modulesldap2accessattr": "string",
  • "modulesldap2groupenable": true,
  • "modulesldap2groupnameattribute": "string",
  • "modulesldap2groupmembershipfilter": "string",
  • "modulesldap2groupmembershipattribute": "string",
  • "modulesldap2comparecheckitems": "string",
  • "modulesldap2doxlat": "string",
  • "modulesldap2accessattrusedforallow": "string",
  • "modulesldap2keepaliveidle": "string",
  • "modulesldap2keepaliveprobes": "string",
  • "modulesldap2keepaliveinterval": "string",
  • "modulesldap2enabletlssupport": true,
  • "modulesldap2enablestarttls": true,
  • "ssl_ca_cert2": "string",
  • "ssl_server_cert2": "string",
  • "modulesldap2requirecert": "string",
  • "ssl_ca_cert1_options": [
    ],
  • "ssl_server_cert1_options": [
    ],
  • "ssl_ca_cert2_options": [
    ],
  • "ssl_server_cert2_options": [
    ]
}

Response samples

Content type
application/json
{
  • "modulesldapenableauthorize": true,
  • "modulesldapenableauthenticate": true,
  • "modulesldapserver": "string",
  • "modulesldapserverport": "string",
  • "modulesldapidentity": "string",
  • "modulesldappassword": "string",
  • "modulesldapbasedn": "string",
  • "modulesldapfilter": "string",
  • "modulesldapbasefilter": "string",
  • "modulesldapldapconnectionsnumber": "string",
  • "modulesldaptimeout": "string",
  • "modulesldaptimelimit": "string",
  • "modulesldapnettimeout": "string",
  • "modulesldapmsadcompatibilityenable": "string",
  • "modulesldapdmiscenable": true,
  • "modulesldapdefaultprofile": "string",
  • "modulesldapprofileattribute": "string",
  • "modulesldapaccessattr": "string",
  • "modulesldapgroupenable": true,
  • "modulesldapgroupnameattribute": "string",
  • "modulesldapgroupmembershipfilter": "string",
  • "modulesldapgroupmembershipattribute": "string",
  • "modulesldapcomparecheckitems": "string",
  • "modulesldapdoxlat": "string",
  • "modulesldapaccessattrusedforallow": "string",
  • "modulesldapkeepaliveidle": "string",
  • "modulesldapkeepaliveprobes": "string",
  • "modulesldapkeepaliveinterval": "string",
  • "modulesldapenabletlssupport": true,
  • "modulesldapenablestarttls": true,
  • "ssl_ca_cert1": "string",
  • "ssl_server_cert1": "string",
  • "modulesldaprequirecert": "string",
  • "modulesldap2failover": "string",
  • "modulesldap2enableauthorize": true,
  • "modulesldap2enableauthenticate": true,
  • "modulesldap2server": "string",
  • "modulesldap2serverport": "string",
  • "modulesldap2identity": "string",
  • "modulesldap2password": "string",
  • "modulesldap2basedn": "string",
  • "modulesldap2filter": "string",
  • "modulesldap2basefilter": "string",
  • "modulesldap2ldapconnectionsnumber": "string",
  • "modulesldap2timeout": "string",
  • "modulesldap2timelimit": "string",
  • "modulesldap2nettimeout": "string",
  • "modulesldap2msadcompatibilityenable": "string",
  • "modulesldap2dmiscenable": true,
  • "modulesldap2defaultprofile": "string",
  • "modulesldap2profileattribute": "string",
  • "modulesldap2accessattr": "string",
  • "modulesldap2groupenable": true,
  • "modulesldap2groupnameattribute": "string",
  • "modulesldap2groupmembershipfilter": "string",
  • "modulesldap2groupmembershipattribute": "string",
  • "modulesldap2comparecheckitems": "string",
  • "modulesldap2doxlat": "string",
  • "modulesldap2accessattrusedforallow": "string",
  • "modulesldap2keepaliveidle": "string",
  • "modulesldap2keepaliveprobes": "string",
  • "modulesldap2keepaliveinterval": "string",
  • "modulesldap2enabletlssupport": true,
  • "modulesldap2enablestarttls": true,
  • "ssl_ca_cert2": "string",
  • "ssl_server_cert2": "string",
  • "modulesldap2requirecert": "string",
  • "ssl_ca_cert1_options": [
    ],
  • "ssl_server_cert1_options": [
    ],
  • "ssl_ca_cert2_options": [
    ],
  • "ssl_server_cert2_options": [
    ]
}

Get FreeRADIUS authorized MACs

Responses

Response samples

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

Create a new FreeRADIUS authorized MAC

Request Body schema: application/json
required
macsaddress
string

(General Configuration) MAC Address

Enter the MAC address. Leave empty if you want to use custom options instead of MAC address.

Required format: 0a-1b-2c-4d-5f-fa or 0a:1b:2c:4d:5f:fa

macsswisprredirectionurl
string

(Miscellaneous Configuration) Redirection URL

Enter the URL the MAC should be redirected to after successful login. Example: http://www.google.com

macssimultaneousconnect
string

(Miscellaneous Configuration) Number of Simultaneous Connections

The maximum of simultaneous connections with this MAC address. Leave empty for no limit.

If using FreeRADIUS with CaptivePortal you should leave this empty. Read the documentation!

description
string

(Miscellaneous Configuration) Description

Enter any description for this MAC address you like.

macsframedipaddress
string

(IPv4 Network Configuration) IPv4 Address

Framed-IP-Address must be supported by NAS. Click Info for details.

IMPORTANT: You must enter an IPv4 address here if you checked "RADIUS issued IP" on PPPoE VPN configuration.

macsframedipnetmask
string

(IPv4 Network Configuration) Subnet Mask

Framed-IP-Netmask must be supported by NAS. Example: 255.255.255.0

macsframedroute
string

(IPv4 Network Configuration) IPv4 Gateway

Framed-Route must be supported by NAS. Required format: Subnet Gateway Metric(s) (e.g. 192.168.10.0/24 192.168.10.1 1)

macsframedip6address
string

(IPv6 Network Configuration) IPv6 Address

When the IPv6 prefix part is empty it uses Framed-IPv6-Address. When the prefix part is filled in, it uses Framed-IPv6-Prefix.

Example: 2001:db8:abab::5 or 2001:db8:abab::/64

macsframedip6route
string

(IPv6 Network Configuration) IPv6 Gateway

Framed-IPv6-Route must be supported by NAS. Required format: Prefix Gateway Metric(s) (e.g. 2001:db8:0:16::/64 2001:db8::16:a0:20ff:fe99:a998 1)

macsvlanid
string

(VLAN Configuration) VLAN ID

Enter the VLAN ID (integer from 1-4095) or the VLAN name that this MAC address should be assigned to.

Must be supported by the NAS. Click Info for details.

This setting can be used for a NAS that supports the following RADIUS parameters:

  • Tunnel-Type: VLAN
  • Tunnel-Medium-Type: IEEE-802
  • Tunnel-Private-Group-ID: "This is your input"
macsexpiration
string

(Time Configuration) Expiration Date

Enter the date when this account should expire.

Required format: Mmm dd yyyy (e.g. Jan 01 2012)

macssessiontimeout
string

(Time Configuration) Session Timeout

Enter the time this MAC address has until relogin (in seconds).

macslogintime
string

(Time Configuration) Possible Login Times

Enter the time when this MAC address should have access. "Always" if no time is entered. Click Info for details.

Each simple time string must begin with a day definition. That can be just one day, multiple days, or a range of days separated by a hyphen.

A day is Mo, Tu, We, Th, Fr, Sa or Su, or Wk for Mo-Fr. Any or Al means all days.

After that, a range of hours follows in hhmm-hhmm format. A time string may be a list of simple time strings separated by ,

Example: Wk0855-2305,Sa,Su2230-0230 - weekdays after 8:55 AM and before 11:05 PM | any time on Saturday | Sunday after 10:30 PM and before 02:30 AM.

macsamountoftime
string

(Time Configuration) Amount of Time

Enter the amount of time for this MAC address (in minutes).

macspointoftime
string

(Time Configuration) Time Period (Daily, Weekly, Monthly, Forever)

Select the time period after which the 'Amount of Time' is reset.

macsmaxtotaloctets
string

(Traffic and Bandwidth) Amount of Download and Upload Traffic

Enter the amount of download and upload traffic (summarized) in megabytes (MB) for this MAC.

macsmaxtotaloctetstimerange
string

(Traffic and Bandwidth) Time Period (daily, weekly, monthly, forever)

Select the time period for the amount of download and upload traffic. This does not automatically reset the counter.

You need to setup a cronjob (with cron package) which will reset the counter. Read the documentation!

macsmaxbandwidthdown
string

(Traffic and Bandwidth) Maximum Bandwidth Down

Enter the maximum bandwidth for download in in kilobits per second (Kbps).

macsmaxbandwidthup
string

(Traffic and Bandwidth) Maximum Bandwidth Up

Enter the maximum bandwidth for upload in in kilobits per second (Kbps).

macsacctinteriminterval
string

(Traffic and Bandwidth) Accounting Interim Interval

Enter the interval in seconds which should elapse between interim-updates.

It must be more than 60s and should not be less than 600s. (Default: 600)

macstopadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes on the TOP of this entry

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this MAC address account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: DEFAULT Auth-Type = System

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > macs).

macscheckitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (CHECK-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this MAC address account. If required by syntax, you must use quotes and commas..

Use a vertical bar | to put a command on a new line.

Example: Max-Daily-Session := 36000

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > macs).

macsreplyitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (REPLY-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this MAC address account. If required by syntax, you must use quotes and commas..

Use a vertical bar | to put a command on a new line.

Example: Service-Type == Login-User,|Login-Service == Telnet,|Login-IP-Host == 192.168.1.2

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > macs).

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "macsaddress": "string",
  • "macsswisprredirectionurl": "string",
  • "macssimultaneousconnect": "string",
  • "description": "string",
  • "macsframedipaddress": "string",
  • "macsframedipnetmask": "string",
  • "macsframedroute": "string",
  • "macsframedip6address": "string",
  • "macsframedip6route": "string",
  • "macsvlanid": "string",
  • "macsexpiration": "string",
  • "macssessiontimeout": "string",
  • "macslogintime": "string",
  • "macsamountoftime": "string",
  • "macspointoftime": "string",
  • "macsmaxtotaloctets": "string",
  • "macsmaxtotaloctetstimerange": "string",
  • "macsmaxbandwidthdown": "string",
  • "macsmaxbandwidthup": "string",
  • "macsacctinteriminterval": "string",
  • "macstopadditionaloptions": "string",
  • "macscheckitemsadditionaloptions": "string",
  • "macsreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "macsaddress": "string",
  • "macsswisprredirectionurl": "string",
  • "macssimultaneousconnect": "string",
  • "description": "string",
  • "macsframedipaddress": "string",
  • "macsframedipnetmask": "string",
  • "macsframedroute": "string",
  • "macsframedip6address": "string",
  • "macsframedip6route": "string",
  • "macsvlanid": "string",
  • "macsexpiration": "string",
  • "macssessiontimeout": "string",
  • "macslogintime": "string",
  • "macsamountoftime": "string",
  • "macspointoftime": "string",
  • "macsmaxtotaloctets": "string",
  • "macsmaxtotaloctetstimerange": "string",
  • "macsmaxbandwidthdown": "string",
  • "macsmaxbandwidthup": "string",
  • "macsacctinteriminterval": "string",
  • "macstopadditionaloptions": "string",
  • "macscheckitemsadditionaloptions": "string",
  • "macsreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Update an existing FreeRADIUS authorized MAC

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

(General Configuration) MAC Address

Enter the MAC address. Leave empty if you want to use custom options instead of MAC address.

Required format: 0a-1b-2c-4d-5f-fa or 0a:1b:2c:4d:5f:fa

macsswisprredirectionurl
string

(Miscellaneous Configuration) Redirection URL

Enter the URL the MAC should be redirected to after successful login. Example: http://www.google.com

macssimultaneousconnect
string

(Miscellaneous Configuration) Number of Simultaneous Connections

The maximum of simultaneous connections with this MAC address. Leave empty for no limit.

If using FreeRADIUS with CaptivePortal you should leave this empty. Read the documentation!

description
string

(Miscellaneous Configuration) Description

Enter any description for this MAC address you like.

macsframedipaddress
string

(IPv4 Network Configuration) IPv4 Address

Framed-IP-Address must be supported by NAS. Click Info for details.

IMPORTANT: You must enter an IPv4 address here if you checked "RADIUS issued IP" on PPPoE VPN configuration.

macsframedipnetmask
string

(IPv4 Network Configuration) Subnet Mask

Framed-IP-Netmask must be supported by NAS. Example: 255.255.255.0

macsframedroute
string

(IPv4 Network Configuration) IPv4 Gateway

Framed-Route must be supported by NAS. Required format: Subnet Gateway Metric(s) (e.g. 192.168.10.0/24 192.168.10.1 1)

macsframedip6address
string

(IPv6 Network Configuration) IPv6 Address

When the IPv6 prefix part is empty it uses Framed-IPv6-Address. When the prefix part is filled in, it uses Framed-IPv6-Prefix.

Example: 2001:db8:abab::5 or 2001:db8:abab::/64

macsframedip6route
string

(IPv6 Network Configuration) IPv6 Gateway

Framed-IPv6-Route must be supported by NAS. Required format: Prefix Gateway Metric(s) (e.g. 2001:db8:0:16::/64 2001:db8::16:a0:20ff:fe99:a998 1)

macsvlanid
string

(VLAN Configuration) VLAN ID

Enter the VLAN ID (integer from 1-4095) or the VLAN name that this MAC address should be assigned to.

Must be supported by the NAS. Click Info for details.

This setting can be used for a NAS that supports the following RADIUS parameters:

  • Tunnel-Type: VLAN
  • Tunnel-Medium-Type: IEEE-802
  • Tunnel-Private-Group-ID: "This is your input"
macsexpiration
string

(Time Configuration) Expiration Date

Enter the date when this account should expire.

Required format: Mmm dd yyyy (e.g. Jan 01 2012)

macssessiontimeout
string

(Time Configuration) Session Timeout

Enter the time this MAC address has until relogin (in seconds).

macslogintime
string

(Time Configuration) Possible Login Times

Enter the time when this MAC address should have access. "Always" if no time is entered. Click Info for details.

Each simple time string must begin with a day definition. That can be just one day, multiple days, or a range of days separated by a hyphen.

A day is Mo, Tu, We, Th, Fr, Sa or Su, or Wk for Mo-Fr. Any or Al means all days.

After that, a range of hours follows in hhmm-hhmm format. A time string may be a list of simple time strings separated by ,

Example: Wk0855-2305,Sa,Su2230-0230 - weekdays after 8:55 AM and before 11:05 PM | any time on Saturday | Sunday after 10:30 PM and before 02:30 AM.

macsamountoftime
string

(Time Configuration) Amount of Time

Enter the amount of time for this MAC address (in minutes).

macspointoftime
string

(Time Configuration) Time Period (Daily, Weekly, Monthly, Forever)

Select the time period after which the 'Amount of Time' is reset.

macsmaxtotaloctets
string

(Traffic and Bandwidth) Amount of Download and Upload Traffic

Enter the amount of download and upload traffic (summarized) in megabytes (MB) for this MAC.

macsmaxtotaloctetstimerange
string

(Traffic and Bandwidth) Time Period (daily, weekly, monthly, forever)

Select the time period for the amount of download and upload traffic. This does not automatically reset the counter.

You need to setup a cronjob (with cron package) which will reset the counter. Read the documentation!

macsmaxbandwidthdown
string

(Traffic and Bandwidth) Maximum Bandwidth Down

Enter the maximum bandwidth for download in in kilobits per second (Kbps).

macsmaxbandwidthup
string

(Traffic and Bandwidth) Maximum Bandwidth Up

Enter the maximum bandwidth for upload in in kilobits per second (Kbps).

macsacctinteriminterval
string

(Traffic and Bandwidth) Accounting Interim Interval

Enter the interval in seconds which should elapse between interim-updates.

It must be more than 60s and should not be less than 600s. (Default: 600)

macstopadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes on the TOP of this entry

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this MAC address account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: DEFAULT Auth-Type = System

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > macs).

macscheckitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (CHECK-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this MAC address account. If required by syntax, you must use quotes and commas..

Use a vertical bar | to put a command on a new line.

Example: Max-Daily-Session := 36000

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > macs).

macsreplyitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (REPLY-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this MAC address account. If required by syntax, you must use quotes and commas..

Use a vertical bar | to put a command on a new line.

Example: Service-Type == Login-User,|Login-Service == Telnet,|Login-IP-Host == 192.168.1.2

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > macs).

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "macsaddress": "string",
  • "macsswisprredirectionurl": "string",
  • "macssimultaneousconnect": "string",
  • "description": "string",
  • "macsframedipaddress": "string",
  • "macsframedipnetmask": "string",
  • "macsframedroute": "string",
  • "macsframedip6address": "string",
  • "macsframedip6route": "string",
  • "macsvlanid": "string",
  • "macsexpiration": "string",
  • "macssessiontimeout": "string",
  • "macslogintime": "string",
  • "macsamountoftime": "string",
  • "macspointoftime": "string",
  • "macsmaxtotaloctets": "string",
  • "macsmaxtotaloctetstimerange": "string",
  • "macsmaxbandwidthdown": "string",
  • "macsmaxbandwidthup": "string",
  • "macsacctinteriminterval": "string",
  • "macstopadditionaloptions": "string",
  • "macscheckitemsadditionaloptions": "string",
  • "macsreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "macsaddress": "string",
  • "macsswisprredirectionurl": "string",
  • "macssimultaneousconnect": "string",
  • "description": "string",
  • "macsframedipaddress": "string",
  • "macsframedipnetmask": "string",
  • "macsframedroute": "string",
  • "macsframedip6address": "string",
  • "macsframedip6route": "string",
  • "macsvlanid": "string",
  • "macsexpiration": "string",
  • "macssessiontimeout": "string",
  • "macslogintime": "string",
  • "macsamountoftime": "string",
  • "macspointoftime": "string",
  • "macsmaxtotaloctets": "string",
  • "macsmaxtotaloctetstimerange": "string",
  • "macsmaxbandwidthdown": "string",
  • "macsmaxbandwidthup": "string",
  • "macsacctinteriminterval": "string",
  • "macstopadditionaloptions": "string",
  • "macscheckitemsadditionaloptions": "string",
  • "macsreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Delete a FreeRADIUS authorized MAC

path Parameters
id
required
string

Responses

Response samples

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

Get FreeRADIUS general settings

Responses

Response samples

Content type
application/json
{
  • "settingsmaxrequests": "string",
  • "settingsmaxrequesttime": "string",
  • "settingscleanupdelay": "string",
  • "settingsallowcoredumps": "string",
  • "settingsregularexpressions": "string",
  • "settingsextendedexpressions": "string",
  • "keep_settings": true,
  • "settingslogdir": "string",
  • "settingsauth": "string",
  • "settingsauthbadpass": "string",
  • "settingsauthbadpassmessage": "string",
  • "settingsauthgoodpass": "string",
  • "settingsauthgoodpassmessage": "string",
  • "settingsstrippednames": "string",
  • "settingshostnamelookups": "string",
  • "settingsmaxattributes": "string",
  • "settingsrejectdelay": "string",
  • "settingsstartservers": "string",
  • "settingsmaxservers": "string",
  • "settingsminspareservers": "string",
  • "settingsmaxspareservers": "string",
  • "settingsmaxqueuesize": "string",
  • "settingsmaxrequestsperserver": "string",
  • "settingsmotpenable": true,
  • "settingsmotptimespan": "string",
  • "settingsmotppasswordattempts": "string",
  • "settingsmotpchecksumtype": "string",
  • "settingsmotptokenlength": "string",
  • "settingsenablemacauth": true,
  • "settingsenableacctunique": true
}

Update FreeRADIUS general settings

Request Body schema: application/json
required
settingsmaxrequests
string

(General Configuration) Maximum Requests Tracked

The maximum number of requests which the server keeps track of until 'Cleanup Delay' deletes them.

If set too low, it will make FreeRADIUS server busy. A higher value is better (but means increased RAM usage).

Useful range: (256 * < number of NAS >). Shouldn't be higher than (1000 * < number of NAS >). (Default: 1024)

settingsmaxrequesttime
string

(General Configuration) Maximum Request Timeout

The maximum time to handle a request (in seconds). (Default: 30)

settingscleanupdelay
string

(General Configuration) Cleanup Delay

The time to wait before cleaning up a reply which was sent to the NAS (in seconds). (Default: 5)

settingsallowcoredumps
string

(General Configuration) Allow Core Dumps (no, yes)

Only enable if you need to debug the RADIUS server! (Default: Disable)

settingsregularexpressions
string

(General Configuration) Regular Expressions (no, yes)

Allows to use regular expressions. (Default: Enable)

settingsextendedexpressions
string

(General Configuration) Extended Expressions (no, yes)

Allows to use extended expressions. (Default: Enable)

keep_settings
boolean

(General Configuration) Save settings after deletion Important: If disabled, all settings will be wiped on package uninstall/reinstall/upgrade.

If enabled, the settings will be preserved across package reinstalls.

settingslogdir
string

(Logging Configuration) RADIUS Logging Destination (files, syslog)

Choose the destination for FreeRADIUS logs. This will log general service information, but no authentication information.

(Default: System Logs)

settingsauth
string

(Logging Configuration) RADIUS Logging (no, yes)

This enables logging of accepted or rejected authentication. (Default: Enable)

settingsauthbadpass
string

(Logging Configuration) Log Password on Authentication Failure (no, yes)

Log the password of failed authentication attempts to syslog. Not recommended for security reasons.

'RADIUS Logging' must be enabled. (Default: No)

settingsauthbadpassmessage
string

(Logging Configuration) Additional Information for Bad Attempts

You can add additional information to the syslog output if a user is rejected. Click Info for details.

You can use variables for any attributes.

%{User-Name} - Logs the username.

%{reply:Acct-Output-Octets} - Logs the remaining output octets.

settingsauthgoodpass
string

(Logging Configuration) Log Password on Authentication Success (no, yes)

Log the password of successful authentication attempts to syslog. Not recommended for security reasons.

'RADIUS Logging' must be enabled. (Default: No)

settingsauthgoodpassmessage
string

(Logging Configuration) Additional Information for Good Attempts

You can add additional information to the syslog output if a user connects. Click Info for details.

You can use variables for any attributes.

%{User-Name} - Logs the username.

%{reply:Acct-Output-Octets} - Logs the remaining output octets.

settingsstrippednames
string

(Logging Configuration) Log Stripped Names (no, yes)

Choose this if you want to log the full User-Name attribute as it was found in the request.

'RADIUS Logging' must be enabled. (Default: No)

settingshostnamelookups
string

(Logging Configuration) NAS Hostname Lookup (no, yes)

Log the names of NAS instead of IP addresses.

Warning: Turning this on can result in lock-ups of the RADIUS server. (Default: Disable)

settingsmaxattributes
string

(Security Configuration) Maximum Number of Attributes

The maximum number of attributes permitted in a RADIUS packet. Packets which have more than this number of attributes in them will be dropped.

(Default: 200)

settingsrejectdelay
string

(Security Configuration) Access-Reject Delay

When sending an Access-Reject it can be delayed for a few seconds.

This may help to slow down a DoS attack. It also helps to slow down people trying to brute-force crack a user's password.

To send Access-Reject immediately, set to '0'. (Default: 1)

settingsstartservers
string

(Thread Pool Configuration) Number of Threads After Start

The thread pool is a long-lived group of threads which take turns (round-robin) handling any incoming requests. (Default: 5)

settingsmaxservers
string

(Thread Pool Configuration) Maximum Number of Threads

If this limit is ever reached, clients will be locked out; it should not be set too low. (Default: 32)

settingsminspareservers
string

(Thread Pool Configuration) Minimum Spare Servers

This dynamically adjusts the 'Number of Threads After Start'. If the RADIUS server has to handle many requests and less than 'Minimum Spare Servers' are left, the RADIUS server will increase the number of running threads.

(Default: 3)

settingsmaxspareservers
string

(Thread Pool Configuration) Maximum Spare Servers

This dynamically adjusts the 'Number of Threads After Start'. If the RADIUS server has to handle few requests and more than 'Maximum Spare Servers' are left, the RADIUS server will decrease the number of running threads.

(Default: 10)

settingsmaxqueuesize
string

(Thread Pool Configuration) Server Packet Queue Size

This is the queue size where the server stores packets before processing them. (Default: 65536)

settingsmaxrequestsperserver
string

(Thread Pool Configuration) Maximum Requests Per Server

You should only change this if you encounter memory leaks while running RADIUS. (Default: 0)

settingsmotpenable
boolean

(Mobile-One-Time-Password Configuration) Mobile-One-Time-Password This enables the possibility to authenticate with username and one-time-password. The client used to generate OTP can be installed on various mobile device platforms like Android, iOS and others. (Default: Disabled)

Enable Mobile-One-Time-Password Support

settingsmotptimespan
string

(Mobile-One-Time-Password Configuration) OTP Lifetime

The resulting lifetime (in seconds) is the value entered here multiplied by 10 (i.e., 1 ~ 10s, 2 ~ 20s, 3 ~30s).

Values higher than 12 are not allowed for security reasons. (Default: 2)

settingsmotppasswordattempts
string

(Mobile-One-Time-Password Configuration) Number of Invalid Password Attempts

After this many failed attempts, the user will be locked out until an admin unlocks the user.

Values higher than 20 are not allowed for security reasons. (Default: 5)

settingsmotpchecksumtype
string

(Mobile-One-Time-Password Configuration) Hash Algorithm (md5, sha1, sha256)

We build a hash of EPOCHTIME+INIT-SECRET+PIN and then use the digits as password.

If some other (hardware) tokens use other hash types, you can adjust the calculation here.

Note: This must be equal on both sides!(Default: md5)

settingsmotptokenlength
string

(Mobile-One-Time-Password Configuration) Token Password Length

We build a hash of EPOCHTIME+INIT-SECRET+PIN and then use the first 6 digits as password.

If some other (hardware) tokens use other digits, you can adjust the used digits here.

Note: This must be equal on both sides! (Default: 1-6)

settingsenablemacauth
boolean

(Miscellaneous Configuration) Plain MAC Auth The Calling-Station-Id in an Access-Request is first checked against the authorized_macs list, before all other authorization methods. If the NAS is not able to convert the MAC address to the 802.1X format, this field can be enabled. Leave this disabled (unchecked) unless absolutely necessary. (Default: Disabled)

Enable Plain MAC Authentication

settingsenableacctunique
boolean

(Miscellaneous Configuration) Disable Acct_Unique If you encounter problems with some counters when using 'Amount of Download/Upload/Time', you can check this to disable the module. (Default: Enabled)

Disable the "rlm_acct_unique" module in FreeRADIUS "preacct" section.

Responses

Request samples

Content type
application/json
{
  • "settingsmaxrequests": "string",
  • "settingsmaxrequesttime": "string",
  • "settingscleanupdelay": "string",
  • "settingsallowcoredumps": "string",
  • "settingsregularexpressions": "string",
  • "settingsextendedexpressions": "string",
  • "keep_settings": true,
  • "settingslogdir": "string",
  • "settingsauth": "string",
  • "settingsauthbadpass": "string",
  • "settingsauthbadpassmessage": "string",
  • "settingsauthgoodpass": "string",
  • "settingsauthgoodpassmessage": "string",
  • "settingsstrippednames": "string",
  • "settingshostnamelookups": "string",
  • "settingsmaxattributes": "string",
  • "settingsrejectdelay": "string",
  • "settingsstartservers": "string",
  • "settingsmaxservers": "string",
  • "settingsminspareservers": "string",
  • "settingsmaxspareservers": "string",
  • "settingsmaxqueuesize": "string",
  • "settingsmaxrequestsperserver": "string",
  • "settingsmotpenable": true,
  • "settingsmotptimespan": "string",
  • "settingsmotppasswordattempts": "string",
  • "settingsmotpchecksumtype": "string",
  • "settingsmotptokenlength": "string",
  • "settingsenablemacauth": true,
  • "settingsenableacctunique": true
}

Response samples

Content type
application/json
{
  • "settingsmaxrequests": "string",
  • "settingsmaxrequesttime": "string",
  • "settingscleanupdelay": "string",
  • "settingsallowcoredumps": "string",
  • "settingsregularexpressions": "string",
  • "settingsextendedexpressions": "string",
  • "keep_settings": true,
  • "settingslogdir": "string",
  • "settingsauth": "string",
  • "settingsauthbadpass": "string",
  • "settingsauthbadpassmessage": "string",
  • "settingsauthgoodpass": "string",
  • "settingsauthgoodpassmessage": "string",
  • "settingsstrippednames": "string",
  • "settingshostnamelookups": "string",
  • "settingsmaxattributes": "string",
  • "settingsrejectdelay": "string",
  • "settingsstartservers": "string",
  • "settingsmaxservers": "string",
  • "settingsminspareservers": "string",
  • "settingsmaxspareservers": "string",
  • "settingsmaxqueuesize": "string",
  • "settingsmaxrequestsperserver": "string",
  • "settingsmotpenable": true,
  • "settingsmotptimespan": "string",
  • "settingsmotppasswordattempts": "string",
  • "settingsmotpchecksumtype": "string",
  • "settingsmotptokenlength": "string",
  • "settingsenablemacauth": true,
  • "settingsenableacctunique": true
}

Get FreeRADIUS SQL configuration

Responses

Response samples

Content type
application/json
{
  • "sqlconfincludeenable": true,
  • "sqlconfenableauthorize": "string",
  • "sqlconfenableaccounting": "string",
  • "sqlconfenablesession": "string",
  • "sqlconfenablepostauth": "string",
  • "sqlconfdatabase": "string",
  • "sqlconfserver": "string",
  • "sqlconfport": "string",
  • "sqlconflogin": "string",
  • "sqlconfpassword": "string",
  • "sqlconfradiusdb": "string",
  • "sqlconfaccttable1": "string",
  • "sqlconfaccttable2": "string",
  • "sqlconfpostauthtable": "string",
  • "sqlconfauthchecktable": "string",
  • "sqlconfauthreplytable": "string",
  • "sqlconfgroupchecktable": "string",
  • "sqlconfgroupreplytable": "string",
  • "sqlconfusergrouptable": "string",
  • "sqlconfreadgroups": "string",
  • "sqlconfdeletestalesessions": "string",
  • "sqlconfsqltrace": "string",
  • "sqlconfnumsqlsocks": "string",
  • "sqlconfconnectfailureretrydelay": "string",
  • "sqlconflifetime": "string",
  • "sqlconfmaxqueries": "string",
  • "sqlconfreadclients": "string",
  • "sqlconfnastable": "string",
  • "sqlconf2failover": "string",
  • "sqlconf2includeenable": true,
  • "sqlconf2enableauthorize": "string",
  • "sqlconf2enableaccounting": "string",
  • "sqlconf2enablesession": "string",
  • "sqlconf2enablepostauth": "string",
  • "sqlconf2database": "string",
  • "sqlconf2server": "string",
  • "sqlconf2port": "string",
  • "sqlconf2login": "string",
  • "sqlconf2password": "string",
  • "sqlconf2radiusdb": "string",
  • "sqlconf2accttable1": "string",
  • "sqlconf2accttable2": "string",
  • "sqlconf2postauthtable": "string",
  • "sqlconf2authchecktable": "string",
  • "sqlconf2authreplytable": "string",
  • "sqlconf2groupchecktable": "string",
  • "sqlconf2groupreplytable": "string",
  • "sqlconf2usergrouptable": "string",
  • "sqlconf2readgroups": "string",
  • "sqlconf2deletestalesessions": "string",
  • "sqlconf2sqltrace": "string",
  • "sqlconf2numsqlsocks": "string",
  • "sqlconf2connectfailureretrydelay": "string",
  • "sqlconf2lifetime": "string",
  • "sqlconf2maxqueries": "string",
  • "sqlconf2readclients": "string",
  • "sqlconf2nastable": "string"
}

Update FreeRADIUS SQL configuration

Request Body schema: application/json
required
sqlconfincludeenable
boolean

(Enable SQL Database - Server 1) SQL Support Enable this to allow connections from FreeRADIUS to a SQL database. At least one of the following options must be enabled: Authorization, Accounting, Session, Post-Auth. (Default: Disabled)

Enable SQL Support

sqlconfenableauthorize
string

(Enable SQL Database - Server 1) Enable SQL Authorization (Disable, Enable)

Enable this if usernames and passwords are stored on a SQL database.

SQL support must be enabled for this to work. (Default: Disable)

sqlconfenableaccounting
string

(Enable SQL Database - Server 1) Enable SQL Accounting (Disable, Enable)

Enable this if accounting packets should be logged to a SQL database.

SQL support must be enabled for this to work. (Default: Disable)

sqlconfenablesession
string

(Enable SQL Database - Server 1) Enable SQL Session (Disable, Enable)

Enable this to use the "rlm_sql" module (fast) to check for simultaneous connections instead of "radutmp" (slow).

SQL support must be enabled for this to work. (Default: Disable)

sqlconfenablepostauth
string

(Enable SQL Database - Server 1) Enable SQL Post-Auth (Disable, Enable)

Enable this if you like to store post-authentication data on a SQL database.

SQL support must be enabled for this to work. (Default: Disable)

sqlconfdatabase
string

(SQL Database Configuration - Server 1) Database Type (mysql, postgresql)

Choose the database type. (Default: MySQL)

sqlconfserver
string

(SQL Database Configuration - Server 1) Server Address

Database server FQDN or IP address. (Default: localhost)

sqlconfport
string

(SQL Database Configuration - Server 1) Server Port

Enter the port of the database server. (Default: 3306)

sqlconflogin
string

(SQL Database Configuration - Server 1) Database Username

Enter the username for the database server. (Default: radius)

sqlconfpassword
string

(SQL Database Configuration - Server 1) Database Password

Enter the password for the database server user. (Default: radpass)

sqlconfradiusdb
string

(SQL Database Configuration - Server 1) Database Table Configuration

Choose database table configuration. Click Info for details. (Default: radius)

  • For all DBs except Oracle choose: radius

  • For Oracle, use the following template, adjusted according to your environment:

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=your_sid)))

sqlconfaccttable1
string

(SQL Database Configuration - Server 1) Accounting Table 1 (Start)

This is the accounting "Start" table. Choose the same name for both if you want to log "Start" and "Stop" to the same table. (Default: radacct)

sqlconfaccttable2
string

(SQL Database Configuration - Server 1) Accounting Table 2 (Stop)

This is the accounting "Stop" table. Choose the same name for both if you want to log "Start" and "Stop" to the same table. (Default: radacct)

sqlconfpostauthtable
string

(SQL Database Configuration - Server 1) Post Auth Table

Choose Post Auth Table. (Default: radpostauth)

sqlconfauthchecktable
string

(SQL Database Configuration - Server 1) Auth Check Table

Choose Auth Check Table. (Default: radcheck)

sqlconfauthreplytable
string

(SQL Database Configuration - Server 1) Auth Reply Table

Choose Auth Reply Table. (Default: radreply)

sqlconfgroupchecktable
string

(SQL Database Configuration - Server 1) Group Check Table

Choose Group Check Table. (Default: radgroupcheck)

sqlconfgroupreplytable
string

(SQL Database Configuration - Server 1) Group Reply Table

Choose Group Reply Table. (Default: radgroupreply)

sqlconfusergrouptable
string

(SQL Database Configuration - Server 1) User Group Table

Choose User Group Table. (Default: radusergroup)

sqlconfreadgroups
string

(SQL Database Configuration - Server 1) Read the Group Tables (yes, no)

If set to 'Yes', the group tables will be read.

If set to 'No', the user must have Fall-Through = Yes in the radreply table. (Default: Yes)

sqlconfdeletestalesessions
string

(SQL Database Configuration - Server 1) Delete Stale Sessions (yes, no)

Remove stale session if checkrad does not see a double login. (Default: Yes)

sqlconfsqltrace
string

(SQL Database Configuration - Server 1) Print all SQL Statements (yes, no)

Print all SQL statements when in debug mode. (Default: No)

sqlconfnumsqlsocks
string

(SQL Database Configuration - Server 1) Number of SQL Connections

Number of SQL connections to make to the server. (Default: 5)

sqlconfconnectfailureretrydelay
string

(SQL Database Configuration - Server 1) Failed Database Connection Delay

Number of seconds before a retry after a failed database connection. (Default: 60)

sqlconflifetime
string

(SQL Database Configuration - Server 1) SQL Socket Lifetime

If you have network issues, such as TCP sessions expiring, you may need to set the socket lifetime.

If set to non-zero, any open connections will be closed X seconds after they were first opened. (Default: 0)

sqlconfmaxqueries
string

(SQL Database Configuration - Server 1) SQL Socket Maximum Queries

If you have issues with SQL sockets lasting too long, you can limit the number of queries performed over one socket.

After set number of queries, the socket will be closed. Use 0 for no limit. (Default: 0)

sqlconfreadclients
string

(SQL Database Configuration - Server 1) Read Clients from Database (yes, no)

Set to 'Yes' to read RADIUS clients from the database 'nas' table. Clients will only be read on server startup. (Default: Yes)

sqlconfnastable
string

(SQL Database Configuration - Server 1) RADIUS Client Table

Choose the table to keep RADIUS client info. (Default: nas)

sqlconf2failover
string

(Enable Redundant SQL Database Support) Choose Failover/Load Balancing Mode (redundant, load-balance, redundant-load-balance)

Choose the interaction of the two SQL databases. Click Info for details. (Default: Redundant)

  • Redundant: Failover to server2 if server1 fails.
  • Load-Balance: The load is balanced 50:50 between both databases.
  • Redundant-Load-Balance: The load is balanced 50:50 between both databases. If one is down, the other does 100%.
sqlconf2includeenable
boolean

(Enable SQL Database - Server 2) SQL Support Enable this to allow connections from FreeRADIUS to a SQL database. At least one of the following options must be enabled: Authorization, Accounting, Session, Post-Auth. (Default: Disabled)

Enable SQL Support (Default: unchecked)

sqlconf2enableauthorize
string

(Enable SQL Database - Server 2) Enable SQL Authorization (Disable, Enable)

Enable this if usernames and passwords are stored on a SQL database.

SQL support must be enabled for this to work. (Default: Disable)

sqlconf2enableaccounting
string

(Enable SQL Database - Server 2) Enable SQL Accounting (Disable, Enable)

Enable this if accounting packets should be logged to a SQL database.

SQL support must be enabled for this to work. (Default: Disable)

sqlconf2enablesession
string

(Enable SQL Database - Server 2) Enable SQL Session (Disable, Enable)

Enable this to use the "rlm_sql" module (fast) to check for simultaneous connections instead of "radutmp" (slow).

SQL support must be enabled for this to work. (Default: Disable)

sqlconf2enablepostauth
string

(Enable SQL Database - Server 2) Enable SQL Post-Auth (Disable, Enable)

Enable this if you like to store post-authentication data on a SQL database.

SQL support must be enabled for this to work. (Default: Disable)

sqlconf2database
string

(SQL Database Configuration - Server 2) Database Type (mysql, postgresql)

Choose the database type. (Default: MySQL)

sqlconf2server
string

(SQL Database Configuration - Server 2) Server Address

Database server FQDN or IP address. (Default: localhost)

sqlconf2port
string

(SQL Database Configuration - Server 2) Server Port

Enter the port of the database server. (Default: 3306)

sqlconf2login
string

(SQL Database Configuration - Server 2) Database Username

Enter the username for the database server. (Default: radius)

sqlconf2password
string

(SQL Database Configuration - Server 2) Database Password

Enter the password for the database server user. (Default: radpass)

sqlconf2radiusdb
string

(SQL Database Configuration - Server 2) Database Table Configuration

Choose database table configuration. Click Info for details. (Default: radius)

  • For all DBs except Oracle choose: radius

  • For Oracle, use the following template, adjusted according to your environment:

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=your_sid)))

sqlconf2accttable1
string

(SQL Database Configuration - Server 2) Accounting Table 1 (Start)

This is the accounting "Start" table. Choose the same name for both if you want to log "Start" and "Stop" to the same table. (Default: radacct)

sqlconf2accttable2
string

(SQL Database Configuration - Server 2) Accounting Table 2 (Stop)

This is the accounting "Stop" table. Choose the same name for both if you want to log "Start" and "Stop" to the same table. (Default: radacct)

sqlconf2postauthtable
string

(SQL Database Configuration - Server 2) Post Auth Table

Choose Post Auth Table. (Default: radpostauth)

sqlconf2authchecktable
string

(SQL Database Configuration - Server 2) Auth Check Table

Choose Auth Check Table. (Default: radcheck)

sqlconf2authreplytable
string

(SQL Database Configuration - Server 2) Auth Reply Table

Choose Auth Reply Table. (Default: radreply)

sqlconf2groupchecktable
string

(SQL Database Configuration - Server 2) Group Check Table

Choose Group Check Table. (Default: radgroupcheck)

sqlconf2groupreplytable
string

(SQL Database Configuration - Server 2) Group Reply Table

Choose Group Reply Table. (Default: radgroupreply)

sqlconf2usergrouptable
string

(SQL Database Configuration - Server 2) User Group Table

Choose User Group Table. (Default: radusergroup)

sqlconf2readgroups
string

(SQL Database Configuration - Server 2) Read the Group Tables (yes, no)

If set to 'Yes', the group tables will be read.

If set to 'No', the user must have Fall-Through = Yes in the radreply table. (Default: Yes)

sqlconf2deletestalesessions
string

(SQL Database Configuration - Server 2) Delete Stale Sessions (yes, no)

Remove stale session if checkrad does not see a double login. (Default: Yes)

sqlconf2sqltrace
string

(SQL Database Configuration - Server 2) Print all SQL Statements (yes, no)

Print all SQL statements when in debug mode. (Default: No)

sqlconf2numsqlsocks
string

(SQL Database Configuration - Server 2) Number of SQL Connections

Number of SQL connections to make to the server. (Default: 5)

sqlconf2connectfailureretrydelay
string

(SQL Database Configuration - Server 2) Failed Database Connection Delay

Number of seconds before a retry after a failed database connection. (Default: 60)

sqlconf2lifetime
string

(SQL Database Configuration - Server 2) SQL Socket Lifetime

If you have network issues, such as TCP sessions expiring, you may need to set the socket lifetime.

If set to non-zero, any open connections will be closed X seconds after they were first opened. (Default: 0)

sqlconf2maxqueries
string

(SQL Database Configuration - Server 2) SQL Socket Maximum Queries

If you have issues with SQL sockets lasting too long, you can limit the number of queries performed over one socket.

After set number of queries, the socket will be closed. Use 0 for no limit. (Default: 0)

sqlconf2readclients
string

(SQL Database Configuration - Server 2) Read Clients from Database (yes, no)

Set to 'Yes' to read RADIUS clients from the database 'nas' table. Clients will only be read on server startup. (Default: Yes)

sqlconf2nastable
string

(SQL Database Configuration - Server 2) RADIUS Client Table

Choose the table to keep RADIUS client info. (Default: nas)

Responses

Request samples

Content type
application/json
{
  • "sqlconfincludeenable": true,
  • "sqlconfenableauthorize": "string",
  • "sqlconfenableaccounting": "string",
  • "sqlconfenablesession": "string",
  • "sqlconfenablepostauth": "string",
  • "sqlconfdatabase": "string",
  • "sqlconfserver": "string",
  • "sqlconfport": "string",
  • "sqlconflogin": "string",
  • "sqlconfpassword": "string",
  • "sqlconfradiusdb": "string",
  • "sqlconfaccttable1": "string",
  • "sqlconfaccttable2": "string",
  • "sqlconfpostauthtable": "string",
  • "sqlconfauthchecktable": "string",
  • "sqlconfauthreplytable": "string",
  • "sqlconfgroupchecktable": "string",
  • "sqlconfgroupreplytable": "string",
  • "sqlconfusergrouptable": "string",
  • "sqlconfreadgroups": "string",
  • "sqlconfdeletestalesessions": "string",
  • "sqlconfsqltrace": "string",
  • "sqlconfnumsqlsocks": "string",
  • "sqlconfconnectfailureretrydelay": "string",
  • "sqlconflifetime": "string",
  • "sqlconfmaxqueries": "string",
  • "sqlconfreadclients": "string",
  • "sqlconfnastable": "string",
  • "sqlconf2failover": "string",
  • "sqlconf2includeenable": true,
  • "sqlconf2enableauthorize": "string",
  • "sqlconf2enableaccounting": "string",
  • "sqlconf2enablesession": "string",
  • "sqlconf2enablepostauth": "string",
  • "sqlconf2database": "string",
  • "sqlconf2server": "string",
  • "sqlconf2port": "string",
  • "sqlconf2login": "string",
  • "sqlconf2password": "string",
  • "sqlconf2radiusdb": "string",
  • "sqlconf2accttable1": "string",
  • "sqlconf2accttable2": "string",
  • "sqlconf2postauthtable": "string",
  • "sqlconf2authchecktable": "string",
  • "sqlconf2authreplytable": "string",
  • "sqlconf2groupchecktable": "string",
  • "sqlconf2groupreplytable": "string",
  • "sqlconf2usergrouptable": "string",
  • "sqlconf2readgroups": "string",
  • "sqlconf2deletestalesessions": "string",
  • "sqlconf2sqltrace": "string",
  • "sqlconf2numsqlsocks": "string",
  • "sqlconf2connectfailureretrydelay": "string",
  • "sqlconf2lifetime": "string",
  • "sqlconf2maxqueries": "string",
  • "sqlconf2readclients": "string",
  • "sqlconf2nastable": "string"
}

Response samples

Content type
application/json
{
  • "sqlconfincludeenable": true,
  • "sqlconfenableauthorize": "string",
  • "sqlconfenableaccounting": "string",
  • "sqlconfenablesession": "string",
  • "sqlconfenablepostauth": "string",
  • "sqlconfdatabase": "string",
  • "sqlconfserver": "string",
  • "sqlconfport": "string",
  • "sqlconflogin": "string",
  • "sqlconfpassword": "string",
  • "sqlconfradiusdb": "string",
  • "sqlconfaccttable1": "string",
  • "sqlconfaccttable2": "string",
  • "sqlconfpostauthtable": "string",
  • "sqlconfauthchecktable": "string",
  • "sqlconfauthreplytable": "string",
  • "sqlconfgroupchecktable": "string",
  • "sqlconfgroupreplytable": "string",
  • "sqlconfusergrouptable": "string",
  • "sqlconfreadgroups": "string",
  • "sqlconfdeletestalesessions": "string",
  • "sqlconfsqltrace": "string",
  • "sqlconfnumsqlsocks": "string",
  • "sqlconfconnectfailureretrydelay": "string",
  • "sqlconflifetime": "string",
  • "sqlconfmaxqueries": "string",
  • "sqlconfreadclients": "string",
  • "sqlconfnastable": "string",
  • "sqlconf2failover": "string",
  • "sqlconf2includeenable": true,
  • "sqlconf2enableauthorize": "string",
  • "sqlconf2enableaccounting": "string",
  • "sqlconf2enablesession": "string",
  • "sqlconf2enablepostauth": "string",
  • "sqlconf2database": "string",
  • "sqlconf2server": "string",
  • "sqlconf2port": "string",
  • "sqlconf2login": "string",
  • "sqlconf2password": "string",
  • "sqlconf2radiusdb": "string",
  • "sqlconf2accttable1": "string",
  • "sqlconf2accttable2": "string",
  • "sqlconf2postauthtable": "string",
  • "sqlconf2authchecktable": "string",
  • "sqlconf2authreplytable": "string",
  • "sqlconf2groupchecktable": "string",
  • "sqlconf2groupreplytable": "string",
  • "sqlconf2usergrouptable": "string",
  • "sqlconf2readgroups": "string",
  • "sqlconf2deletestalesessions": "string",
  • "sqlconf2sqltrace": "string",
  • "sqlconf2numsqlsocks": "string",
  • "sqlconf2connectfailureretrydelay": "string",
  • "sqlconf2lifetime": "string",
  • "sqlconf2maxqueries": "string",
  • "sqlconf2readclients": "string",
  • "sqlconf2nastable": "string"
}

Get FreeRADIUS XMLRPC sync configuration

Responses

Response samples

Content type
application/json
{
  • "syncenablexmlrpc": "string",
  • "synctimeout": "string",
  • "row": [
    ]
}

Update FreeRADIUS XMLRPC sync configuration

Request Body schema: application/json
required
syncenablexmlrpc
string

(FreeRADIUS XMLRPC Sync) Enable Sync (auto, manual, disabled)

Select a sync method for FreeRADIUS.

Important: While using "Sync to host(s) defined below", only sync from host A to B, A to C but do not enable XMLRPC sync to A. This will result in a loop!

synctimeout
string

(FreeRADIUS XMLRPC Sync) XMLRPC timeout

Timeout in seconds for the XMLRPC timeout. Default: 150

Array of objects (FreeradiussyncRow)

Responses

Request samples

Content type
application/json
{
  • "syncenablexmlrpc": "string",
  • "synctimeout": "string",
  • "row": [
    ]
}

Response samples

Content type
application/json
{
  • "syncenablexmlrpc": "string",
  • "synctimeout": "string",
  • "row": [
    ]
}

Get FreeRADIUS users

Responses

Response samples

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

Create a new FreeRADIUS user

Request Body schema: application/json
required
usersusername
string

(General Configuration) Username

Enter the username. Whitespace is allowed.

Note: May only contain a-z, A-Z, 0-9, underscore, period and hyphen when using OTP.

userspassword
string

(General Configuration) Password

Enter the password for this username. Leave empty if you want to use custom options (such as OTP) instead of username/password.

userspasswordencryption
string

(General Configuration) Password Encryption (Cleartext-Password, MD5-Password, MD5-Password-hashed, NT-Password-hashed)

Select the password encryption for this user. If the (pre-hashed) options are used, the password should already be hashed by the expected hash function. Note that not all authentication protocols are compatible with all types of hashed passwords. Default: Cleartext-Password

usersmotpenable
boolean

(One-Time Password Configuration) One-Time Password This enables the possibility to authenticate with username and one-time-password. The client used to generate OTP can be installed on various mobile device platforms like Android, iOS and others. (Default: unchecked) IMPORTANT: For MOTP, mOTP must be enabled at FreeRADIUS > Settings. The RADIUS NAS / Client must use PAP, otherwise the authenticator script cannot use the authentication data.

Enable One-Time Password (OTP) for this user

usersauthmethod
string

(One-Time Password Configuration) OTP Auth Method (motp, googleauth)

Select the OTP authentication method for this user. Default: mOTP

usersmotpinitsecret
string

(One-Time Password Configuration) Init-Secret

This is the generated init secret you get when you initialize the token for the first time on a client (mobile device).

Note: For mOTP this may only contain 0-9 and a-f. For Google Authenticator, it must be A-Z and 2-7. Must contain at least 16 characters.

usersmotppin
string

(One-Time Password Configuration) PIN

This is the PIN the user has to enter on his mobile device to generate a one-time-password.

For Google Authenticator, the user must prepend this PIN to the one-time password generated by the authenticator when logging in (e.g. OTP code "990990", user enters "1234990990" as the password).

May only contain a PIN consisting of 4-8 digits. Normally 4 digits are used.

usersmotpoffset
string

(One-Time Password Configuration) Time Offset

If the client is not in the correct time zone or is not changing time zone automatically, you have to calculate the offset and enter it here.

(Default: 0). Click Info for details.

To calculate the time offset, do the following:

  • Check the Epoch-Time on your client with date +%s and write down the first 9 digits.
  • Check the Epoch-Time on your FreeRADIUS server with date +%s and write down the first 9 digits.
  • Subtract both values, multiply the result by 10 and enter the value in this field. Example: 30 or -180
userswisprredirectionurl
string

(Miscellaneous Configuration) Redirection URL

Enter the URL the user should be redirected to after successful login. Example: http://www.google.com

userssimultaneousconnect
string

(Miscellaneous Configuration) Number of Simultaneous Connections

The maximum of simultaneous connections with this username. Leave empty for no limit.

If using FreeRADIUS with Captive Portal you should leave this empty. Read the documentation!

description
string

(Miscellaneous Configuration) Description

Enter any description for this user you like.

usersframedipaddress
string

(IPv4 Network Configuration) IPv4 Address

Framed-IP-Address must be supported by NAS. Click Info for details.

IMPORTANT: You must enter an IPv4 address here if you checked "RADIUS issued IP" on PPPoE VPN configuration.

usersframedipnetmask
string

(IPv4 Network Configuration) Subnet Mask

Framed-IP-Netmask must be supported by NAS. Example: 255.255.255.0

usersframedroute
string

(IPv4 Network Configuration) IPv4 Gateway

Framed-Route must be supported by NAS. Required format: Subnet Gateway Metric(s) (e.g. 192.168.10.0/24 192.168.10.1 1)

usersframedip6address
string

(IPv6 Network Configuration) IPv6 Address

When the IPv6 prefix part is empty it uses Framed-IPv6-Address. When the prefix part is filled in, it uses Framed-IPv6-Prefix.

Example: 2001:db8:abab::5 or 2001:db8:abab::/64

usersframedip6route
string

(IPv6 Network Configuration) IPv6 Gateway

Framed-IPv6-Route must be supported by NAS. Required format: Prefix Gateway Metric(s) (e.g. 2001:db8:0:16::/64 2001:db8::16:a0:20ff:fe99:a998 1)

usersvlanid
string

(VLAN Configuration) VLAN ID

Enter the VLAN ID (integer from 1-4095) or the VLAN name that this username should be assigned to.

Must be supported by the NAS. Click Info for details.

This setting can be used for a NAS that supports the following RADIUS parameters:

  • Tunnel-Type: VLAN
  • Tunnel-Medium-Type: IEEE-802
  • Tunnel-Private-Group-ID: "This is your input"
usersexpiration
string

(Time Configuration) Expiration Date

Enter the date when this account should expire.

Required format: Mmm dd yyyy (e.g. Jan 01 2012)

userssessiontimeout
string

(Time Configuration) Session Timeout

Enter the time this user has until relogin (in seconds).

userslogintime
string

(Time Configuration) Possible Login Times

Enter the time when this user should have access. "Always" if no time is entered. Click Info for details.

Each simple time string must begin with a day definition. That can be just one day, multiple days, or a range of days separated by a hyphen.

A day is Mo, Tu, We, Th, Fr, Sa or Su, or Wk for Mo-Fr. Any or Al means all days.

After that, a range of hours follows in hhmm-hhmm format. A time string may be a list of simple time strings separated by ,

Example: Wk0855-2305,Sa,Su2230-0230 - weekdays after 8:55 AM and before 11:05 PM | any time on Saturday | Sunday after 10:30 PM and before 02:30 AM.

usersamountoftime
string

(Time Configuration) Amount of Time

Enter the amount of time for this username (in minutes).

userspointoftime
string

(Time Configuration) Time Period (Daily, Weekly, Monthly, Forever)

Select the time period after which the 'Amount of Time' is reset.

usersmaxtotaloctets
string

(Traffic and Bandwidth) Amount of Download and Upload Traffic

Enter the amount of download and upload traffic (summarized) in megabytes (MB) for this user.

IMPORTANT: If using captive portal without periodic reauthentication enabled, this value must not exceed 4095 due to protocol limitations communicating this value to the captive portal via the 32 bit unsigned pfSense-Max-Total-Octets attribute.

usersmaxtotaloctetstimerange
string

(Traffic and Bandwidth) Time Period (daily, weekly, monthly, forever)

Select the time period for the amount of download and upload traffic. This does not automatically reset the counter.

You need to setup a cronjob (with cron package) which will reset the counter. Read the documentation!

usersmaxbandwidthdown
string

(Traffic and Bandwidth) Maximum Bandwidth Down

Enter the maximum bandwidth for download in kilobits (1000 bits) per second (Kbit/s).

usersmaxbandwidthup
string

(Traffic and Bandwidth) Maximum Bandwidth Up

Enter the maximum bandwidth for upload in kilobits (1000 bits) per second (Kbit/s).

usersacctinteriminterval
string

(Traffic and Bandwidth) Accounting Interim Interval

Enter the interval in seconds which should elapse between interim-updates.

It must be more than 60s and should not be less than 600s. (Default: 600)

userstopadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes on the TOP of this entry

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this user account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: DEFAULT Auth-Type = System

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > Users).

userscheckitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (CHECK-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this user account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: Max-Daily-Session := 36000

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > Users).

usersreplyitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (REPLY-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this user account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: Service-Type == Login-User,|Login-Service == Telnet,|Login-IP-Host == 192.168.1.2

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > Users).

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "usersusername": "string",
  • "userspassword": "string",
  • "userspasswordencryption": "string",
  • "usersmotpenable": true,
  • "usersauthmethod": "string",
  • "usersmotpinitsecret": "string",
  • "usersmotppin": "string",
  • "usersmotpoffset": "string",
  • "userswisprredirectionurl": "string",
  • "userssimultaneousconnect": "string",
  • "description": "string",
  • "usersframedipaddress": "string",
  • "usersframedipnetmask": "string",
  • "usersframedroute": "string",
  • "usersframedip6address": "string",
  • "usersframedip6route": "string",
  • "usersvlanid": "string",
  • "usersexpiration": "string",
  • "userssessiontimeout": "string",
  • "userslogintime": "string",
  • "usersamountoftime": "string",
  • "userspointoftime": "string",
  • "usersmaxtotaloctets": "string",
  • "usersmaxtotaloctetstimerange": "string",
  • "usersmaxbandwidthdown": "string",
  • "usersmaxbandwidthup": "string",
  • "usersacctinteriminterval": "string",
  • "userstopadditionaloptions": "string",
  • "userscheckitemsadditionaloptions": "string",
  • "usersreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "usersusername": "string",
  • "userspassword": "string",
  • "userspasswordencryption": "string",
  • "usersmotpenable": true,
  • "usersauthmethod": "string",
  • "usersmotpinitsecret": "string",
  • "usersmotppin": "string",
  • "usersmotpoffset": "string",
  • "userswisprredirectionurl": "string",
  • "userssimultaneousconnect": "string",
  • "description": "string",
  • "usersframedipaddress": "string",
  • "usersframedipnetmask": "string",
  • "usersframedroute": "string",
  • "usersframedip6address": "string",
  • "usersframedip6route": "string",
  • "usersvlanid": "string",
  • "usersexpiration": "string",
  • "userssessiontimeout": "string",
  • "userslogintime": "string",
  • "usersamountoftime": "string",
  • "userspointoftime": "string",
  • "usersmaxtotaloctets": "string",
  • "usersmaxtotaloctetstimerange": "string",
  • "usersmaxbandwidthdown": "string",
  • "usersmaxbandwidthup": "string",
  • "usersacctinteriminterval": "string",
  • "userstopadditionaloptions": "string",
  • "userscheckitemsadditionaloptions": "string",
  • "usersreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Update an existing FreeRADIUS user

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

(General Configuration) Username

Enter the username. Whitespace is allowed.

Note: May only contain a-z, A-Z, 0-9, underscore, period and hyphen when using OTP.

userspassword
string

(General Configuration) Password

Enter the password for this username. Leave empty if you want to use custom options (such as OTP) instead of username/password.

userspasswordencryption
string

(General Configuration) Password Encryption (Cleartext-Password, MD5-Password, MD5-Password-hashed, NT-Password-hashed)

Select the password encryption for this user. If the (pre-hashed) options are used, the password should already be hashed by the expected hash function. Note that not all authentication protocols are compatible with all types of hashed passwords. Default: Cleartext-Password

usersmotpenable
boolean

(One-Time Password Configuration) One-Time Password This enables the possibility to authenticate with username and one-time-password. The client used to generate OTP can be installed on various mobile device platforms like Android, iOS and others. (Default: unchecked) IMPORTANT: For MOTP, mOTP must be enabled at FreeRADIUS > Settings. The RADIUS NAS / Client must use PAP, otherwise the authenticator script cannot use the authentication data.

Enable One-Time Password (OTP) for this user

usersauthmethod
string

(One-Time Password Configuration) OTP Auth Method (motp, googleauth)

Select the OTP authentication method for this user. Default: mOTP

usersmotpinitsecret
string

(One-Time Password Configuration) Init-Secret

This is the generated init secret you get when you initialize the token for the first time on a client (mobile device).

Note: For mOTP this may only contain 0-9 and a-f. For Google Authenticator, it must be A-Z and 2-7. Must contain at least 16 characters.

usersmotppin
string

(One-Time Password Configuration) PIN

This is the PIN the user has to enter on his mobile device to generate a one-time-password.

For Google Authenticator, the user must prepend this PIN to the one-time password generated by the authenticator when logging in (e.g. OTP code "990990", user enters "1234990990" as the password).

May only contain a PIN consisting of 4-8 digits. Normally 4 digits are used.

usersmotpoffset
string

(One-Time Password Configuration) Time Offset

If the client is not in the correct time zone or is not changing time zone automatically, you have to calculate the offset and enter it here.

(Default: 0). Click Info for details.

To calculate the time offset, do the following:

  • Check the Epoch-Time on your client with date +%s and write down the first 9 digits.
  • Check the Epoch-Time on your FreeRADIUS server with date +%s and write down the first 9 digits.
  • Subtract both values, multiply the result by 10 and enter the value in this field. Example: 30 or -180
userswisprredirectionurl
string

(Miscellaneous Configuration) Redirection URL

Enter the URL the user should be redirected to after successful login. Example: http://www.google.com

userssimultaneousconnect
string

(Miscellaneous Configuration) Number of Simultaneous Connections

The maximum of simultaneous connections with this username. Leave empty for no limit.

If using FreeRADIUS with Captive Portal you should leave this empty. Read the documentation!

description
string

(Miscellaneous Configuration) Description

Enter any description for this user you like.

usersframedipaddress
string

(IPv4 Network Configuration) IPv4 Address

Framed-IP-Address must be supported by NAS. Click Info for details.

IMPORTANT: You must enter an IPv4 address here if you checked "RADIUS issued IP" on PPPoE VPN configuration.

usersframedipnetmask
string

(IPv4 Network Configuration) Subnet Mask

Framed-IP-Netmask must be supported by NAS. Example: 255.255.255.0

usersframedroute
string

(IPv4 Network Configuration) IPv4 Gateway

Framed-Route must be supported by NAS. Required format: Subnet Gateway Metric(s) (e.g. 192.168.10.0/24 192.168.10.1 1)

usersframedip6address
string

(IPv6 Network Configuration) IPv6 Address

When the IPv6 prefix part is empty it uses Framed-IPv6-Address. When the prefix part is filled in, it uses Framed-IPv6-Prefix.

Example: 2001:db8:abab::5 or 2001:db8:abab::/64

usersframedip6route
string

(IPv6 Network Configuration) IPv6 Gateway

Framed-IPv6-Route must be supported by NAS. Required format: Prefix Gateway Metric(s) (e.g. 2001:db8:0:16::/64 2001:db8::16:a0:20ff:fe99:a998 1)

usersvlanid
string

(VLAN Configuration) VLAN ID

Enter the VLAN ID (integer from 1-4095) or the VLAN name that this username should be assigned to.

Must be supported by the NAS. Click Info for details.

This setting can be used for a NAS that supports the following RADIUS parameters:

  • Tunnel-Type: VLAN
  • Tunnel-Medium-Type: IEEE-802
  • Tunnel-Private-Group-ID: "This is your input"
usersexpiration
string

(Time Configuration) Expiration Date

Enter the date when this account should expire.

Required format: Mmm dd yyyy (e.g. Jan 01 2012)

userssessiontimeout
string

(Time Configuration) Session Timeout

Enter the time this user has until relogin (in seconds).

userslogintime
string

(Time Configuration) Possible Login Times

Enter the time when this user should have access. "Always" if no time is entered. Click Info for details.

Each simple time string must begin with a day definition. That can be just one day, multiple days, or a range of days separated by a hyphen.

A day is Mo, Tu, We, Th, Fr, Sa or Su, or Wk for Mo-Fr. Any or Al means all days.

After that, a range of hours follows in hhmm-hhmm format. A time string may be a list of simple time strings separated by ,

Example: Wk0855-2305,Sa,Su2230-0230 - weekdays after 8:55 AM and before 11:05 PM | any time on Saturday | Sunday after 10:30 PM and before 02:30 AM.

usersamountoftime
string

(Time Configuration) Amount of Time

Enter the amount of time for this username (in minutes).

userspointoftime
string

(Time Configuration) Time Period (Daily, Weekly, Monthly, Forever)

Select the time period after which the 'Amount of Time' is reset.

usersmaxtotaloctets
string

(Traffic and Bandwidth) Amount of Download and Upload Traffic

Enter the amount of download and upload traffic (summarized) in megabytes (MB) for this user.

IMPORTANT: If using captive portal without periodic reauthentication enabled, this value must not exceed 4095 due to protocol limitations communicating this value to the captive portal via the 32 bit unsigned pfSense-Max-Total-Octets attribute.

usersmaxtotaloctetstimerange
string

(Traffic and Bandwidth) Time Period (daily, weekly, monthly, forever)

Select the time period for the amount of download and upload traffic. This does not automatically reset the counter.

You need to setup a cronjob (with cron package) which will reset the counter. Read the documentation!

usersmaxbandwidthdown
string

(Traffic and Bandwidth) Maximum Bandwidth Down

Enter the maximum bandwidth for download in kilobits (1000 bits) per second (Kbit/s).

usersmaxbandwidthup
string

(Traffic and Bandwidth) Maximum Bandwidth Up

Enter the maximum bandwidth for upload in kilobits (1000 bits) per second (Kbit/s).

usersacctinteriminterval
string

(Traffic and Bandwidth) Accounting Interim Interval

Enter the interval in seconds which should elapse between interim-updates.

It must be more than 60s and should not be less than 600s. (Default: 600)

userstopadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes on the TOP of this entry

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this user account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: DEFAULT Auth-Type = System

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > Users).

userscheckitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (CHECK-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this user account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: Max-Daily-Session := 36000

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > Users).

usersreplyitemsadditionaloptions
string

(Advanced Configuration) Additional RADIUS Attributes (REPLY-ITEM)

This is for experts only and should be treated with care! Click Info for details.

You may append custom RADIUS options to this user account. If required by syntax, you must use quotes and commas.

Use a vertical bar | to put a command on a new line.

Example: Service-Type == Login-User,|Login-Service == Telnet,|Login-IP-Host == 192.168.1.2

IMPORTANT: If you don't format this field correctly, FreeRADIUS will not start because of syntax errors.

Verify your changes by checking the authorized_macs file (View config > Users).

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "usersusername": "string",
  • "userspassword": "string",
  • "userspasswordencryption": "string",
  • "usersmotpenable": true,
  • "usersauthmethod": "string",
  • "usersmotpinitsecret": "string",
  • "usersmotppin": "string",
  • "usersmotpoffset": "string",
  • "userswisprredirectionurl": "string",
  • "userssimultaneousconnect": "string",
  • "description": "string",
  • "usersframedipaddress": "string",
  • "usersframedipnetmask": "string",
  • "usersframedroute": "string",
  • "usersframedip6address": "string",
  • "usersframedip6route": "string",
  • "usersvlanid": "string",
  • "usersexpiration": "string",
  • "userssessiontimeout": "string",
  • "userslogintime": "string",
  • "usersamountoftime": "string",
  • "userspointoftime": "string",
  • "usersmaxtotaloctets": "string",
  • "usersmaxtotaloctetstimerange": "string",
  • "usersmaxbandwidthdown": "string",
  • "usersmaxbandwidthup": "string",
  • "usersacctinteriminterval": "string",
  • "userstopadditionaloptions": "string",
  • "userscheckitemsadditionaloptions": "string",
  • "usersreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "usersusername": "string",
  • "userspassword": "string",
  • "userspasswordencryption": "string",
  • "usersmotpenable": true,
  • "usersauthmethod": "string",
  • "usersmotpinitsecret": "string",
  • "usersmotppin": "string",
  • "usersmotpoffset": "string",
  • "userswisprredirectionurl": "string",
  • "userssimultaneousconnect": "string",
  • "description": "string",
  • "usersframedipaddress": "string",
  • "usersframedipnetmask": "string",
  • "usersframedroute": "string",
  • "usersframedip6address": "string",
  • "usersframedip6route": "string",
  • "usersvlanid": "string",
  • "usersexpiration": "string",
  • "userssessiontimeout": "string",
  • "userslogintime": "string",
  • "usersamountoftime": "string",
  • "userspointoftime": "string",
  • "usersmaxtotaloctets": "string",
  • "usersmaxtotaloctetstimerange": "string",
  • "usersmaxbandwidthdown": "string",
  • "usersmaxbandwidthup": "string",
  • "usersacctinteriminterval": "string",
  • "userstopadditionaloptions": "string",
  • "userscheckitemsadditionaloptions": "string",
  • "usersreplyitemsadditionaloptions": "string",
  • "id": "string"
}

Delete a FreeRADIUS user

path Parameters
id
required
string

Responses

Response samples

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

Get frr settings

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "routerid": "string",
  • "password": "string",
  • "passwordencrypt": true,
  • "ignoreipsecrestart": true,
  • "carpstatusvid": "string",
  • "logging": true,
  • "pkgloglevel": "string",
  • "enablesnmpagentx": true,
  • "row": [
    ],
  • "nht": "string",
  • "carpstatusvid_options": [
    ],
  • "routetarget_options": [
    ]
}

Update frr settings

Request Body schema: application/json
required
enable
boolean

Enable

Enable FRR

routerid
string

Default Router ID

Specify the default Router ID. RID is the highest logical (loopback) IP address configured on a router. For more information on router identifiers see http://en.wikipedia.org/wiki/Open_Shortest_Path_First. Per-daemon configuration will take precedence over this setting.

password
string

Master Password

Password to access the management daemons. Required.

passwordencrypt
boolean

Encrypt Password

Enable password encryption service.

ignoreipsecrestart
boolean

Ignore IPsec Restart

Ignore IPsec restart events. When unchecked, IPsec VTI interfaces will be reset in FRR when IPsec restarts. This reset can prevent routes from becoming inactive in the routing table after interface events.

carpstatusvid
string

CARP Status IP

Used to determine the CARP status. When the CARP vhid is in BACKUP status, FRR will not be started.

logging
boolean

(Logging) Syslog Logging

If set to yes, FRR daemon Logs will be written via syslog.

pkgloglevel
string

(Logging) Package Logging Level (0, 1)

Set the log level for package scripts

enablesnmpagentx
boolean

(Modules) Enable SNMP AgentX

Enable agentx support for accessing FRR Zebra data via SNMP with the net-snmp package.

Array of objects (FrrRow)
nht
string

(Next hop Tracking) Resolve via default route (none, ipv4, ipv6, both)

By default, next hop tracking does not resolve next hops via the default route. Allowing this behavior can be useful, for example, so BGP can peer across the default route.

Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "routerid": "string",
  • "password": "string",
  • "passwordencrypt": true,
  • "ignoreipsecrestart": true,
  • "carpstatusvid": "string",
  • "logging": true,
  • "pkgloglevel": "string",
  • "enablesnmpagentx": true,
  • "row": [
    ],
  • "nht": "string",
  • "carpstatusvid_options": [
    ],
  • "routetarget_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "routerid": "string",
  • "password": "string",
  • "passwordencrypt": true,
  • "ignoreipsecrestart": true,
  • "carpstatusvid": "string",
  • "logging": true,
  • "pkgloglevel": "string",
  • "enablesnmpagentx": true,
  • "row": [
    ],
  • "nht": "string",
  • "carpstatusvid_options": [
    ],
  • "routetarget_options": [
    ]
}

Get frr bfd

Responses

Response samples

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

Update frr bfd

Request Body schema: application/json
required
enable
boolean

(BFD) Enable

Enable BFD Daemon

Responses

Request samples

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

Response samples

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

Get frr peer entries

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "profile_options": [
    ],
  • "interface_options": [
    ],
  • "local_address_options": [
    ]
}

Create a new frr peer entry

Request Body schema: application/json
required
peer
string

(Peer Configurations) Peer Address

IP address of a peer

descr
string

(Peer Configurations) Description

profile
string

(Peer Configurations) Profile

Select the profile for peer take configuration from.

multihop
boolean

(Options) Multihop

Expect packets with TTL less than 254 due to more than one hop between peer addresses and listen on the multihop port 4784. When using multi-hop mode echo-mode will not work, see RFC 5883 section 3.

shutdown
boolean

(Options) Shutdown

Enables or disables the peer. When the peer is disabled an "administrative down" message is sent to the remote peer.

interface
string

(Source Address/Interface) Interface

Select the interface which BFD will use as a packet source.

local_address
string

(Source Address/Interface) Local Source Address

Provide a local address to bind the BFD peer listener to for participating in a BFD session.

detectmultiplier
string

(Advanced Options) Detect Multiplier

Configures the detection multiplier to determine packet loss.

The remote transmission interval will be multiplied by this value to determine the connection loss detection timer.

The default value is 3.

receiveinterval
string

(Advanced Options) Receive Interval

Configures the minimum interval at which this system is capable of receiving control packets.

The default value is 300 milliseconds.

transmitinterval
string

(Advanced Options) Transmit Interval

The minimum transmission interval for the system to use to send BFD control packets.

echointerval
string

(Advanced Options) Echo Interval

The minimal echo receive interval that the system is capable of handling.

echomode
boolean

(Advanced Options) Echo Mode

Enables or disables the echo transmission mode. This mode is disabled by default. FRR documentation recommendeds that the transmission interval of control packets to be increased after enabling echo-mode to reduce bandwidth usage. For example: transmission-interval 2000. Echo mode is not supported on multi-hop setups, see RFC 5883 section 3.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "profile": "string",
  • "multihop": true,
  • "shutdown": true,
  • "interface": "string",
  • "local_address": "string",
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "echomode": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "profile": "string",
  • "multihop": true,
  • "shutdown": true,
  • "interface": "string",
  • "local_address": "string",
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "echomode": true,
  • "id": "string"
}

Update an existing frr entry

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

(Peer Configurations) Peer Address

IP address of a peer

descr
string

(Peer Configurations) Description

profile
string

(Peer Configurations) Profile

Select the profile for peer take configuration from.

multihop
boolean

(Options) Multihop

Expect packets with TTL less than 254 due to more than one hop between peer addresses and listen on the multihop port 4784. When using multi-hop mode echo-mode will not work, see RFC 5883 section 3.

shutdown
boolean

(Options) Shutdown

Enables or disables the peer. When the peer is disabled an "administrative down" message is sent to the remote peer.

interface
string

(Source Address/Interface) Interface

Select the interface which BFD will use as a packet source.

local_address
string

(Source Address/Interface) Local Source Address

Provide a local address to bind the BFD peer listener to for participating in a BFD session.

detectmultiplier
string

(Advanced Options) Detect Multiplier

Configures the detection multiplier to determine packet loss.

The remote transmission interval will be multiplied by this value to determine the connection loss detection timer.

The default value is 3.

receiveinterval
string

(Advanced Options) Receive Interval

Configures the minimum interval at which this system is capable of receiving control packets.

The default value is 300 milliseconds.

transmitinterval
string

(Advanced Options) Transmit Interval

The minimum transmission interval for the system to use to send BFD control packets.

echointerval
string

(Advanced Options) Echo Interval

The minimal echo receive interval that the system is capable of handling.

echomode
boolean

(Advanced Options) Echo Mode

Enables or disables the echo transmission mode. This mode is disabled by default. FRR documentation recommendeds that the transmission interval of control packets to be increased after enabling echo-mode to reduce bandwidth usage. For example: transmission-interval 2000. Echo mode is not supported on multi-hop setups, see RFC 5883 section 3.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "profile": "string",
  • "multihop": true,
  • "shutdown": true,
  • "interface": "string",
  • "local_address": "string",
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "echomode": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "profile": "string",
  • "multihop": true,
  • "shutdown": true,
  • "interface": "string",
  • "local_address": "string",
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "echomode": true,
  • "id": "string"
}

Delete a frr entry

path Parameters
id
required
string

Responses

Response samples

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

Get frr bfd profiles

Responses

Response samples

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

Create a new frr bfd profile

Request Body schema: application/json
required
name
string

(Profile Configuration) Name

descr
string

(Profile Configuration) Description

shutdown
boolean

(Profile Configuration) Shutdown

Enables or disables the peer. When the peer is disabled an "administrative down" message is sent to the remote peer.

passive
boolean

(Profile Configuration) Passive

Mark session as passive. A passive session will not attempt to start the connection and will wait for control packets from peer before it begins replying.

detectmultiplier
string

(Profile Options) Detect Multiplier

Configures the detection multiplier to determine packet loss.

The remote transmission interval will be multiplied by this value to determine the connection loss detection timer.

The default value is 3.

receiveinterval
string

(Profile Options) Receive Interval

Configures the minimum interval at which this system is capable of receiving control packets.

The default value is 300 milliseconds.

transmitinterval
string

(Profile Options) Transmit Interval

The minimum transmission interval for the system to use to send BFD control packets.

echointerval
string

(Profile Options) Echo Interval

The minimal echo receive interval that the system is capable of handling.

minimumttl
string

(Profile Options) Minimum TTL

For multi hop sessions only, configure the minimum expected TTL for an incoming BFD control packet. This feature serves the purpose of tightening the packet validation requirements to avoid receiving BFD control packets from other sessions. The default value is 254 (which means we only expect one hop between this system and the peer).

echomode
boolean

(Profile Options) Echo Mode

Enables or disables the echo transmission mode. This mode is disabled by default. FRR documentation recommendeds that the transmission interval of control packets to be increased after enabling echo-mode to reduce bandwidth usage. For example: transmission-interval 2000. Echo mode is not supported on multi-hop setups, see RFC 5883 section 3.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "shutdown": true,
  • "passive": true,
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "minimumttl": "string",
  • "echomode": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "shutdown": true,
  • "passive": true,
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "minimumttl": "string",
  • "echomode": true,
  • "id": "string"
}

Update an existing frr bfd profile

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

(Profile Configuration) Name

descr
string

(Profile Configuration) Description

shutdown
boolean

(Profile Configuration) Shutdown

Enables or disables the peer. When the peer is disabled an "administrative down" message is sent to the remote peer.

passive
boolean

(Profile Configuration) Passive

Mark session as passive. A passive session will not attempt to start the connection and will wait for control packets from peer before it begins replying.

detectmultiplier
string

(Profile Options) Detect Multiplier

Configures the detection multiplier to determine packet loss.

The remote transmission interval will be multiplied by this value to determine the connection loss detection timer.

The default value is 3.

receiveinterval
string

(Profile Options) Receive Interval

Configures the minimum interval at which this system is capable of receiving control packets.

The default value is 300 milliseconds.

transmitinterval
string

(Profile Options) Transmit Interval

The minimum transmission interval for the system to use to send BFD control packets.

echointerval
string

(Profile Options) Echo Interval

The minimal echo receive interval that the system is capable of handling.

minimumttl
string

(Profile Options) Minimum TTL

For multi hop sessions only, configure the minimum expected TTL for an incoming BFD control packet. This feature serves the purpose of tightening the packet validation requirements to avoid receiving BFD control packets from other sessions. The default value is 254 (which means we only expect one hop between this system and the peer).

echomode
boolean

(Profile Options) Echo Mode

Enables or disables the echo transmission mode. This mode is disabled by default. FRR documentation recommendeds that the transmission interval of control packets to be increased after enabling echo-mode to reduce bandwidth usage. For example: transmission-interval 2000. Echo mode is not supported on multi-hop setups, see RFC 5883 section 3.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "shutdown": true,
  • "passive": true,
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "minimumttl": "string",
  • "echomode": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "shutdown": true,
  • "passive": true,
  • "detectmultiplier": "string",
  • "receiveinterval": "string",
  • "transmitinterval": "string",
  • "echointerval": "string",
  • "minimumttl": "string",
  • "echomode": true,
  • "id": "string"
}

Delete a frr bfd profile

path Parameters
id
required
string

Responses

Response samples

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

Get frr bgp

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "asnum": "string",
  • "routerid": "string",
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_updatedelay": "string",
  • "timers_peerwait": "string",
  • "nodefipv4unicast": true,
  • "enablesnmpagentx": true,
  • "enablerpki": true,
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "grglobaldisable": true,
  • "disablepreservefwstate": true,
  • "grstalepathtime": "string",
  • "grrestarttimetime": "string",
  • "grselectdefertime": "string",
  • "grribstaletime": "string",
  • "gsenable": true,
  • "rpkipollingperiod": "string",
  • "rpkiexpireinterval": "string",
  • "rpkiretryinterval": "string",
  • "redistributeconnected": "string",
  • "redistributestatic": "string",
  • "redistributekernel": "string",
  • "redistributeospf": "string",
  • "redistributeospf6": "string",
  • "redistributerip": "string",
  • "row": [
    ],
  • "redistributeconnected_options": [
    ],
  • "redistributestatic_options": [
    ],
  • "redistributekernel_options": [
    ],
  • "redistributeospf_options": [
    ],
  • "redistributeospf6_options": [
    ],
  • "redistributerip_options": [
    ]
}

Update frr bgp

Request Body schema: application/json
required
enable
boolean

(BGP Router Options) Enable

Enable BGP Routing

adjacencylog
boolean

(BGP Router Options) Log Adjacency Changes

If set to yes, adjacency changes will be written via syslog.

asnum
string

(BGP Router Options) Local AS

Autonomous System (AS) Number for this router. May be an integer from 1-4294967295.

routerid
string

(BGP Router Options) Router ID

Specify the Router ID, if it is not the default.

timers_keepalive
string

(BGP Router Options) Timers

Keep Alive Interval (0-65535)

timers_holdtime
string

(BGP Router Options) Hold Time

Hold Time (0-65535)

timers_updatedelay
string

(BGP Router Options) Update Delay

Update Delay (0-3600, s)

timers_peerwait
string

(BGP Router Options) Peer Wait

Peer Wait (1-3600, s)

nodefipv4unicast
boolean

(BGP Router Options) Disable Default IPv4 Unicast

If checked, BGP will not assume IPv4 unicast by default.

enablesnmpagentx
boolean

(Modules) Enable SNMP AgentX

Enable agentx support for accessing FRR Zebra data via SNMP with the net-snmp package.

enablerpki
boolean

(Modules) Enable BGP RPKI

Enable BGP Resource Public Key Infrastructure.

shutdown
boolean

(Global Neighbor Shutdown) Global Neighbor Shutdown

Administratively shutdown ALL neighbors

shutdownmessage
string

(Global Neighbor Shutdown) Message

Shutdown message (optional)

grglobaldisable
boolean

(Graceful Restart/Shutdown) Disable BGP Graceful Restart

Globally disable graceful restart functionality in both restart and helper mode.

disablepreservefwstate
boolean

(Graceful Restart/Shutdown) Preserve FW State

If checked, sets F-bit indication that fib is preserved while doing Graceful Restart.

grstalepathtime
string

(Graceful Restart/Shutdown) Timers

Stale Path Time (1-4095, s)

grrestarttimetime
string

(Graceful Restart/Shutdown) Restart Time

Restart Time (1-4095, s)

grselectdefertime
string

(Graceful Restart/Shutdown) Select Defer Time

Select Defer Time (0-3600, s)

grribstaletime
string

(Graceful Restart/Shutdown) RIB Stale Time

RIB Stale Time (1-3600, s)

gsenable
boolean

(Graceful Restart/Shutdown) Enable BGP Graceful Shutdown

If checked, enable BGP graceful shutdown.

rpkipollingperiod
string

(RPKI Timers) Timers

Polling Period (1-86400, s)

rpkiexpireinterval
string

(RPKI Timers) Expire Interval

Expire Interval (600-172800, s)

rpkiretryinterval
string

(RPKI Timers) Retry Interval

Retry Interval (1-7200, s)

redistributeconnected
string

(Network Distribution) Redistribute Local

Redistribute connected networks

redistributestatic
string

(Network Distribution) Redistribute Static

Redistribute FRR static routes

redistributekernel
string

(Network Distribution) Redistribute Kernel

Redistribute Kernel routing table/pfSense static routes

redistributeospf
string

(Network Distribution) Redistribute OSPF

Redistribute OSPF routes to BGP Neighbors

redistributeospf6
string

(Network Distribution) Redistribute OSPFv3

Redistribute OSPFv3 routes to BGP Neighbors

redistributerip
string

(Network Distribution) Redistribute RIP

Redistribute RIP routes to BGP Neighbors

Array of objects (FrrBgpRow)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "asnum": "string",
  • "routerid": "string",
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_updatedelay": "string",
  • "timers_peerwait": "string",
  • "nodefipv4unicast": true,
  • "enablesnmpagentx": true,
  • "enablerpki": true,
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "grglobaldisable": true,
  • "disablepreservefwstate": true,
  • "grstalepathtime": "string",
  • "grrestarttimetime": "string",
  • "grselectdefertime": "string",
  • "grribstaletime": "string",
  • "gsenable": true,
  • "rpkipollingperiod": "string",
  • "rpkiexpireinterval": "string",
  • "rpkiretryinterval": "string",
  • "redistributeconnected": "string",
  • "redistributestatic": "string",
  • "redistributekernel": "string",
  • "redistributeospf": "string",
  • "redistributeospf6": "string",
  • "redistributerip": "string",
  • "row": [
    ],
  • "redistributeconnected_options": [
    ],
  • "redistributestatic_options": [
    ],
  • "redistributekernel_options": [
    ],
  • "redistributeospf_options": [
    ],
  • "redistributeospf6_options": [
    ],
  • "redistributerip_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "asnum": "string",
  • "routerid": "string",
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_updatedelay": "string",
  • "timers_peerwait": "string",
  • "nodefipv4unicast": true,
  • "enablesnmpagentx": true,
  • "enablerpki": true,
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "grglobaldisable": true,
  • "disablepreservefwstate": true,
  • "grstalepathtime": "string",
  • "grrestarttimetime": "string",
  • "grselectdefertime": "string",
  • "grribstaletime": "string",
  • "gsenable": true,
  • "rpkipollingperiod": "string",
  • "rpkiexpireinterval": "string",
  • "rpkiretryinterval": "string",
  • "redistributeconnected": "string",
  • "redistributestatic": "string",
  • "redistributekernel": "string",
  • "redistributeospf": "string",
  • "redistributeospf6": "string",
  • "redistributerip": "string",
  • "row": [
    ],
  • "redistributeconnected_options": [
    ],
  • "redistributestatic_options": [
    ],
  • "redistributekernel_options": [
    ],
  • "redistributeospf_options": [
    ],
  • "redistributeospf6_options": [
    ],
  • "redistributerip_options": [
    ]
}

Get frr bgpadvanced

Responses

Response samples

Content type
application/json
{
  • "default_localpref": "string",
  • "tablemap": "string",
  • "timers_coalesce": "string",
  • "timers_routemapdelay": "string",
  • "dampening_halflife": "string",
  • "dampening_reuse": "string",
  • "dampening_suppress": "string",
  • "dampening_suppressduration": "string",
  • "fastexternalfailover": true,
  • "networkimportcheck": true,
  • "rejcectassetasconfedset": true,
  • "routereflectorallowoutboundpolicy": true,
  • "routereflectorclusterid": "string",
  • "routereflectorclienttoclient": true,
  • "row": [
    ],
  • "meddeterministic": true,
  • "medalwayscompare": true,
  • "maxmedadmin": true,
  • "maxmedadminvalue": "string",
  • "maxmedstartup": "string",
  • "maxmedstartupvalue": "string",
  • "confedas": "string",
  • "confedpeers": "string",
  • "distanceadmin": "string",
  • "distanceadminprefix": "string",
  • "distanceadminacl": "string",
  • "bgpdistanceext": "string",
  • "bgpdistanceint": "string",
  • "bgpdistancelocal": "string",
  • "bgpbestpathasconfed": true,
  • "bgpbestpathasignore": true,
  • "bgpbestpathasmulti": true,
  • "bgpbestpathasmultigenasset": true,
  • "bgpbestpathcomparerouterid": true,
  • "bgpbestpathmedconfed": true,
  • "bgpbestpathmedmissing": true,
  • "disableebgpconnectedroutecheck": true,
  • "enforcefirstas": true,
  • "disableebgprequirepolicy": true,
  • "subgrouppktqueuemax": "string",
  • "writequanta": "string",
  • "tablemap_options": [
    ],
  • "distanceadminacl_options": [
    ]
}

Update frr bgpadvanced

Request Body schema: application/json
required
default_localpref
string

(Advanced Options) Default Local Preference

Configure default Local Preference value (0-4294967295, higher=more preferred)

tablemap
string

(Advanced Options) Table Map

BGP table to RIB route download filter

timers_coalesce
string

(Advanced Timers) Coalesce Timer

Subgroup Coalesce Timer (1-4294967295, ms)

timers_routemapdelay
string

(Advanced Timers) Route Map Delay

Time to wait before processing route-map changes (0-600, seconds). 0 disables the timer (No route updates happen when route-maps change)

dampening_halflife
string

(Advanced Timers) Dampening

Time Penalty Half Life (1-45)

dampening_reuse
string

(Advanced Timers) Reuse Route

When to Reuse a Route (1-20000)

dampening_suppress
string

(Advanced Timers) Suppress Route

Start Suppressing Route (1-20000)

dampening_suppressduration
string

(Advanced Timers) Suppress Duration

Max Time to Suppress (1-255)

fastexternalfailover
boolean

(Advanced Routing Behavior) Disable Fast External Failover

Do not immediately reset session if a link to a directly connected external peer goes down

networkimportcheck
boolean

(Advanced Routing Behavior) Network Import Check

Check if the BGP network route exists in IGP

rejcectassetasconfedset
boolean

(Advanced Routing Behavior) Reject AS_SET/AS_CONFED_SET Routes

Reject incoming and outgoing routes with AS_SET or AS_CONFED_SET type

routereflectorallowoutboundpolicy
boolean

(Route Reflecting) Route Reflector Outbound

Allow modifications made by outbound route-map on ibgp neighbors

routereflectorclusterid
string

(Route Reflecting) Cluster ID

Route Reflector Cluster ID (1-4294967295 or IP address)

routereflectorclienttoclient
boolean

(Route Reflecting) Disable Client-To-Client

Do not allow client-to-client route reflection

Array of objects (FrrBgpadvancedRow)
meddeterministic
boolean

(Multi-Exit Discriminator) Deterministic MED

Pick the best-MED path among paths advertised from the neighboring AS

medalwayscompare
boolean

(Multi-Exit Discriminator) Always Compare MED

Allow comparing MED from different neighbors

maxmedadmin
boolean

(Multi-Exit Discriminator) Max MED

Administratively applied Max MED (indefinite)

maxmedadminvalue
string

(Multi-Exit Discriminator) Definite Max MED

Definite Admin Max MED value to be used (0-4294967294)

maxmedstartup
string

(Multi-Exit Discriminator) Startup Max MED Time

Time period for Max MED on startup (5-86400)

maxmedstartupvalue
string

(Multi-Exit Discriminator) Startup Max Med Value

Max MED value to be used during startup (0-4294967294)

confedas
string

(Confederation) AS Confederation

Routing domain confederation AS (1-4294967295)

confedpeers
string

(Confederation) Confederation Peers

Peer AS list in BGP confederation (space separated)

distanceadmin
string

(Distance) Administrative Distance

Define an administrative distance (1-255)

distanceadminprefix
string

(Distance) IP Source Prefix

IP Source Prefix for Admin Distance (x.x.x.x/yy)

distanceadminacl
string

(Distance) Admin Distance ACL

Access List for Admin Distance

bgpdistanceext
string

(Distance) BGP Distance

Distance for AS external routes (1-255)

bgpdistanceint
string

(Distance) Internal BGP Distance

Distance for AS internal routes (1-255)

bgpdistancelocal
string

(Distance) Local BGP Distance

Distance for local routes (1-255)

bgpbestpathasconfed
boolean

(Best Path Selection) Compare Path with Confederation

Compare path lengths including confederation sets and sequences in selecting a route

bgpbestpathasignore
boolean

(Best Path Selection) Ignore AS Path

Ignore AS path length in selecting a route

bgpbestpathasmulti
boolean

(Best Path Selection) Multipath Relax

Allow load sharing across routes that have different AS paths (but same length)

bgpbestpathasmultigenasset
boolean

(Best Path Selection) Generate an AS_SET

Generate an AS_SET

bgpbestpathcomparerouterid
boolean

(Best Path Selection) Compare Router ID

Compare Router ID for identical EBGP paths

bgpbestpathmedconfed
boolean

(Best Path Selection) MED Confederation

Compare MED among confederation paths

bgpbestpathmedmissing
boolean

(Best Path Selection) Missing MED

Treat missing MED as the least preferred path

disableebgpconnectedroutecheck
boolean

(eBGP) eBGP Nexthop Connected

Disable checking if nexthop is connected on eBGP sessions

enforcefirstas
boolean

(eBGP) Enforce First AS

Enforce the first AS for eBGP routes

disableebgprequirepolicy
boolean

(eBGP) Disable eBGP Require Policy

Disable the requirement to apply incoming and outgoing filter to eBGP sessions

subgrouppktqueuemax
string

(Networking Behavior) Subgroup Packet Queue

Default Subgroup Packet Queue Maximum (20-100)

writequanta
string

(Networking Behavior) Write Quanta

Number of packets to write to peer socket per run (1-10000)

Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "default_localpref": "string",
  • "tablemap": "string",
  • "timers_coalesce": "string",
  • "timers_routemapdelay": "string",
  • "dampening_halflife": "string",
  • "dampening_reuse": "string",
  • "dampening_suppress": "string",
  • "dampening_suppressduration": "string",
  • "fastexternalfailover": true,
  • "networkimportcheck": true,
  • "rejcectassetasconfedset": true,
  • "routereflectorallowoutboundpolicy": true,
  • "routereflectorclusterid": "string",
  • "routereflectorclienttoclient": true,
  • "row": [
    ],
  • "meddeterministic": true,
  • "medalwayscompare": true,
  • "maxmedadmin": true,
  • "maxmedadminvalue": "string",
  • "maxmedstartup": "string",
  • "maxmedstartupvalue": "string",
  • "confedas": "string",
  • "confedpeers": "string",
  • "distanceadmin": "string",
  • "distanceadminprefix": "string",
  • "distanceadminacl": "string",
  • "bgpdistanceext": "string",
  • "bgpdistanceint": "string",
  • "bgpdistancelocal": "string",
  • "bgpbestpathasconfed": true,
  • "bgpbestpathasignore": true,
  • "bgpbestpathasmulti": true,
  • "bgpbestpathasmultigenasset": true,
  • "bgpbestpathcomparerouterid": true,
  • "bgpbestpathmedconfed": true,
  • "bgpbestpathmedmissing": true,
  • "disableebgpconnectedroutecheck": true,
  • "enforcefirstas": true,
  • "disableebgprequirepolicy": true,
  • "subgrouppktqueuemax": "string",
  • "writequanta": "string",
  • "tablemap_options": [
    ],
  • "distanceadminacl_options": [
    ]
}

Response samples

Content type
application/json
{
  • "default_localpref": "string",
  • "tablemap": "string",
  • "timers_coalesce": "string",
  • "timers_routemapdelay": "string",
  • "dampening_halflife": "string",
  • "dampening_reuse": "string",
  • "dampening_suppress": "string",
  • "dampening_suppressduration": "string",
  • "fastexternalfailover": true,
  • "networkimportcheck": true,
  • "rejcectassetasconfedset": true,
  • "routereflectorallowoutboundpolicy": true,
  • "routereflectorclusterid": "string",
  • "routereflectorclienttoclient": true,
  • "row": [
    ],
  • "meddeterministic": true,
  • "medalwayscompare": true,
  • "maxmedadmin": true,
  • "maxmedadminvalue": "string",
  • "maxmedstartup": "string",
  • "maxmedstartupvalue": "string",
  • "confedas": "string",
  • "confedpeers": "string",
  • "distanceadmin": "string",
  • "distanceadminprefix": "string",
  • "distanceadminacl": "string",
  • "bgpdistanceext": "string",
  • "bgpdistanceint": "string",
  • "bgpdistancelocal": "string",
  • "bgpbestpathasconfed": true,
  • "bgpbestpathasignore": true,
  • "bgpbestpathasmulti": true,
  • "bgpbestpathasmultigenasset": true,
  • "bgpbestpathcomparerouterid": true,
  • "bgpbestpathmedconfed": true,
  • "bgpbestpathmedmissing": true,
  • "disableebgpconnectedroutecheck": true,
  • "enforcefirstas": true,
  • "disableebgprequirepolicy": true,
  • "subgrouppktqueuemax": "string",
  • "writequanta": "string",
  • "tablemap_options": [
    ],
  • "distanceadminacl_options": [
    ]
}

Get frr bgp aspaths

Responses

Response samples

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

Create a new frr bgp aspath

Request Body schema: application/json
required
name
string

Name

The name of this AS Path List.

descr
string

Description

Array of objects (FrrBgpAspathsRow)
id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Update an existing frr bgp aspath

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

Name

The name of this AS Path List.

descr
string

Description

Array of objects (FrrBgpAspathsRow)
id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Delete a frr bgp aspath

path Parameters
id
required
string

Responses

Response samples

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

Get frr bgp communities

Responses

Response samples

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

Create a new frr bgp community

Request Body schema: application/json
required
name
string

Name

The name of this BGP Community.

Use 1-99 for a standard community list (AS:VAL pairs), 100-500 for an expanded community list (Regular Expression Matching), or enter a text name combined with the selected type.

descr
string

Description

listtype
string

Community List Type (standard, expanded)

Type of Community List to specify, which controls how the list operates. The selected type must match the Name appropriately.

Array of objects (FrrBgpCommunitiesRow)
id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Update an existing frr bgp community

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

Name

The name of this BGP Community.

Use 1-99 for a standard community list (AS:VAL pairs), 100-500 for an expanded community list (Regular Expression Matching), or enter a text name combined with the selected type.

descr
string

Description

listtype
string

Community List Type (standard, expanded)

Type of Community List to specify, which controls how the list operates. The selected type must match the Name appropriately.

Array of objects (FrrBgpCommunitiesRow)
id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Delete a frr bgp community

path Parameters
id
required
string

Responses

Response samples

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

Get frr bgp neighbors

Responses

Response samples

Content type
application/json
{
  • "bgpneighbors": [
    ],
  • "peergroup_options": [
    ],
  • "updatesource_options": [
    ],
  • "defaultoriginateroutemap_options": [
    ],
  • "distribute_in_options": [
    ],
  • "distribute_out_options": [
    ],
  • "prefixfilter_in_options": [
    ],
  • "prefixfilter_out_options": [
    ],
  • "aspathfilter_in_options": [
    ],
  • "aspathfilter_out_options": [
    ],
  • "routemap_in_options": [
    ],
  • "routemap_out_options": [
    ],
  • "unsuppressmap_options": [
    ],
  • "bfd_peer_options": [
    ]
}

Create a new frr bgp neighbor

Request Body schema: application/json
required
peer
string

Name/Address

The name of a peer group, or IP address of a neighbor. Provide a text name to define a Peer Group. Enter an IP Address to define a Peer.

descr
string

Description

peergroup
string

Peer Group

When defining a Neighbor by IP address, select a group to which it belongs, if any.

password
string

Password

Password for this BGP Neighbor

password_type
string

Password Type (none, both, both-bidir, frr, setkey, setkey-bidir)

Type of Password

shutdown
boolean

(Shutdown) Shutdown

Neighbor administrative shutdown

shutdownmessage
string

(Shutdown) Shutdown Message

Shutdown message (optional)

shutdownautortt
string

(Shutdown) Auto-Shutdown

RTT in milliseconds to automatically shutdown the peer if exceeded.

shutdownautokeepalive
string

(Shutdown) Auto-Shutdown Keepalive Count

Number of keepalive messages to count before shutting down the peer when round-trip-time exceeds the set threshold.

asnum
string

(Basic Options) Remote AS

Autonomous System (AS) Number for this neighbor. May be an integer from 1-4294967295, "external", or "internal".

updatesource_type
string

(Basic Options) Update Source (ipv4, ipv6)

IP type for BGP Updates

updatesource
string

(Basic Options) Update Source

Local source of BGP Updates

bothaf
boolean

(Basic Options) Address Family

Allow neighbor to advertise and receive routes for both IPv4 and IPv6

defaultoriginate
string

(Basic Options) Default Originate (no, ipv4, ipv6, yes)

Originate default route to this neighbor.

defaultoriginateroutemap
string

(Basic Options) Default Originate Route Map

Choose a Route Map to restrict origination.

sendcommunity
string

(Basic Options) Send Community (disabled, enabled, standard, extended, both)

Send Community attribute to this neighbor

nexthopself
string

(Basic Options) Next Hop Self (disabled, enabled, force)

Disable the next hop calculation for this neighbor

softreconfigurationinbound
boolean

(Basic Options) Inbound Soft Reconfiguration

Per-neighbor Inbound Soft Reconfiguration

timers_keepalive
string

(Basic Options) Timers

Keep Alive Interval (0-65535)

timers_holdtime
string

(Basic Options) Hold Time

Hold Time (1-65535)

timers_connect
string

(Basic Options) Connect Timer

Connect Timer (1-65535)

distribute_in
string

(Peer Filtering) Distribute List Filter

Inbound Distribution ACL Filter

distribute_out
string

(Peer Filtering) Distribute List Filter

Outbound Distribution ACL Filter

prefixfilter_in
string

(Peer Filtering) Prefix List Filter

Inbound Prefix List Filter

prefixfilter_out
string

(Peer Filtering) Prefix List Filter

Outbound Prefix List Filter

aspathfilter_in
string

(Peer Filtering) AS Path Filter

Inbound AS Path Filter

aspathfilter_out
string

(Peer Filtering) AS Path Filter

Outbound AS Path Filter

routemap_in
string

(Peer Filtering) Route Map Filters

Inbound Route Map Filter

routemap_out
string

(Peer Filtering) Route Map Filters

Outbound Route Map Filter

unsuppressmap
string

(Peer Filtering) Unsuppress Route Map

Route Map to selectively unsuppress suppressed routes

bfdenable
boolean

(BFD) BFD

BFD Enable

bfd_check_control_plane_failure
boolean

(BFD) BFD Check Control Plane Failure

BFD Check Control Plane Failure

bfd_peer
string

(BFD) BFD Peer

Select a BFD peer to subscribe, default is to use the neighbor address

grmode
string

(Graceful Restart) Graceful Restart Mode (default, restart, helper, disable)

Neighbor graceful restart mode

weight
string

(Advanced Options) Weight

Default weight for routes from this neighbor, 0-65535

passive
boolean

(Advanced Options) Passive

Do not send open messages to this neighbor

addpathtxallpaths
boolean

(Advanced Options) Path Advertise

All Paths to Neighbor

addpathtxbestpathperas
boolean

(Advanced Options) Path Transmit

Best Path per each neighboring AS

advertisementinterval
string

(Advanced Options) Advertisement Interval

Minimum interval, in seconds, between sending BGP routing updates. (0-600)

allowasin
string

(Advanced Options) Allow AS Inbound (disabled, enabled, origin, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Accept as-path with this local router's own AS present in it.

asoverride
boolean

(Advanced Options) AS Override

Override ASNs in outbound updates if the AS Path is the same as the Remote AS

attributeunchanged
boolean

(Advanced Options) Attribute Unchanged

Propagate BGP Attribute Unchanged

attributeunchanged_aspath
boolean

(Advanced Options) AS Path

AS Path Attribute

attributeunchanged_med
boolean

(Advanced Options) Med

Med Attribute

attributeunchanged_nexthop
boolean

(Advanced Options) Next Hop

Next Hop Attribute

capability
boolean

(Advanced Options) Advertise Capability

Advertise Dynamic capability

capability_nexthop
boolean

(Advanced Options) Advertise Capability Nexthop

Advertise Extended Next-Hop capability. This is automatically enabled when peering with IPv6 link-local addresses.

capability_orf
string

(Advanced Options) Advertise Capability (disabled, send, receive, both)

Advertise Outbound Route Filter capability

dontcapabilitynegotiate
boolean

(Advanced Options) Disable Capability Negotiation

Do not perform capability negotiation with the neighbor

overridecapability
boolean

(Advanced Options) Override Capability Negotiation

Override capability negotiation result

ttlsecurityhops
string

(Advanced Options) TTL Security Hops

The maximum hop count to allow for BGP neighbors (1-254)

Leave blank to disable

disableconnectedcheck
boolean

(Advanced Options) Disable Connected Check

One-hop away EBGP peer using loopback address

ebgpmultihop
string

(Advanced Options) EBGP Multi-Hop

The maximum hop count to allow for EBGP neighbors not on directly connected networks (1-255)

Leave blank to disable

enforcemultihop
boolean

(Advanced Options) Enforce EBGP Multi-Hop

Enforce EBGP neighbors perform multihop

localas_num
string

(Advanced Options) Local AS

Local AS Number

localas_noprepend
boolean

(Advanced Options) No Prepend

Do not prepend Local AS to updates from EBGP peers

localas_replaceas
boolean

(Advanced Options) Replace AS

Do not prepend Local AS to updates from IBGP peers

maximumprefix_num
string

(Advanced Options) Maximum Prefix

Maximum Prefix to Accept (1-4294967295)

maximumprefix_threshold
string

(Advanced Options) Warning Threshold

% at which to warn (1-100)

maximumprefix_warnonly
boolean

(Advanced Options) Warn Only

Warn Only (No Restart)

maximumprefix_restart
string

(Advanced Options) Restart Interval

Restart BGP after X warned minutes (1-65535)

maximumprefixout_num
string

(Advanced Options) Maximum Prefix Out

Maximum Prefix to Send (1-4294967295)

removeprivateas
boolean

(Advanced Options) Remove Private AS

Remove private ASNs in outbound updates

removeprivateas_all
boolean

(Advanced Options) Apply to All

Apply to all AS Numbers

removeprivateas_replace
boolean

(Advanced Options) Replace AS

Replace Private with Local AS

routeclient_reflector
boolean

(Advanced Options) Route Client

Neighbor is Route Reflector Client

routeclient_server
boolean

(Advanced Options) Route Client

Neighbor is Route Server Client

solo
boolean

(Advanced Options) Solo Peer

Neighbor is part of its own update group

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "peergroup": "string",
  • "password": "string",
  • "password_type": "string",
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "shutdownautortt": "string",
  • "shutdownautokeepalive": "string",
  • "asnum": "string",
  • "updatesource_type": "string",
  • "updatesource": "string",
  • "bothaf": true,
  • "defaultoriginate": "string",
  • "defaultoriginateroutemap": "string",
  • "sendcommunity": "string",
  • "nexthopself": "string",
  • "softreconfigurationinbound": true,
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_connect": "string",
  • "distribute_in": "string",
  • "distribute_out": "string",
  • "prefixfilter_in": "string",
  • "prefixfilter_out": "string",
  • "aspathfilter_in": "string",
  • "aspathfilter_out": "string",
  • "routemap_in": "string",
  • "routemap_out": "string",
  • "unsuppressmap": "string",
  • "bfdenable": true,
  • "bfd_check_control_plane_failure": true,
  • "bfd_peer": "string",
  • "grmode": "string",
  • "weight": "string",
  • "passive": true,
  • "addpathtxallpaths": true,
  • "addpathtxbestpathperas": true,
  • "advertisementinterval": "string",
  • "allowasin": "string",
  • "asoverride": true,
  • "attributeunchanged": true,
  • "attributeunchanged_aspath": true,
  • "attributeunchanged_med": true,
  • "attributeunchanged_nexthop": true,
  • "capability": true,
  • "capability_nexthop": true,
  • "capability_orf": "string",
  • "dontcapabilitynegotiate": true,
  • "overridecapability": true,
  • "ttlsecurityhops": "string",
  • "disableconnectedcheck": true,
  • "ebgpmultihop": "string",
  • "enforcemultihop": true,
  • "localas_num": "string",
  • "localas_noprepend": true,
  • "localas_replaceas": true,
  • "maximumprefix_num": "string",
  • "maximumprefix_threshold": "string",
  • "maximumprefix_warnonly": true,
  • "maximumprefix_restart": "string",
  • "maximumprefixout_num": "string",
  • "removeprivateas": true,
  • "removeprivateas_all": true,
  • "removeprivateas_replace": true,
  • "routeclient_reflector": true,
  • "routeclient_server": true,
  • "solo": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "peergroup": "string",
  • "password": "string",
  • "password_type": "string",
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "shutdownautortt": "string",
  • "shutdownautokeepalive": "string",
  • "asnum": "string",
  • "updatesource_type": "string",
  • "updatesource": "string",
  • "bothaf": true,
  • "defaultoriginate": "string",
  • "defaultoriginateroutemap": "string",
  • "sendcommunity": "string",
  • "nexthopself": "string",
  • "softreconfigurationinbound": true,
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_connect": "string",
  • "distribute_in": "string",
  • "distribute_out": "string",
  • "prefixfilter_in": "string",
  • "prefixfilter_out": "string",
  • "aspathfilter_in": "string",
  • "aspathfilter_out": "string",
  • "routemap_in": "string",
  • "routemap_out": "string",
  • "unsuppressmap": "string",
  • "bfdenable": true,
  • "bfd_check_control_plane_failure": true,
  • "bfd_peer": "string",
  • "grmode": "string",
  • "weight": "string",
  • "passive": true,
  • "addpathtxallpaths": true,
  • "addpathtxbestpathperas": true,
  • "advertisementinterval": "string",
  • "allowasin": "string",
  • "asoverride": true,
  • "attributeunchanged": true,
  • "attributeunchanged_aspath": true,
  • "attributeunchanged_med": true,
  • "attributeunchanged_nexthop": true,
  • "capability": true,
  • "capability_nexthop": true,
  • "capability_orf": "string",
  • "dontcapabilitynegotiate": true,
  • "overridecapability": true,
  • "ttlsecurityhops": "string",
  • "disableconnectedcheck": true,
  • "ebgpmultihop": "string",
  • "enforcemultihop": true,
  • "localas_num": "string",
  • "localas_noprepend": true,
  • "localas_replaceas": true,
  • "maximumprefix_num": "string",
  • "maximumprefix_threshold": "string",
  • "maximumprefix_warnonly": true,
  • "maximumprefix_restart": "string",
  • "maximumprefixout_num": "string",
  • "removeprivateas": true,
  • "removeprivateas_all": true,
  • "removeprivateas_replace": true,
  • "routeclient_reflector": true,
  • "routeclient_server": true,
  • "solo": true,
  • "id": "string"
}

Update an existing frr bgp neighbor

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

Name/Address

The name of a peer group, or IP address of a neighbor. Provide a text name to define a Peer Group. Enter an IP Address to define a Peer.

descr
string

Description

peergroup
string

Peer Group

When defining a Neighbor by IP address, select a group to which it belongs, if any.

password
string

Password

Password for this BGP Neighbor

password_type
string

Password Type (none, both, both-bidir, frr, setkey, setkey-bidir)

Type of Password

shutdown
boolean

(Shutdown) Shutdown

Neighbor administrative shutdown

shutdownmessage
string

(Shutdown) Shutdown Message

Shutdown message (optional)

shutdownautortt
string

(Shutdown) Auto-Shutdown

RTT in milliseconds to automatically shutdown the peer if exceeded.

shutdownautokeepalive
string

(Shutdown) Auto-Shutdown Keepalive Count

Number of keepalive messages to count before shutting down the peer when round-trip-time exceeds the set threshold.

asnum
string

(Basic Options) Remote AS

Autonomous System (AS) Number for this neighbor. May be an integer from 1-4294967295, "external", or "internal".

updatesource_type
string

(Basic Options) Update Source (ipv4, ipv6)

IP type for BGP Updates

updatesource
string

(Basic Options) Update Source

Local source of BGP Updates

bothaf
boolean

(Basic Options) Address Family

Allow neighbor to advertise and receive routes for both IPv4 and IPv6

defaultoriginate
string

(Basic Options) Default Originate (no, ipv4, ipv6, yes)

Originate default route to this neighbor.

defaultoriginateroutemap
string

(Basic Options) Default Originate Route Map

Choose a Route Map to restrict origination.

sendcommunity
string

(Basic Options) Send Community (disabled, enabled, standard, extended, both)

Send Community attribute to this neighbor

nexthopself
string

(Basic Options) Next Hop Self (disabled, enabled, force)

Disable the next hop calculation for this neighbor

softreconfigurationinbound
boolean

(Basic Options) Inbound Soft Reconfiguration

Per-neighbor Inbound Soft Reconfiguration

timers_keepalive
string

(Basic Options) Timers

Keep Alive Interval (0-65535)

timers_holdtime
string

(Basic Options) Hold Time

Hold Time (1-65535)

timers_connect
string

(Basic Options) Connect Timer

Connect Timer (1-65535)

distribute_in
string

(Peer Filtering) Distribute List Filter

Inbound Distribution ACL Filter

distribute_out
string

(Peer Filtering) Distribute List Filter

Outbound Distribution ACL Filter

prefixfilter_in
string

(Peer Filtering) Prefix List Filter

Inbound Prefix List Filter

prefixfilter_out
string

(Peer Filtering) Prefix List Filter

Outbound Prefix List Filter

aspathfilter_in
string

(Peer Filtering) AS Path Filter

Inbound AS Path Filter

aspathfilter_out
string

(Peer Filtering) AS Path Filter

Outbound AS Path Filter

routemap_in
string

(Peer Filtering) Route Map Filters

Inbound Route Map Filter

routemap_out
string

(Peer Filtering) Route Map Filters

Outbound Route Map Filter

unsuppressmap
string

(Peer Filtering) Unsuppress Route Map

Route Map to selectively unsuppress suppressed routes

bfdenable
boolean

(BFD) BFD

BFD Enable

bfd_check_control_plane_failure
boolean

(BFD) BFD Check Control Plane Failure

BFD Check Control Plane Failure

bfd_peer
string

(BFD) BFD Peer

Select a BFD peer to subscribe, default is to use the neighbor address

grmode
string

(Graceful Restart) Graceful Restart Mode (default, restart, helper, disable)

Neighbor graceful restart mode

weight
string

(Advanced Options) Weight

Default weight for routes from this neighbor, 0-65535

passive
boolean

(Advanced Options) Passive

Do not send open messages to this neighbor

addpathtxallpaths
boolean

(Advanced Options) Path Advertise

All Paths to Neighbor

addpathtxbestpathperas
boolean

(Advanced Options) Path Transmit

Best Path per each neighboring AS

advertisementinterval
string

(Advanced Options) Advertisement Interval

Minimum interval, in seconds, between sending BGP routing updates. (0-600)

allowasin
string

(Advanced Options) Allow AS Inbound (disabled, enabled, origin, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Accept as-path with this local router's own AS present in it.

asoverride
boolean

(Advanced Options) AS Override

Override ASNs in outbound updates if the AS Path is the same as the Remote AS

attributeunchanged
boolean

(Advanced Options) Attribute Unchanged

Propagate BGP Attribute Unchanged

attributeunchanged_aspath
boolean

(Advanced Options) AS Path

AS Path Attribute

attributeunchanged_med
boolean

(Advanced Options) Med

Med Attribute

attributeunchanged_nexthop
boolean

(Advanced Options) Next Hop

Next Hop Attribute

capability
boolean

(Advanced Options) Advertise Capability

Advertise Dynamic capability

capability_nexthop
boolean

(Advanced Options) Advertise Capability Nexthop

Advertise Extended Next-Hop capability. This is automatically enabled when peering with IPv6 link-local addresses.

capability_orf
string

(Advanced Options) Advertise Capability (disabled, send, receive, both)

Advertise Outbound Route Filter capability

dontcapabilitynegotiate
boolean

(Advanced Options) Disable Capability Negotiation

Do not perform capability negotiation with the neighbor

overridecapability
boolean

(Advanced Options) Override Capability Negotiation

Override capability negotiation result

ttlsecurityhops
string

(Advanced Options) TTL Security Hops

The maximum hop count to allow for BGP neighbors (1-254)

Leave blank to disable

disableconnectedcheck
boolean

(Advanced Options) Disable Connected Check

One-hop away EBGP peer using loopback address

ebgpmultihop
string

(Advanced Options) EBGP Multi-Hop

The maximum hop count to allow for EBGP neighbors not on directly connected networks (1-255)

Leave blank to disable

enforcemultihop
boolean

(Advanced Options) Enforce EBGP Multi-Hop

Enforce EBGP neighbors perform multihop

localas_num
string

(Advanced Options) Local AS

Local AS Number

localas_noprepend
boolean

(Advanced Options) No Prepend

Do not prepend Local AS to updates from EBGP peers

localas_replaceas
boolean

(Advanced Options) Replace AS

Do not prepend Local AS to updates from IBGP peers

maximumprefix_num
string

(Advanced Options) Maximum Prefix

Maximum Prefix to Accept (1-4294967295)

maximumprefix_threshold
string

(Advanced Options) Warning Threshold

% at which to warn (1-100)

maximumprefix_warnonly
boolean

(Advanced Options) Warn Only

Warn Only (No Restart)

maximumprefix_restart
string

(Advanced Options) Restart Interval

Restart BGP after X warned minutes (1-65535)

maximumprefixout_num
string

(Advanced Options) Maximum Prefix Out

Maximum Prefix to Send (1-4294967295)

removeprivateas
boolean

(Advanced Options) Remove Private AS

Remove private ASNs in outbound updates

removeprivateas_all
boolean

(Advanced Options) Apply to All

Apply to all AS Numbers

removeprivateas_replace
boolean

(Advanced Options) Replace AS

Replace Private with Local AS

routeclient_reflector
boolean

(Advanced Options) Route Client

Neighbor is Route Reflector Client

routeclient_server
boolean

(Advanced Options) Route Client

Neighbor is Route Server Client

solo
boolean

(Advanced Options) Solo Peer

Neighbor is part of its own update group

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "peergroup": "string",
  • "password": "string",
  • "password_type": "string",
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "shutdownautortt": "string",
  • "shutdownautokeepalive": "string",
  • "asnum": "string",
  • "updatesource_type": "string",
  • "updatesource": "string",
  • "bothaf": true,
  • "defaultoriginate": "string",
  • "defaultoriginateroutemap": "string",
  • "sendcommunity": "string",
  • "nexthopself": "string",
  • "softreconfigurationinbound": true,
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_connect": "string",
  • "distribute_in": "string",
  • "distribute_out": "string",
  • "prefixfilter_in": "string",
  • "prefixfilter_out": "string",
  • "aspathfilter_in": "string",
  • "aspathfilter_out": "string",
  • "routemap_in": "string",
  • "routemap_out": "string",
  • "unsuppressmap": "string",
  • "bfdenable": true,
  • "bfd_check_control_plane_failure": true,
  • "bfd_peer": "string",
  • "grmode": "string",
  • "weight": "string",
  • "passive": true,
  • "addpathtxallpaths": true,
  • "addpathtxbestpathperas": true,
  • "advertisementinterval": "string",
  • "allowasin": "string",
  • "asoverride": true,
  • "attributeunchanged": true,
  • "attributeunchanged_aspath": true,
  • "attributeunchanged_med": true,
  • "attributeunchanged_nexthop": true,
  • "capability": true,
  • "capability_nexthop": true,
  • "capability_orf": "string",
  • "dontcapabilitynegotiate": true,
  • "overridecapability": true,
  • "ttlsecurityhops": "string",
  • "disableconnectedcheck": true,
  • "ebgpmultihop": "string",
  • "enforcemultihop": true,
  • "localas_num": "string",
  • "localas_noprepend": true,
  • "localas_replaceas": true,
  • "maximumprefix_num": "string",
  • "maximumprefix_threshold": "string",
  • "maximumprefix_warnonly": true,
  • "maximumprefix_restart": "string",
  • "maximumprefixout_num": "string",
  • "removeprivateas": true,
  • "removeprivateas_all": true,
  • "removeprivateas_replace": true,
  • "routeclient_reflector": true,
  • "routeclient_server": true,
  • "solo": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "peer": "string",
  • "descr": "string",
  • "peergroup": "string",
  • "password": "string",
  • "password_type": "string",
  • "shutdown": true,
  • "shutdownmessage": "string",
  • "shutdownautortt": "string",
  • "shutdownautokeepalive": "string",
  • "asnum": "string",
  • "updatesource_type": "string",
  • "updatesource": "string",
  • "bothaf": true,
  • "defaultoriginate": "string",
  • "defaultoriginateroutemap": "string",
  • "sendcommunity": "string",
  • "nexthopself": "string",
  • "softreconfigurationinbound": true,
  • "timers_keepalive": "string",
  • "timers_holdtime": "string",
  • "timers_connect": "string",
  • "distribute_in": "string",
  • "distribute_out": "string",
  • "prefixfilter_in": "string",
  • "prefixfilter_out": "string",
  • "aspathfilter_in": "string",
  • "aspathfilter_out": "string",
  • "routemap_in": "string",
  • "routemap_out": "string",
  • "unsuppressmap": "string",
  • "bfdenable": true,
  • "bfd_check_control_plane_failure": true,
  • "bfd_peer": "string",
  • "grmode": "string",
  • "weight": "string",
  • "passive": true,
  • "addpathtxallpaths": true,
  • "addpathtxbestpathperas": true,
  • "advertisementinterval": "string",
  • "allowasin": "string",
  • "asoverride": true,
  • "attributeunchanged": true,
  • "attributeunchanged_aspath": true,
  • "attributeunchanged_med": true,
  • "attributeunchanged_nexthop": true,
  • "capability": true,
  • "capability_nexthop": true,
  • "capability_orf": "string",
  • "dontcapabilitynegotiate": true,
  • "overridecapability": true,
  • "ttlsecurityhops": "string",
  • "disableconnectedcheck": true,
  • "ebgpmultihop": "string",
  • "enforcemultihop": true,
  • "localas_num": "string",
  • "localas_noprepend": true,
  • "localas_replaceas": true,
  • "maximumprefix_num": "string",
  • "maximumprefix_threshold": "string",
  • "maximumprefix_warnonly": true,
  • "maximumprefix_restart": "string",
  • "maximumprefixout_num": "string",
  • "removeprivateas": true,
  • "removeprivateas_all": true,
  • "removeprivateas_replace": true,
  • "routeclient_reflector": true,
  • "routeclient_server": true,
  • "solo": true,
  • "id": "string"
}

Delete a frr bgp neighbor

path Parameters
id
required
string

Responses

Response samples

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

Get frr bgp rpki cache servers

Responses

Response samples

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

Create a new frr bgp rpki cache server

Request Body schema: application/json
required
cacheserver
string

Address

Address of the cache server

port
string

Port

Port number to connect to the cache server

preference
string

Preference

Cache server preference

username
string

Username

SSH username to establish an SSH connection to the cache server

privkeypath
string

Private Key Path

Local path that includes the private key file of the router

pubkeypath
string

Public Key Path

Local path that includes the public key file of the router

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "cacheserver": "string",
  • "port": "string",
  • "preference": "string",
  • "username": "string",
  • "privkeypath": "string",
  • "pubkeypath": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "cacheserver": "string",
  • "port": "string",
  • "preference": "string",
  • "username": "string",
  • "privkeypath": "string",
  • "pubkeypath": "string",
  • "id": "string"
}

Update an existing frr bgp rpki cache server

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

Address

Address of the cache server

port
string

Port

Port number to connect to the cache server

preference
string

Preference

Cache server preference

username
string

Username

SSH username to establish an SSH connection to the cache server

privkeypath
string

Private Key Path

Local path that includes the private key file of the router

pubkeypath
string

Public Key Path

Local path that includes the public key file of the router

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "cacheserver": "string",
  • "port": "string",
  • "preference": "string",
  • "username": "string",
  • "privkeypath": "string",
  • "pubkeypath": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "cacheserver": "string",
  • "port": "string",
  • "preference": "string",
  • "username": "string",
  • "privkeypath": "string",
  • "pubkeypath": "string",
  • "id": "string"
}

Delete a frr bgp rpki cache server

path Parameters
id
required
string

Responses

Response samples

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

Get the FRR generated configuration files (preview)

Responses

Response samples

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

Get the FRR running configuration via vtysh

Responses

Response samples

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

Get frr global acls

Responses

Response samples

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

Create a new frr global acl

Request Body schema: application/json
required
type
string

Type (standard, extended, zebra)

Access list type.

iptype
string

IP Type (IPv4, IPv6)

Access list IP version.

name
string

Name

The name of this Access List entry.

  • 1-99 or 1300-1999 for a standard access list (source only).
  • 100-199 or 2000-2699 for an extended access list (source and destination).
  • Enter a text name for a zebra access list.
descr
string

Description

Array of objects (FrrGlobalAclsRow)
id
string

(readonly) ID

Responses

Request samples

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

Response samples

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

Update an existing frr global acl

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

Type (standard, extended, zebra)

Access list type.

iptype
string

IP Type (IPv4, IPv6)

Access list IP version.

name
string

Name

The name of this Access List entry.

  • 1-99 or 1300-1999 for a standard access list (source only).
  • 100-199 or 2000-2699 for an extended access list (source and destination).
  • Enter a text name for a zebra access list.
descr
string

Description

Array of objects (FrrGlobalAclsRow)
id
string

(readonly) ID

Responses

Request samples

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

Response samples

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

Delete a frr global acl

path Parameters
id
required
string

Responses

Response samples

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

Get frr global prefixes

Responses

Response samples

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

Create a new frr global prefix

Request Body schema: application/json
required
iptype
string

IP Type (IPv4, IPv6)

Prefix list IP version.

name
string

Name

A text name for this Prefix List entry.

descr
string

Description

Array of objects (FrrGlobalPrefixRow)
id
string

(readonly) ID

Responses

Request samples

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

Response samples

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

Update an existing frr global prefix

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

IP Type (IPv4, IPv6)

Prefix list IP version.

name
string

Name

A text name for this Prefix List entry.

descr
string

Description

Array of objects (FrrGlobalPrefixRow)
id
string

(readonly) ID

Responses

Request samples

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

Response samples

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

Delete a frr global prefix

path Parameters
id
required
string

Responses

Response samples

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

Get frr global raw

Responses

Response samples

Content type
application/json
{
  • "tcp_md5_peers": [
    ],
  • "frr": "string",
  • "frrrunning": "string"
}

Update frr global raw

Request Body schema: application/json
required
Array of objects (FrrGlobalTcpMd5Peer)
frr
string

(RAW Configuration Files) SAVED frr.conf

Note: If a configuration is placed in this box and saved, the GUI settings (in all other tabs) will be overridden with the contents of this box. To get back the GUI configuration save this form below once with empty input fields.

frrrunning
string

(RAW Configuration Files) RUNNING frr.conf

Note: This is the CURRENT RUNNING CONFIG from "/var/etc/frr/frr.conf".

Responses

Request samples

Content type
application/json
{
  • "tcp_md5_peers": [
    ],
  • "frr": "string",
  • "frrrunning": "string"
}

Response samples

Content type
application/json
{
  • "tcp_md5_peers": [
    ],
  • "frr": "string",
  • "frrrunning": "string"
}

Get frr global routemaps

Responses

Response samples

Content type
application/json
{
  • "globalroutemaps": [
    ],
  • "call_options": [
    ],
  • "exitaction_options": [
    ],
  • "acl_match_options": [
    ],
  • "prefix_match_options": [
    ],
  • "nexthop_peer_options": [
    ],
  • "nexthop_acl_options": [
    ],
  • "nexthop_pl_options": [
    ],
  • "aspath_match_options": [
    ],
  • "community_match_options": [
    ]
}

Create a new frr global routemap

Request Body schema: application/json
required
name
string

Name

The name of this Route Map entry.

descr
string

Description

action
string

Action (deny, permit)

Permit or deny access

seq
string

Sequence

call
string

(Logic Control) Call Route Map

Used to stop processing and call another route-map, then return.

exitaction
string

(Logic Control) Exit Action

Used to control what happens after processing this route-map.

acl_match
string

(Access Lists) Match ACL

Match a specific access list.

prefix_match
string

(Prefix Lists) Match Prefix List

Match a specific Prefix List.

nexthop_action
string

(Next Hop) Next Hop Action (none, match-peer, match-acl, match-pl, set)

Set or Match

nexthop_peer
string

(Next Hop) Peer

The peer to match or set

nexthop_acl
string

(Next Hop) ACL

The ACL to match

nexthop_pl
string

(Next Hop) Prefix List

The Prefix List to match

metric_action
string

(Metric) Metric Action (none, match, set, settype1, settype2)

Set or Match Metric

metric_value
string

(Metric) Metric Value

The metric value to match or apply. When setting a metric, the value may also be +rtt, -rtt, + or - value offset, or a specific metric.

weight
string

(Weight) Weight

A specific weight to set. Leave blank for default.

localpref_action
string

(Local Preference) Local Pref Action (none, match, set)

Set or Match Local Preference

localpref_value
string

(Local Preference) Local Preference

The Local Preference value to match or apply.

aspath_action
string

(BGP AS Paths) AS Path Action (none, match, setexclude, setprepend, setprependlast)

Set or Match

aspath_match
string

(BGP AS Paths) Match AS Path

The AS Path list to match, when Match AS Path is the Action.

aspath_value
string

(BGP AS Paths) Set AS List

community_action
string

(BGP Communities) Community Action (none, match, matchexact, set)

Set or Match

community_match
string

(BGP Communities) Match Community

The existing community list to match.

community_set
string

(BGP Communities) Set Community

When setting a community, this is a space-separated list of communities in AS:VAL format, or a well-known community: internet, no-export, no-advertise, or local-as.

community_additive
boolean

(BGP Communities) Additive

Indicates that when setting a community, it will be appended to any existing communities rather than replacing them.

origin_action
string

(Origin) Origin Action (none, match, set)

Set or Match

origin_value
string

(Origin) Origin Name (none, egp, igp, incomplete)

Origin value to match or set

source_proto
string

(Source Protocol) Match Source Protocol (none, bgp, ospf, ospf6, connected, kernel, static, system, rip, ripng, isis)

Source Protocol to match or set

tag_action
string

(Tags) Tag Action (none, match, set)

Set or Match Tag Value

tag_value
string

(Tags) Tag Value

The tag number to set or match, an integer 1-4294967295.

rpki_state
string

(RPKI) Validate BGP Updates (none, notfound, invalid, valid)

Match RKPI State

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "action": "string",
  • "seq": "string",
  • "call": "string",
  • "exitaction": "string",
  • "acl_match": "string",
  • "prefix_match": "string",
  • "nexthop_action": "string",
  • "nexthop_peer": "string",
  • "nexthop_acl": "string",
  • "nexthop_pl": "string",
  • "metric_action": "string",
  • "metric_value": "string",
  • "weight": "string",
  • "localpref_action": "string",
  • "localpref_value": "string",
  • "aspath_action": "string",
  • "aspath_match": "string",
  • "aspath_value": "string",
  • "community_action": "string",
  • "community_match": "string",
  • "community_set": "string",
  • "community_additive": true,
  • "origin_action": "string",
  • "origin_value": "string",
  • "source_proto": "string",
  • "tag_action": "string",
  • "tag_value": "string",
  • "rpki_state": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "action": "string",
  • "seq": "string",
  • "call": "string",
  • "exitaction": "string",
  • "acl_match": "string",
  • "prefix_match": "string",
  • "nexthop_action": "string",
  • "nexthop_peer": "string",
  • "nexthop_acl": "string",
  • "nexthop_pl": "string",
  • "metric_action": "string",
  • "metric_value": "string",
  • "weight": "string",
  • "localpref_action": "string",
  • "localpref_value": "string",
  • "aspath_action": "string",
  • "aspath_match": "string",
  • "aspath_value": "string",
  • "community_action": "string",
  • "community_match": "string",
  • "community_set": "string",
  • "community_additive": true,
  • "origin_action": "string",
  • "origin_value": "string",
  • "source_proto": "string",
  • "tag_action": "string",
  • "tag_value": "string",
  • "rpki_state": "string",
  • "id": "string"
}

Update an existing frr global routemap

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

Name

The name of this Route Map entry.

descr
string

Description

action
string

Action (deny, permit)

Permit or deny access

seq
string

Sequence

call
string

(Logic Control) Call Route Map

Used to stop processing and call another route-map, then return.

exitaction
string

(Logic Control) Exit Action

Used to control what happens after processing this route-map.

acl_match
string

(Access Lists) Match ACL

Match a specific access list.

prefix_match
string

(Prefix Lists) Match Prefix List

Match a specific Prefix List.

nexthop_action
string

(Next Hop) Next Hop Action (none, match-peer, match-acl, match-pl, set)

Set or Match

nexthop_peer
string

(Next Hop) Peer

The peer to match or set

nexthop_acl
string

(Next Hop) ACL

The ACL to match

nexthop_pl
string

(Next Hop) Prefix List

The Prefix List to match

metric_action
string

(Metric) Metric Action (none, match, set, settype1, settype2)

Set or Match Metric

metric_value
string

(Metric) Metric Value

The metric value to match or apply. When setting a metric, the value may also be +rtt, -rtt, + or - value offset, or a specific metric.

weight
string

(Weight) Weight

A specific weight to set. Leave blank for default.

localpref_action
string

(Local Preference) Local Pref Action (none, match, set)

Set or Match Local Preference

localpref_value
string

(Local Preference) Local Preference

The Local Preference value to match or apply.

aspath_action
string

(BGP AS Paths) AS Path Action (none, match, setexclude, setprepend, setprependlast)

Set or Match

aspath_match
string

(BGP AS Paths) Match AS Path

The AS Path list to match, when Match AS Path is the Action.

aspath_value
string

(BGP AS Paths) Set AS List

community_action
string

(BGP Communities) Community Action (none, match, matchexact, set)

Set or Match

community_match
string

(BGP Communities) Match Community

The existing community list to match.

community_set
string

(BGP Communities) Set Community

When setting a community, this is a space-separated list of communities in AS:VAL format, or a well-known community: internet, no-export, no-advertise, or local-as.

community_additive
boolean

(BGP Communities) Additive

Indicates that when setting a community, it will be appended to any existing communities rather than replacing them.

origin_action
string

(Origin) Origin Action (none, match, set)

Set or Match

origin_value
string

(Origin) Origin Name (none, egp, igp, incomplete)

Origin value to match or set

source_proto
string

(Source Protocol) Match Source Protocol (none, bgp, ospf, ospf6, connected, kernel, static, system, rip, ripng, isis)

Source Protocol to match or set

tag_action
string

(Tags) Tag Action (none, match, set)

Set or Match Tag Value

tag_value
string

(Tags) Tag Value

The tag number to set or match, an integer 1-4294967295.

rpki_state
string

(RPKI) Validate BGP Updates (none, notfound, invalid, valid)

Match RKPI State

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "action": "string",
  • "seq": "string",
  • "call": "string",
  • "exitaction": "string",
  • "acl_match": "string",
  • "prefix_match": "string",
  • "nexthop_action": "string",
  • "nexthop_peer": "string",
  • "nexthop_acl": "string",
  • "nexthop_pl": "string",
  • "metric_action": "string",
  • "metric_value": "string",
  • "weight": "string",
  • "localpref_action": "string",
  • "localpref_value": "string",
  • "aspath_action": "string",
  • "aspath_match": "string",
  • "aspath_value": "string",
  • "community_action": "string",
  • "community_match": "string",
  • "community_set": "string",
  • "community_additive": true,
  • "origin_action": "string",
  • "origin_value": "string",
  • "source_proto": "string",
  • "tag_action": "string",
  • "tag_value": "string",
  • "rpki_state": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "action": "string",
  • "seq": "string",
  • "call": "string",
  • "exitaction": "string",
  • "acl_match": "string",
  • "prefix_match": "string",
  • "nexthop_action": "string",
  • "nexthop_peer": "string",
  • "nexthop_acl": "string",
  • "nexthop_pl": "string",
  • "metric_action": "string",
  • "metric_value": "string",
  • "weight": "string",
  • "localpref_action": "string",
  • "localpref_value": "string",
  • "aspath_action": "string",
  • "aspath_match": "string",
  • "aspath_value": "string",
  • "community_action": "string",
  • "community_match": "string",
  • "community_set": "string",
  • "community_additive": true,
  • "origin_action": "string",
  • "origin_value": "string",
  • "source_proto": "string",
  • "tag_action": "string",
  • "tag_value": "string",
  • "rpki_state": "string",
  • "id": "string"
}

Delete a frr global routemap

path Parameters
id
required
string

Responses

Response samples

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

Get frr ospf6d

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "routerid": "string",
  • "updatefib": "string",
  • "spfholdtime": "string",
  • "spfdelay": "string",
  • "enablesnmpagentx": true,
  • "defaultarea": "string",
  • "defaultareatype": "string",
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributekernel": true,
  • "redistributekernel_routemap": "string",
  • "redistributebgp": true,
  • "redistributebgp_routemap": "string",
  • "redistributestatic": true,
  • "redistributestatic_routemap": "string",
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "referencebandwidth": "string",
  • "distance": "string",
  • "distance_external": "string",
  • "distance_interarea": "string",
  • "distance_intraarea": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "exportlist_options": [
    ],
  • "importlist_options": [
    ],
  • "filterlist_out_options": [
    ],
  • "filterlist_in_options": [
    ]
}

Update frr ospf6d

Request Body schema: application/json
required
enable
boolean

Enable

Enable OSPF6 Routing

adjacencylog
boolean

Log Adjacency Changes

If set to yes, adjacency changes will be written via syslog.

routerid
string

Router ID

Override the default Router ID. RID is the highest logical (loopback) IP address configured on a router. For more information on router identifiers see http://en.wikipedia.org/wiki/Open_Shortest_Path_First

updatefib
string

Disable FIB updates (Routing table) (none, stub)

Disables the updating of the host routing table (turns into stub router).

spfholdtime
string

SPF Hold Time

Set the SPF holdtime in milliseconds. The minimum time between two consecutive shortest path first calculations. The default value is 5 seconds; the valid range is 1-5 seconds.

spfdelay
string

SPF Delay

Set SPF delay in milliseconds. The delay between receiving an update to the link state database and starting the shortest path first calculation. The default value is 1; valid range is 1-10 seconds.

enablesnmpagentx
boolean

(Modules) Enable SNMP AgentX

Enable agentx support for accessing FRR OSPF6 data via SNMP with the net-snmp package.

defaultarea
string

(Default Area) Default Area

Default OSPF6 area for this instance of OSPF6. Used when an area is required but not defined elsewhere. For more information on Areas see http://en.wikipedia.org/wiki/Open_Shortest_Path_First#Area_types

defaultareatype
string

(Default Area) Default Area Type (none, stub, nosum)

Defines how the default area behaves

Array of objects (FrrOspf6dRow)
redistributeconnectedsubnets
boolean

(Route Redistribution) Connected Networks

Redistribute Connected Networks

redistributeconnectedsubnets_routemap
string

(Route Redistribution)

Route Map

redistributekernel
boolean

(Route Redistribution) pfSense Kernel Routes

Redistribute pfSense Kernel

redistributekernel_routemap
string

(Route Redistribution)

Route Map

redistributebgp
boolean

(Route Redistribution) BGP Routes

Redistribute BGP

redistributebgp_routemap
string

(Route Redistribution)

Route Map

redistributestatic
boolean

(Route Redistribution) FRR Static Routes

Redistribute FRR Static

redistributestatic_routemap
string

(Route Redistribution)

Route Map

exportlist
string

(Route Filtering) Export List

Uses this access list to filter route information transmitted to OSPF peers

importlist
string

(Route Filtering) Import List

Uses this access list to filter route information received from OSPF peers

filterlist_out
string

(Route Filtering) Filter List (Out)

Uses a prefix list to filter route information transmitted to OSPF peers

filterlist_in
string

(Route Filtering) Filter List (In)

Uses a prefix list to filter route information received from OSPF peers

referencebandwidth
string

(Advanced) Reference Bandwidth

Base value, in Mbit/s, used to calculate automatic interface costs. Must be set the same on all OSPF routers (1-4294967, default 100).

distance
string

(Advanced) Distance

Administrative distance (1-255).

distance_external
string

(Advanced) External Distance

External route distance (1-255).

distance_interarea
string

(Advanced) Inter-area Distance

Inter-area route distance (1-255).

distance_intraarea
string

(Advanced) Intra-area Distance

Intra-area route distance (1-255).

Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "routerid": "string",
  • "updatefib": "string",
  • "spfholdtime": "string",
  • "spfdelay": "string",
  • "enablesnmpagentx": true,
  • "defaultarea": "string",
  • "defaultareatype": "string",
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributekernel": true,
  • "redistributekernel_routemap": "string",
  • "redistributebgp": true,
  • "redistributebgp_routemap": "string",
  • "redistributestatic": true,
  • "redistributestatic_routemap": "string",
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "referencebandwidth": "string",
  • "distance": "string",
  • "distance_external": "string",
  • "distance_interarea": "string",
  • "distance_intraarea": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "exportlist_options": [
    ],
  • "importlist_options": [
    ],
  • "filterlist_out_options": [
    ],
  • "filterlist_in_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "routerid": "string",
  • "updatefib": "string",
  • "spfholdtime": "string",
  • "spfdelay": "string",
  • "enablesnmpagentx": true,
  • "defaultarea": "string",
  • "defaultareatype": "string",
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributekernel": true,
  • "redistributekernel_routemap": "string",
  • "redistributebgp": true,
  • "redistributebgp_routemap": "string",
  • "redistributestatic": true,
  • "redistributestatic_routemap": "string",
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "referencebandwidth": "string",
  • "distance": "string",
  • "distance_external": "string",
  • "distance_interarea": "string",
  • "distance_intraarea": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "exportlist_options": [
    ],
  • "importlist_options": [
    ],
  • "filterlist_out_options": [
    ],
  • "filterlist_in_options": [
    ]
}

Get frr ospf6d interfaces

Responses

Response samples

Content type
application/json
{
  • "ospf6dinterfaces": [
    ],
  • "interface_options": [
    ]
}

Create a new frr ospf6d interface

Request Body schema: application/json
required
interface
string

(Interface Options) Interface

Enter the desired participating interface here.

If this interface has a gateway, rules on this interface will have "reply-to" by default. This will interfere with the operation of OSPFv3 on the interface. Add a rule at the top of the ruleset for this interface to pass IPv6 OSPF traffic with Disable reply-to checked in Advanced Options.

descr
string

(Interface Options) Description

networktype
string

(Interface Options) Network Type (, broadcast, point-to-point)

Select OSPF6 Network Type of the interface.

passive
boolean

(Interface Options) Interface is Passive

Prevent transmission and reception of OSPF6 packets on this interface. The specified interface will be announced as a stub network.

mtuignore
boolean

(Interface Options) Ignore MTU

Ignore MTU values for OSPF6 peers on this interface. Allows OSPF6 to form full adjacencies even when there is an MTU mismatch.

interfacearea
string

(OSPF6 Interface Handling) Area

The area for this interface (leave blank for default).

instanceid
string

(OSPF6 Interface Handling) Instance ID

Instance ID for this OSPF6 interface (leave blank for default).

metric
string

(OSPF6 Interface Handling) Metric

Metric (cost) for this OSPF6 interface (leave blank for default).

routerpriorityelections
string

(Advanced) Router Priority

Router priority when participating in elections for DR (Default 1) Valid range is 0-255. 0 will cause the router to not participate in election.

hellointervalinseconds
string

(Advanced) Hello Interval

Hello Interval this OSPF6 interface in seconds (Default 10).

deadtimer
string

(Advanced) Dead Timer

Dead Timer for this OSPF6 interface in seconds (Default 40).

retransmitinterval
string

(Advanced) Retransmit Interval

Retransmit Interval this OSPF6 interface in seconds (Default 5).

bfdenable
boolean

(BFD) BFD Enable

Listen for BFD events on peers created on the interface. When OSPF6 finds a new neighbor, it creates a BFD peer to monitor the link status for fast convergence.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "interfacearea": "string",
  • "instanceid": "string",
  • "metric": "string",
  • "routerpriorityelections": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "retransmitinterval": "string",
  • "bfdenable": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "interfacearea": "string",
  • "instanceid": "string",
  • "metric": "string",
  • "routerpriorityelections": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "retransmitinterval": "string",
  • "bfdenable": true,
  • "id": "string"
}

Update an existing frr ospf6d interface

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

(Interface Options) Interface

Enter the desired participating interface here.

If this interface has a gateway, rules on this interface will have "reply-to" by default. This will interfere with the operation of OSPFv3 on the interface. Add a rule at the top of the ruleset for this interface to pass IPv6 OSPF traffic with Disable reply-to checked in Advanced Options.

descr
string

(Interface Options) Description

networktype
string

(Interface Options) Network Type (, broadcast, point-to-point)

Select OSPF6 Network Type of the interface.

passive
boolean

(Interface Options) Interface is Passive

Prevent transmission and reception of OSPF6 packets on this interface. The specified interface will be announced as a stub network.

mtuignore
boolean

(Interface Options) Ignore MTU

Ignore MTU values for OSPF6 peers on this interface. Allows OSPF6 to form full adjacencies even when there is an MTU mismatch.

interfacearea
string

(OSPF6 Interface Handling) Area

The area for this interface (leave blank for default).

instanceid
string

(OSPF6 Interface Handling) Instance ID

Instance ID for this OSPF6 interface (leave blank for default).

metric
string

(OSPF6 Interface Handling) Metric

Metric (cost) for this OSPF6 interface (leave blank for default).

routerpriorityelections
string

(Advanced) Router Priority

Router priority when participating in elections for DR (Default 1) Valid range is 0-255. 0 will cause the router to not participate in election.

hellointervalinseconds
string

(Advanced) Hello Interval

Hello Interval this OSPF6 interface in seconds (Default 10).

deadtimer
string

(Advanced) Dead Timer

Dead Timer for this OSPF6 interface in seconds (Default 40).

retransmitinterval
string

(Advanced) Retransmit Interval

Retransmit Interval this OSPF6 interface in seconds (Default 5).

bfdenable
boolean

(BFD) BFD Enable

Listen for BFD events on peers created on the interface. When OSPF6 finds a new neighbor, it creates a BFD peer to monitor the link status for fast convergence.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "interfacearea": "string",
  • "instanceid": "string",
  • "metric": "string",
  • "routerpriorityelections": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "retransmitinterval": "string",
  • "bfdenable": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "interfacearea": "string",
  • "instanceid": "string",
  • "metric": "string",
  • "routerpriorityelections": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "retransmitinterval": "string",
  • "bfdenable": true,
  • "id": "string"
}

Delete a frr ospf6d interface

path Parameters
id
required
string

Responses

Response samples

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

Get frr ospfd

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "routerid": "string",
  • "spfholdtime": "string",
  • "spfdelay": "string",
  • "enablesnmpagentx": true,
  • "defaultarea": "string",
  • "defaultareatype": "string",
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_metric": "string",
  • "redistributeconnectedsubnets_metrictype": "string",
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributeconnectedsubnets_distlist": "string",
  • "redistributekernel": true,
  • "redistributekernel_metric": "string",
  • "redistributekernel_metrictype": "string",
  • "redistributekernel_routemap": "string",
  • "redistributekernel_distlist": "string",
  • "redistributebgp": true,
  • "redistributebgp_metric": "string",
  • "redistributebgp_metrictype": "string",
  • "redistributebgp_routemap": "string",
  • "redistributebgp_distlist": "string",
  • "redistributerip": true,
  • "redistributerip_metric": "string",
  • "redistributerip_metrictype": "string",
  • "redistributerip_routemap": "string",
  • "redistributerip_distlist": "string",
  • "redistributestatic": true,
  • "redistributestatic_metric": "string",
  • "redistributestatic_metrictype": "string",
  • "redistributestatic_routemap": "string",
  • "redistributestatic_distlist": "string",
  • "redistributedefaultroute": true,
  • "redistributedefaultroute_always": true,
  • "redistributedefaultroute_metric": "string",
  • "redistributedefaultroute_metrictype": "string",
  • "redistributedefaultroute_routemap": "string",
  • "rfc1583": true,
  • "opaquelsa": true,
  • "referencebandwidth": "string",
  • "max_metric_administrative": true,
  • "max_metric_startup": "string",
  • "max_metric_shutdown": "string",
  • "writemultiplier": "string",
  • "abrtype": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributeconnectedsubnets_distlist_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributekernel_distlist_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributebgp_distlist_options": [
    ],
  • "redistributerip_routemap_options": [
    ],
  • "redistributerip_distlist_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "redistributestatic_distlist_options": [
    ],
  • "redistributedefaultroute_routemap_options": [
    ]
}

Update frr ospfd

Request Body schema: application/json
required
enable
boolean

Enable

Enable OSPF Routing

adjacencylog
boolean

Log Adjacency Changes

If set to yes, adjacency changes will be written via syslog.

routerid
string

Router ID

Override the default Router ID. RID is the highest logical (loopback) IP address configured on a router. For more information on router identifiers see http://en.wikipedia.org/wiki/Open_Shortest_Path_First.

spfholdtime
string

SPF Hold Time

Set the SPF holdtime in milliseconds. The minimum time between two consecutive shortest path first calculations. (0-60000, Default: 1000)

spfdelay
string

SPF Delay

Set SPF delay in milliseconds. The delay between receiving an update to the link state database and starting the shortest path first calculation. (0-600000, Default: 200)

enablesnmpagentx
boolean

(Modules) Enable SNMP AgentX

Enable agentx support for accessing FRR Zebra data via SNMP with the net-snmp package.

defaultarea
string

(Default Area) Default Area

Default OSPF area for this instance of OSPF. Used when an area is required but not defined elsewhere.

For more information on Areas see http://en.wikipedia.org/wiki/Open_Shortest_Path_First#Area_types.

defaultareatype
string

(Default Area) Default Area Type (none, stub, nosum, nssa, nssanosum)

Defines how the default area behaves

Array of objects (FrrOspfdRow)
redistributeconnectedsubnets
boolean

(Route Redistribution) Connected Networks

Redistribute Connected Networks

redistributeconnectedsubnets_metric
string

(Route Redistribution) Metric

Metric

redistributeconnectedsubnets_metrictype
string

(Route Redistribution) Metric Type

Metric Type 1/2

redistributeconnectedsubnets_routemap
string

(Route Redistribution)

Route Map

redistributeconnectedsubnets_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributekernel
boolean

(Route Redistribution) pfSense Kernel Routes

Redistribute pfSense Kernel

redistributekernel_metric
string

(Route Redistribution) Metric

Metric

redistributekernel_metrictype
string

(Route Redistribution) Metric Type

Metric Type 1/2

redistributekernel_routemap
string

(Route Redistribution)

Route Map

redistributekernel_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributebgp
boolean

(Route Redistribution) BGP Routes

Redistribute BGP

redistributebgp_metric
string

(Route Redistribution) Metric

Metric

redistributebgp_metrictype
string

(Route Redistribution) Metric Type

Metric Type 1/2

redistributebgp_routemap
string

(Route Redistribution)

Route Map

redistributebgp_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributerip
boolean

(Route Redistribution) RIP Routes

Redistribute RIP

redistributerip_metric
string

(Route Redistribution) Metric

Metric

redistributerip_metrictype
string

(Route Redistribution) Metric Type

Metric Type 1/2

redistributerip_routemap
string

(Route Redistribution)

Route Map

redistributerip_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributestatic
boolean

(Route Redistribution) FRR Static Routes

Redistribute FRR Static

redistributestatic_metric
string

(Route Redistribution) Metric

Metric

redistributestatic_metrictype
string

(Route Redistribution) Metric Type

Metric Type 1/2

redistributestatic_routemap
string

(Route Redistribution)

Route Map

redistributestatic_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributedefaultroute
boolean

(Default Route Redistribution) Redistribute Default

Redistribute a Default route to neighbors

redistributedefaultroute_always
boolean

(Default Route Redistribution) Always Redistribute

Always distribute a default route, even if routing table contains no default.

redistributedefaultroute_metric
string

(Default Route Redistribution) Default Metric

Default route metric (0-16777214)

redistributedefaultroute_metrictype
string

(Default Route Redistribution) Default Metric Type

Default Metric Type (1 or 2)

redistributedefaultroute_routemap
string

(Default Route Redistribution) Route Map

Route Map used to filter default route redistribution.

rfc1583
boolean

(Advanced) RFC 1583 Compatibility

If enabled, decisions regarding AS-external routes are evaluated according to RFC 1583/RFC 2328 (Section G.2). The default is no.

opaquelsa
boolean

(Advanced) Opaque LSA

Enables support for Opaque LSA messages.

referencebandwidth
string

(Advanced) Reference Bandwidth

Base value, in Mbit/s, used to calculate automatic interface costs. Must be set the same on all OSPF routers (1-4294967, default 100).

max_metric_administrative
boolean

(Advanced) Max Metric

Administratively Enable Max Metric

max_metric_startup
string

(Advanced) Startup Seconds

Max Metric Seconds at Startup (5-86400, blank to disable)

max_metric_shutdown
string

(Advanced) Shutdown Seconds

Max Metric Seconds at Shutdown (5-86400, blank to disable)

writemultiplier
string

(Advanced) Write Multiplier

Interfaces to process per write, (1-100, default 20)

abrtype
string

(Advanced) ABR type (cisco, ibm, shortcut, standard)

Defines the standard used when acting as an ABR

Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "routerid": "string",
  • "spfholdtime": "string",
  • "spfdelay": "string",
  • "enablesnmpagentx": true,
  • "defaultarea": "string",
  • "defaultareatype": "string",
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_metric": "string",
  • "redistributeconnectedsubnets_metrictype": "string",
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributeconnectedsubnets_distlist": "string",
  • "redistributekernel": true,
  • "redistributekernel_metric": "string",
  • "redistributekernel_metrictype": "string",
  • "redistributekernel_routemap": "string",
  • "redistributekernel_distlist": "string",
  • "redistributebgp": true,
  • "redistributebgp_metric": "string",
  • "redistributebgp_metrictype": "string",
  • "redistributebgp_routemap": "string",
  • "redistributebgp_distlist": "string",
  • "redistributerip": true,
  • "redistributerip_metric": "string",
  • "redistributerip_metrictype": "string",
  • "redistributerip_routemap": "string",
  • "redistributerip_distlist": "string",
  • "redistributestatic": true,
  • "redistributestatic_metric": "string",
  • "redistributestatic_metrictype": "string",
  • "redistributestatic_routemap": "string",
  • "redistributestatic_distlist": "string",
  • "redistributedefaultroute": true,
  • "redistributedefaultroute_always": true,
  • "redistributedefaultroute_metric": "string",
  • "redistributedefaultroute_metrictype": "string",
  • "redistributedefaultroute_routemap": "string",
  • "rfc1583": true,
  • "opaquelsa": true,
  • "referencebandwidth": "string",
  • "max_metric_administrative": true,
  • "max_metric_startup": "string",
  • "max_metric_shutdown": "string",
  • "writemultiplier": "string",
  • "abrtype": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributeconnectedsubnets_distlist_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributekernel_distlist_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributebgp_distlist_options": [
    ],
  • "redistributerip_routemap_options": [
    ],
  • "redistributerip_distlist_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "redistributestatic_distlist_options": [
    ],
  • "redistributedefaultroute_routemap_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "adjacencylog": true,
  • "routerid": "string",
  • "spfholdtime": "string",
  • "spfdelay": "string",
  • "enablesnmpagentx": true,
  • "defaultarea": "string",
  • "defaultareatype": "string",
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_metric": "string",
  • "redistributeconnectedsubnets_metrictype": "string",
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributeconnectedsubnets_distlist": "string",
  • "redistributekernel": true,
  • "redistributekernel_metric": "string",
  • "redistributekernel_metrictype": "string",
  • "redistributekernel_routemap": "string",
  • "redistributekernel_distlist": "string",
  • "redistributebgp": true,
  • "redistributebgp_metric": "string",
  • "redistributebgp_metrictype": "string",
  • "redistributebgp_routemap": "string",
  • "redistributebgp_distlist": "string",
  • "redistributerip": true,
  • "redistributerip_metric": "string",
  • "redistributerip_metrictype": "string",
  • "redistributerip_routemap": "string",
  • "redistributerip_distlist": "string",
  • "redistributestatic": true,
  • "redistributestatic_metric": "string",
  • "redistributestatic_metrictype": "string",
  • "redistributestatic_routemap": "string",
  • "redistributestatic_distlist": "string",
  • "redistributedefaultroute": true,
  • "redistributedefaultroute_always": true,
  • "redistributedefaultroute_metric": "string",
  • "redistributedefaultroute_metrictype": "string",
  • "redistributedefaultroute_routemap": "string",
  • "rfc1583": true,
  • "opaquelsa": true,
  • "referencebandwidth": "string",
  • "max_metric_administrative": true,
  • "max_metric_startup": "string",
  • "max_metric_shutdown": "string",
  • "writemultiplier": "string",
  • "abrtype": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributeconnectedsubnets_distlist_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributekernel_distlist_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributebgp_distlist_options": [
    ],
  • "redistributerip_routemap_options": [
    ],
  • "redistributerip_distlist_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "redistributestatic_distlist_options": [
    ],
  • "redistributedefaultroute_routemap_options": [
    ]
}

Get frr ospfd6 areas

Responses

Response samples

Content type
application/json
{
  • "ospfd6areas": [
    ],
  • "exportlist_options": [
    ],
  • "importlist_options": [
    ],
  • "filterlist_out_options": [
    ],
  • "filterlist_in_options": [
    ]
}

Create a new frr ospfd6 area

Request Body schema: application/json
required
area
string

(Area Options) Area

The ID for this area.

descr
string

(Area Options) Description

type
string

(Area Options) Area Type (none, stub, nosum)

Defines how this area behaves

Array of objects (FrrOspfd6AreasRow)
exportlist
string

(ABR Summary Route Filtering) Export List

Uses this access list to filter summary route information transmitted to OSPF peers when acting as an ABR

importlist
string

(ABR Summary Route Filtering) Import List

Uses this access list to filter summary route information received from OSPF peers when acting as an ABR

filterlist_out
string

(ABR Summary Route Filtering) Filter List (Out)

Uses a prefix list to filter summary route information transmitted to OSPF peers when acting as an ABR

filterlist_in
string

(ABR Summary Route Filtering) Filter List (In)

Uses a prefix list to filter summary route information received from OSPF peers when acting as an ABR

id
string

(readonly) ID

Responses

Request samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Update an existing frr ospfd6 area

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

(Area Options) Area

The ID for this area.

descr
string

(Area Options) Description

type
string

(Area Options) Area Type (none, stub, nosum)

Defines how this area behaves

Array of objects (FrrOspfd6AreasRow)
exportlist
string

(ABR Summary Route Filtering) Export List

Uses this access list to filter summary route information transmitted to OSPF peers when acting as an ABR

importlist
string

(ABR Summary Route Filtering) Import List

Uses this access list to filter summary route information received from OSPF peers when acting as an ABR

filterlist_out
string

(ABR Summary Route Filtering) Filter List (Out)

Uses a prefix list to filter summary route information transmitted to OSPF peers when acting as an ABR

filterlist_in
string

(ABR Summary Route Filtering) Filter List (In)

Uses a prefix list to filter summary route information received from OSPF peers when acting as an ABR

id
string

(readonly) ID

Responses

Request samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Delete a frr ospfd6 area

path Parameters
id
required
string

Responses

Response samples

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

Get frr ospfd areas

Responses

Response samples

Content type
application/json
{
  • "ospfdareas": [
    ],
  • "exportlist_options": [
    ],
  • "importlist_options": [
    ],
  • "filterlist_out_options": [
    ],
  • "filterlist_in_options": [
    ]
}

Create a new frr ospfd area

Request Body schema: application/json
required
area
string

(Area Options) Area

The ID for this area.

descr
string

(Area Options) Description

type
string

(Area Options) Area Type (none, stub, nosum, nssa, nssanosum)

Defines how this area behaves

defaultcost
string

(Area Options) Default Route Cost

Cost applied to default route summary LSA messages sent to stub areas (0-16777215)

shortcut
string

(Area Options) ABR Shortcut (default, enable, disable)

Advertises the area as capable of using ABR shortcut behavior, if enabled in the OSPF Advanced Settings

authtype
string

(Authentication) Authentication Type (, digest, simple)

The type of OSPF authentication used by all routers in this area. This type must match all neighbors.

Using Message Digest is the best practice as Simple Password authentication is weak.

Array of objects (FrrOspfdAreasRow)
exportlist
string

(ABR Summary Route Filtering) Export List

Uses this access list to filter summary route information transmitted to OSPF peers when acting as an ABR

importlist
string

(ABR Summary Route Filtering) Import List

Uses this access list to filter summary route information received from OSPF peers when acting as an ABR

filterlist_out
string

(ABR Summary Route Filtering) Filter List (Out)

Uses a prefix list to filter summary route information transmitted to OSPF peers when acting as an ABR

filterlist_in
string

(ABR Summary Route Filtering) Filter List (In)

Uses a prefix list to filter summary route information received from OSPF peers when acting as an ABR

id
string

(readonly) ID

Responses

Request samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "defaultcost": "string",
  • "shortcut": "string",
  • "authtype": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "defaultcost": "string",
  • "shortcut": "string",
  • "authtype": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Update an existing frr ospfd area

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

(Area Options) Area

The ID for this area.

descr
string

(Area Options) Description

type
string

(Area Options) Area Type (none, stub, nosum, nssa, nssanosum)

Defines how this area behaves

defaultcost
string

(Area Options) Default Route Cost

Cost applied to default route summary LSA messages sent to stub areas (0-16777215)

shortcut
string

(Area Options) ABR Shortcut (default, enable, disable)

Advertises the area as capable of using ABR shortcut behavior, if enabled in the OSPF Advanced Settings

authtype
string

(Authentication) Authentication Type (, digest, simple)

The type of OSPF authentication used by all routers in this area. This type must match all neighbors.

Using Message Digest is the best practice as Simple Password authentication is weak.

Array of objects (FrrOspfdAreasRow)
exportlist
string

(ABR Summary Route Filtering) Export List

Uses this access list to filter summary route information transmitted to OSPF peers when acting as an ABR

importlist
string

(ABR Summary Route Filtering) Import List

Uses this access list to filter summary route information received from OSPF peers when acting as an ABR

filterlist_out
string

(ABR Summary Route Filtering) Filter List (Out)

Uses a prefix list to filter summary route information transmitted to OSPF peers when acting as an ABR

filterlist_in
string

(ABR Summary Route Filtering) Filter List (In)

Uses a prefix list to filter summary route information received from OSPF peers when acting as an ABR

id
string

(readonly) ID

Responses

Request samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "defaultcost": "string",
  • "shortcut": "string",
  • "authtype": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "area": "string",
  • "descr": "string",
  • "type": "string",
  • "defaultcost": "string",
  • "shortcut": "string",
  • "authtype": "string",
  • "row": [
    ],
  • "exportlist": "string",
  • "importlist": "string",
  • "filterlist_out": "string",
  • "filterlist_in": "string",
  • "id": "string"
}

Delete a frr ospfd area

path Parameters
id
required
string

Responses

Response samples

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

Get frr ospfd interfaces

Responses

Response samples

Content type
application/json
{
  • "ospfdinterfaces": [
    ],
  • "interface_options": [
    ]
}

Create a new frr ospfd interface

Request Body schema: application/json
required
interface
string

(Interface Options) Interface

Enter the desired participating interface here.

descr
string

(Interface Options) Description

networktype
string

(Interface Options) Network Type (, broadcast, non-broadcast, point-to-multipoint, point-to-point)

Select OSPF Network Type of the interface.

passive
boolean

(Interface Options) Interface is Passive

Prevent transmission and reception of OSPF packets on this interface. The specified interface will be announced as a stub network.

mtuignore
boolean

(Interface Options) Ignore MTU

Ignore MTU values for OSPF peers on this interface. Allows OSPF to form full adjacencies even when there is an MTU mismatch.

metric
string

(OSPF Interface Handling) Metric

Metric (Cost) for this OSPF interface (leave blank for default).

interfacearea
string

(OSPF Interface Handling) Area

The area for this interface (leave blank for default).

acceptfilter
boolean

(OSPF Interface Handling) Accept Filter

Prevent routes for this interface subnet or IP address from being distributed by OSPF (Suggested for Multi-WAN environments).

authtype
string

(Authentication) Authentication Type (, digest, simple, null)

The type of OSPF authentication to use on this interface. This type must match all neighbors reachable through this interface.

Using Message Digest is the best practice as Simple Password authentication is weak.

password
string

(Authentication) Password

Password to use with Simple Password or Message Digest authentication. This value must match all neighbors reachable through this interface.

Simple passwords may be up to 8 characters, Message Digest passwords (keys) may be up to 16 characters.

routerpriorityelections
string

(Advanced) Router Priority

Router priority when participating in elections for DR (0-255, Default 1) 0 will cause the router to not participate in election.

retransmitinterval
string

(Advanced) Retransmit Interval

Retransmit Interval this OSPF interface in seconds (3-65535, Default 5).

hellointervalinseconds
string

(Advanced) Hello Interval

Hello Interval this OSPF interface in seconds (1-65535, Default 10).

deadtimer
string

(Advanced) Dead Interval

Dead Interval for this OSPF interface in seconds (1-65535, Default 40).

minimalhello
string

(Advanced) Minimal Hello

Minimal Hello multiplier for this OSPF interface in seconds (1-10, Default disabled). Overrides the Hello Interval and Dead Interval and instead sends this number of Hello messages per second.

bfdenable
boolean

(BFD) BFD Enable

Listen for BFD events on peers created on the interface. When OSPF finds a new neighbor, it creates a BFD peer to monitor the link status for fast convergence.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "metric": "string",
  • "interfacearea": "string",
  • "acceptfilter": true,
  • "authtype": "string",
  • "password": "string",
  • "routerpriorityelections": "string",
  • "retransmitinterval": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "minimalhello": "string",
  • "bfdenable": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "metric": "string",
  • "interfacearea": "string",
  • "acceptfilter": true,
  • "authtype": "string",
  • "password": "string",
  • "routerpriorityelections": "string",
  • "retransmitinterval": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "minimalhello": "string",
  • "bfdenable": true,
  • "id": "string"
}

Update an existing frr ospfd interface

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

(Interface Options) Interface

Enter the desired participating interface here.

descr
string

(Interface Options) Description

networktype
string

(Interface Options) Network Type (, broadcast, non-broadcast, point-to-multipoint, point-to-point)

Select OSPF Network Type of the interface.

passive
boolean

(Interface Options) Interface is Passive

Prevent transmission and reception of OSPF packets on this interface. The specified interface will be announced as a stub network.

mtuignore
boolean

(Interface Options) Ignore MTU

Ignore MTU values for OSPF peers on this interface. Allows OSPF to form full adjacencies even when there is an MTU mismatch.

metric
string

(OSPF Interface Handling) Metric

Metric (Cost) for this OSPF interface (leave blank for default).

interfacearea
string

(OSPF Interface Handling) Area

The area for this interface (leave blank for default).

acceptfilter
boolean

(OSPF Interface Handling) Accept Filter

Prevent routes for this interface subnet or IP address from being distributed by OSPF (Suggested for Multi-WAN environments).

authtype
string

(Authentication) Authentication Type (, digest, simple, null)

The type of OSPF authentication to use on this interface. This type must match all neighbors reachable through this interface.

Using Message Digest is the best practice as Simple Password authentication is weak.

password
string

(Authentication) Password

Password to use with Simple Password or Message Digest authentication. This value must match all neighbors reachable through this interface.

Simple passwords may be up to 8 characters, Message Digest passwords (keys) may be up to 16 characters.

routerpriorityelections
string

(Advanced) Router Priority

Router priority when participating in elections for DR (0-255, Default 1) 0 will cause the router to not participate in election.

retransmitinterval
string

(Advanced) Retransmit Interval

Retransmit Interval this OSPF interface in seconds (3-65535, Default 5).

hellointervalinseconds
string

(Advanced) Hello Interval

Hello Interval this OSPF interface in seconds (1-65535, Default 10).

deadtimer
string

(Advanced) Dead Interval

Dead Interval for this OSPF interface in seconds (1-65535, Default 40).

minimalhello
string

(Advanced) Minimal Hello

Minimal Hello multiplier for this OSPF interface in seconds (1-10, Default disabled). Overrides the Hello Interval and Dead Interval and instead sends this number of Hello messages per second.

bfdenable
boolean

(BFD) BFD Enable

Listen for BFD events on peers created on the interface. When OSPF finds a new neighbor, it creates a BFD peer to monitor the link status for fast convergence.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "metric": "string",
  • "interfacearea": "string",
  • "acceptfilter": true,
  • "authtype": "string",
  • "password": "string",
  • "routerpriorityelections": "string",
  • "retransmitinterval": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "minimalhello": "string",
  • "bfdenable": true,
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "networktype": "string",
  • "passive": true,
  • "mtuignore": true,
  • "metric": "string",
  • "interfacearea": "string",
  • "acceptfilter": true,
  • "authtype": "string",
  • "password": "string",
  • "routerpriorityelections": "string",
  • "retransmitinterval": "string",
  • "hellointervalinseconds": "string",
  • "deadtimer": "string",
  • "minimalhello": "string",
  • "bfdenable": true,
  • "id": "string"
}

Delete a frr ospfd interface

path Parameters
id
required
string

Responses

Response samples

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

Get frr ospfd neighbors

Responses

Response samples

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

Create a new frr ospfd neighbor

Request Body schema: application/json
required
neighbor
string

(OSPF Neighbors) OSPF Neighbor IPv4 Address

descr
string

(OSPF Neighbors) Description

priority
string

(OSPF Neighbors) Neighbor Priority

(0-255) Priority

pollinginterval
string

(OSPF Neighbors) Dead Neighbor Polling interval

(1-65535) Seconds

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "priority": "string",
  • "pollinginterval": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "priority": "string",
  • "pollinginterval": "string",
  • "id": "string"
}

Update an existing frr ospfd neighbor

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

(OSPF Neighbors) OSPF Neighbor IPv4 Address

descr
string

(OSPF Neighbors) Description

priority
string

(OSPF Neighbors) Neighbor Priority

(0-255) Priority

pollinginterval
string

(OSPF Neighbors) Dead Neighbor Polling interval

(1-65535) Seconds

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "priority": "string",
  • "pollinginterval": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "priority": "string",
  • "pollinginterval": "string",
  • "id": "string"
}

Delete a frr ospfd neighbor

path Parameters
id
required
string

Responses

Response samples

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

Get frr ripd

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_metric": "string",
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributeconnectedsubnets_distlist": "string",
  • "redistributekernel": true,
  • "redistributekernel_metric": "string",
  • "redistributekernel_routemap": "string",
  • "redistributekernel_distlist": "string",
  • "redistributebgp": true,
  • "redistributebgp_metric": "string",
  • "redistributebgp_routemap": "string",
  • "redistributebgp_distlist": "string",
  • "redistributeospf": true,
  • "redistributeospf_metric": "string",
  • "redistributeospf_routemap": "string",
  • "redistributeospf_distlist": "string",
  • "redistributestatic": true,
  • "redistributestatic_metric": "string",
  • "redistributestatic_routemap": "string",
  • "redistributestatic_distlist": "string",
  • "redistributedefaultroute": true,
  • "ripversion": "string",
  • "inoffsetlist": "string",
  • "inmetricvalue": "string",
  • "outoffsetlist": "string",
  • "outmetricvalue": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributeconnectedsubnets_distlist_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributekernel_distlist_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributebgp_distlist_options": [
    ],
  • "redistributeospf_routemap_options": [
    ],
  • "redistributeospf_distlist_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "redistributestatic_distlist_options": [
    ],
  • "inoffsetlist_options": [
    ],
  • "outoffsetlist_options": [
    ]
}

Update frr ripd

Request Body schema: application/json
required
enable
boolean

Enable

Enable RIP Routing

Array of objects (FrrRipdRow)
redistributeconnectedsubnets
boolean

(Route Redistribution) Connected Networks

Redistribute Connected Networks

redistributeconnectedsubnets_metric
string

(Route Redistribution) Metric (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

Metric

redistributeconnectedsubnets_routemap
string

(Route Redistribution)

Route Map

redistributeconnectedsubnets_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributekernel
boolean

(Route Redistribution) pfSense Kernel Routes

Redistribute pfSense Kernel

redistributekernel_metric
string

(Route Redistribution) Metric (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

Metric

redistributekernel_routemap
string

(Route Redistribution)

Route Map

redistributekernel_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributebgp
boolean

(Route Redistribution) BGP Routes

Redistribute BGP

redistributebgp_metric
string

(Route Redistribution) Metric (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

Metric

redistributebgp_routemap
string

(Route Redistribution)

Route Map

redistributebgp_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributeospf
boolean

(Route Redistribution) OSPF Routes

Redistribute OSPF

redistributeospf_metric
string

(Route Redistribution) Metric (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

Metric

redistributeospf_routemap
string

(Route Redistribution)

Route Map

redistributeospf_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributestatic
boolean

(Route Redistribution) FRR Static Routes

Redistribute FRR Static

redistributestatic_metric
string

(Route Redistribution) Metric (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

Metric

redistributestatic_routemap
string

(Route Redistribution)

Route Map

redistributestatic_distlist
string

(Route Redistribution) Distribute List

Distribute List

redistributedefaultroute
boolean

(Default Route Redistribution) Redistribute Default

Redistribute a Default route to neighbors

ripversion
string

(Advanced) RIP Version (2, 1)

Defines RIP version.

inoffsetlist
string

(Advanced) Incoming Offset List

Incoming Updates Offset List

inmetricvalue
string

(Advanced) Metric Value (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

In Offset Metric Value

outoffsetlist
string

(Advanced) Outgoing Offset List

Outgoing Updates Offset List

outmetricvalue
string

(Advanced) Metric Value (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

In Offset Metric Value

Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_metric": "string",
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributeconnectedsubnets_distlist": "string",
  • "redistributekernel": true,
  • "redistributekernel_metric": "string",
  • "redistributekernel_routemap": "string",
  • "redistributekernel_distlist": "string",
  • "redistributebgp": true,
  • "redistributebgp_metric": "string",
  • "redistributebgp_routemap": "string",
  • "redistributebgp_distlist": "string",
  • "redistributeospf": true,
  • "redistributeospf_metric": "string",
  • "redistributeospf_routemap": "string",
  • "redistributeospf_distlist": "string",
  • "redistributestatic": true,
  • "redistributestatic_metric": "string",
  • "redistributestatic_routemap": "string",
  • "redistributestatic_distlist": "string",
  • "redistributedefaultroute": true,
  • "ripversion": "string",
  • "inoffsetlist": "string",
  • "inmetricvalue": "string",
  • "outoffsetlist": "string",
  • "outmetricvalue": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributeconnectedsubnets_distlist_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributekernel_distlist_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributebgp_distlist_options": [
    ],
  • "redistributeospf_routemap_options": [
    ],
  • "redistributeospf_distlist_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "redistributestatic_distlist_options": [
    ],
  • "inoffsetlist_options": [
    ],
  • "outoffsetlist_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "row": [
    ],
  • "redistributeconnectedsubnets": true,
  • "redistributeconnectedsubnets_metric": "string",
  • "redistributeconnectedsubnets_routemap": "string",
  • "redistributeconnectedsubnets_distlist": "string",
  • "redistributekernel": true,
  • "redistributekernel_metric": "string",
  • "redistributekernel_routemap": "string",
  • "redistributekernel_distlist": "string",
  • "redistributebgp": true,
  • "redistributebgp_metric": "string",
  • "redistributebgp_routemap": "string",
  • "redistributebgp_distlist": "string",
  • "redistributeospf": true,
  • "redistributeospf_metric": "string",
  • "redistributeospf_routemap": "string",
  • "redistributeospf_distlist": "string",
  • "redistributestatic": true,
  • "redistributestatic_metric": "string",
  • "redistributestatic_routemap": "string",
  • "redistributestatic_distlist": "string",
  • "redistributedefaultroute": true,
  • "ripversion": "string",
  • "inoffsetlist": "string",
  • "inmetricvalue": "string",
  • "outoffsetlist": "string",
  • "outmetricvalue": "string",
  • "redistributeconnectedsubnets_routemap_options": [
    ],
  • "redistributeconnectedsubnets_distlist_options": [
    ],
  • "redistributekernel_routemap_options": [
    ],
  • "redistributekernel_distlist_options": [
    ],
  • "redistributebgp_routemap_options": [
    ],
  • "redistributebgp_distlist_options": [
    ],
  • "redistributeospf_routemap_options": [
    ],
  • "redistributeospf_distlist_options": [
    ],
  • "redistributestatic_routemap_options": [
    ],
  • "redistributestatic_distlist_options": [
    ],
  • "inoffsetlist_options": [
    ],
  • "outoffsetlist_options": [
    ]
}

Get frr ripd interfaces

Responses

Response samples

Content type
application/json
{
  • "ripdinterfaces": [
    ],
  • "interface_options": [
    ]
}

Create a new frr ripd interface

Request Body schema: application/json
required
interface
string

(Interface Options) Interface

Enter the desired participating interface here.

descr
string

(Interface Options) Description

passive
boolean

(Interface Options) Interface is Passive

Prevent transmission of RIP packets on this interface.

authtype
string

(Authentication) Authentication Type (, digest, simple)

The type of RIP authentication to use on this interface. This type must match all neighbors reachable through this interface.

Using Message Digest is the best practice as Simple Password authentication is weak.

password
string

(Authentication) Password

Password to use with Simple Password or Message Digest authentication. This value must match all neighbors reachable through this interface.

Passwords may be up to 16 characters.

splithorizon
string

(Advanced) Split Horizon (none, splithorizon, reversepoison)

Perform Split Horizon.

sendbroadcast
boolean

(Advanced) Send Broadcast

Send Broadcast updates instead of multicast for RIPv2.

sendversion
string

(Advanced) Send Version (2, 1, 1 2, none)

Advertisement transmission version.

receiveversion
string

(Advanced) Receive Version (2, 1, 1 2, none)

Advertisement reception version.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "passive": true,
  • "authtype": "string",
  • "password": "string",
  • "splithorizon": "string",
  • "sendbroadcast": true,
  • "sendversion": "string",
  • "receiveversion": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "passive": true,
  • "authtype": "string",
  • "password": "string",
  • "splithorizon": "string",
  • "sendbroadcast": true,
  • "sendversion": "string",
  • "receiveversion": "string",
  • "id": "string"
}

Update an existing frr ripd interface

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

(Interface Options) Interface

Enter the desired participating interface here.

descr
string

(Interface Options) Description

passive
boolean

(Interface Options) Interface is Passive

Prevent transmission of RIP packets on this interface.

authtype
string

(Authentication) Authentication Type (, digest, simple)

The type of RIP authentication to use on this interface. This type must match all neighbors reachable through this interface.

Using Message Digest is the best practice as Simple Password authentication is weak.

password
string

(Authentication) Password

Password to use with Simple Password or Message Digest authentication. This value must match all neighbors reachable through this interface.

Passwords may be up to 16 characters.

splithorizon
string

(Advanced) Split Horizon (none, splithorizon, reversepoison)

Perform Split Horizon.

sendbroadcast
boolean

(Advanced) Send Broadcast

Send Broadcast updates instead of multicast for RIPv2.

sendversion
string

(Advanced) Send Version (2, 1, 1 2, none)

Advertisement transmission version.

receiveversion
string

(Advanced) Receive Version (2, 1, 1 2, none)

Advertisement reception version.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "passive": true,
  • "authtype": "string",
  • "password": "string",
  • "splithorizon": "string",
  • "sendbroadcast": true,
  • "sendversion": "string",
  • "receiveversion": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "interface": "string",
  • "descr": "string",
  • "passive": true,
  • "authtype": "string",
  • "password": "string",
  • "splithorizon": "string",
  • "sendbroadcast": true,
  • "sendversion": "string",
  • "receiveversion": "string",
  • "id": "string"
}

Delete a frr ripd interface

path Parameters
id
required
string

Responses

Response samples

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

Get frr ripd neighbors

Responses

Response samples

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

Create a new frr ripd neighbor

Request Body schema: application/json
required
neighbor
string

(RIP Neighbors) RIP Neighbor IPv4 Address

descr
string

(RIP Neighbors) Description

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "id": "string"
}

Update an existing frr ripd neighbor

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

(RIP Neighbors) RIP Neighbor IPv4 Address

descr
string

(RIP Neighbors) Description

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "neighbor": "string",
  • "descr": "string",
  • "id": "string"
}

Delete a frr ripd neighbor

path Parameters
id
required
string

Responses

Response samples

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

Start, stop, restart or reload the FRR service

Request Body schema: application/json
required
action
string

(start, stop, restart, reload) action to perform on the FRR service

Responses

Request samples

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

Response samples

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

Get the current FRR service status and per-daemon running state

Responses

Response samples

Content type
application/json
{
  • "running": true,
  • "status": "string",
  • "daemons": [
    ]
}

Validate and apply HAProxy configuration

Responses

Response samples

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

Validate HAProxy configuration without applying

Responses

Response samples

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

Get the HAProxy generated configuration files

Responses

Response samples

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

Get HAProxy files

Responses

Response samples

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

Create a new HAProxy file

Request Body schema: application/json
required
name
string

File Name

Unique name for this file. Used to reference it from error file configurations.

type
string

File Type (errorfile, luascript, writetodisk)

Type of HAProxy file.

  • errorfile: Custom HTTP error response page
  • luascript: Lua script loaded by HAProxy
  • writetodisk: File written to disk for use in HAProxy configuration (Default: errorfile)
content
string

File Content

Content of the file. For error files, this should include the complete HTTP response including status line and headers.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Update an existing HAProxy file

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

File Name

Unique name for this file. Used to reference it from error file configurations.

type
string

File Type (errorfile, luascript, writetodisk)

Type of HAProxy file.

  • errorfile: Custom HTTP error response page
  • luascript: Lua script loaded by HAProxy
  • writetodisk: File written to disk for use in HAProxy configuration (Default: errorfile)
content
string

File Content

Content of the file. For error files, this should include the complete HTTP response including status line and headers.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Delete a HAProxy file

path Parameters
id
required
string

Responses

Response samples

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

Get HAProxy frontends

Responses

Response samples

Content type
application/json
{
  • "frontends": [
    ],
  • "backend_serverpool_options": [
    ],
  • "primary_frontend_options": [
    ],
  • "ssl_certificate_options": [
    ],
  • "client_ca_options": [
    ],
  • "client_crl_options": [
    ],
  • "extaddr_options": [
    ]
}

Create a new HAProxy frontend

Request Body schema: application/json
required
name
string

Name

Unique name for this frontend. Used as identifier in HAProxy configuration.

descr
string

Description

Optional description of this frontend's purpose.

status
string

Status (active, disabled)

Whether this frontend is active or disabled in the HAProxy configuration.

type
string

Type (http, https, tcp)

Protocol mode for this frontend.

  • http: Layer 7 HTTP processing
  • https: Layer 7 HTTP with SSL (offloading handled separately)
  • tcp: Layer 4 TCP passthrough
secondary
boolean

Secondary Frontend

When true, this frontend is a secondary that shares settings with a primary frontend.

primary_frontend
string

Primary Frontend

Name of the primary frontend this secondary frontend shares settings with. Only applicable when secondary is true.

backend_serverpool
string

Default Backend

Name of the default backend pool to use when no ACL-based action matches.

maxconn
string

Maximum Connections

Maximum number of concurrent connections for this frontend.

Array of objects (HaproxyBindAddress)
forwardfor
boolean

X-Forwarded-For

Add X-Forwarded-For header containing the client's IP address.

httpclose
string

Connection Mode (http-keep-alive, http-tunnel, httpclose, http-server-close, forceclose)

HTTP connection handling mode.

  • http-keep-alive: Allow persistent connections (default for HTTP mode)
  • http-server-close: Close server-side connections after each response
  • httpclose: Close both sides after each transaction
  • forceclose: Aggressively close connections
dontlognull
boolean

Don't Log Null Connections

Skip logging for connections that transfer no data (probes, health checks).

dontlog_normal
boolean

Don't Log Normal

Skip logging for normal, successful connections. Only log errors.

log_separate_errors
boolean

Log Separate Errors

Log connection errors and timeouts to a separate log facility.

log_detailed
boolean

Detailed Logging

Enable verbose logging with additional connection and request details.

socket_stats
boolean

Socket Statistics

Enable per-socket statistics for this frontend.

client_timeout
string

Client Timeout

Maximum time to wait for data from the client, in milliseconds.

ssloffload
boolean

SSL Offloading

Enable SSL/TLS termination on this frontend.

ssloffloadcert
string

SSL Certificate

Reference ID of the primary SSL certificate for this frontend.

sslsnifilter
string

SNI Filter

Enable SNI-based certificate selection for this frontend.

ssl_crtlist_advanced
string

Advanced Certificate List

Raw crt-list directives for advanced certificate configuration.

dcertadv
string

Default Certificate Advanced

Advanced options appended to the default certificate's bind line.

ssloffloadacl
boolean

SSL ACL Name

Add ACL for certificate CommonName. (host header matches the "CN" of the certificate.

ssloffloadacl_an
boolean

SSL ACL Additional Name

Add ACL for certificate Subject Alternative Names.

ssloffloadacladditional
boolean

SSL ACL Additional CN

Add ACL for certificate CommonName. (host header matches the "CN" of the certificate)

ssloffloadacladditional_an
boolean

SSL ACL Additional SAN

Add ACL for certificate Subject Alternative Names.

sslclientcert_none
boolean

Without client cert

Allows clients without a certificate to connect.

sslclientcert_invalid
boolean

Client Certificate Invalid Action

Allows client with a invalid/expired/revoked or otherwise wrong certificate to connect.

sslocsp
boolean

OCSP Certificate

Load certificate OCSP responses for easy certificate validation by the client.

Array of objects (HaproxyCertificate)
Array of objects (HaproxyClientCa)
Array of objects (HaproxyClientCrl)
Array of objects (HaproxyAcl)
Array of objects (HaproxyAction)
Array of objects (HaproxyErrorFile)
advanced_bind
string

Bind Pass Thru

Additional parameters appended to all bind lines in this frontend.

advanced
string

Advanced Pass Thru

Base64-encoded raw HAProxy configuration appended to this frontend section.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "status": "string",
  • "type": "string",
  • "secondary": true,
  • "primary_frontend": "string",
  • "backend_serverpool": "string",
  • "maxconn": "string",
  • "bind_addresses": [
    ],
  • "forwardfor": true,
  • "httpclose": "string",
  • "dontlognull": true,
  • "dontlog_normal": true,
  • "log_separate_errors": true,
  • "log_detailed": true,
  • "socket_stats": true,
  • "client_timeout": "string",
  • "ssloffload": true,
  • "ssloffloadcert": "string",
  • "sslsnifilter": "string",
  • "ssl_crtlist_advanced": "string",
  • "dcertadv": "string",
  • "ssloffloadacl": true,
  • "ssloffloadacl_an": true,
  • "ssloffloadacladditional": true,
  • "ssloffloadacladditional_an": true,
  • "sslclientcert_none": true,
  • "sslclientcert_invalid": true,
  • "sslocsp": true,
  • "ha_certificates": [
    ],
  • "clientcert_ca": [
    ],
  • "clientcert_crl": [
    ],
  • "ha_acls": [
    ],
  • "a_actionitems": [
    ],
  • "a_errorfiles": [
    ],
  • "advanced_bind": "string",
  • "advanced": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "status": "string",
  • "type": "string",
  • "secondary": true,
  • "primary_frontend": "string",
  • "backend_serverpool": "string",
  • "maxconn": "string",
  • "bind_addresses": [
    ],
  • "forwardfor": true,
  • "httpclose": "string",
  • "dontlognull": true,
  • "dontlog_normal": true,
  • "log_separate_errors": true,
  • "log_detailed": true,
  • "socket_stats": true,
  • "client_timeout": "string",
  • "ssloffload": true,
  • "ssloffloadcert": "string",
  • "sslsnifilter": "string",
  • "ssl_crtlist_advanced": "string",
  • "dcertadv": "string",
  • "ssloffloadacl": true,
  • "ssloffloadacl_an": true,
  • "ssloffloadacladditional": true,
  • "ssloffloadacladditional_an": true,
  • "sslclientcert_none": true,
  • "sslclientcert_invalid": true,
  • "sslocsp": true,
  • "ha_certificates": [
    ],
  • "clientcert_ca": [
    ],
  • "clientcert_crl": [
    ],
  • "ha_acls": [
    ],
  • "a_actionitems": [
    ],
  • "a_errorfiles": [
    ],
  • "advanced_bind": "string",
  • "advanced": "string",
  • "id": "string"
}

Update an existing HAProxy frontend

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

Name

Unique name for this frontend. Used as identifier in HAProxy configuration.

descr
string

Description

Optional description of this frontend's purpose.

status
string

Status (active, disabled)

Whether this frontend is active or disabled in the HAProxy configuration.

type
string

Type (http, https, tcp)

Protocol mode for this frontend.

  • http: Layer 7 HTTP processing
  • https: Layer 7 HTTP with SSL (offloading handled separately)
  • tcp: Layer 4 TCP passthrough
secondary
boolean

Secondary Frontend

When true, this frontend is a secondary that shares settings with a primary frontend.

primary_frontend
string

Primary Frontend

Name of the primary frontend this secondary frontend shares settings with. Only applicable when secondary is true.

backend_serverpool
string

Default Backend

Name of the default backend pool to use when no ACL-based action matches.

maxconn
string

Maximum Connections

Maximum number of concurrent connections for this frontend.

Array of objects (HaproxyBindAddress)
forwardfor
boolean

X-Forwarded-For

Add X-Forwarded-For header containing the client's IP address.

httpclose
string

Connection Mode (http-keep-alive, http-tunnel, httpclose, http-server-close, forceclose)

HTTP connection handling mode.

  • http-keep-alive: Allow persistent connections (default for HTTP mode)
  • http-server-close: Close server-side connections after each response
  • httpclose: Close both sides after each transaction
  • forceclose: Aggressively close connections
dontlognull
boolean

Don't Log Null Connections

Skip logging for connections that transfer no data (probes, health checks).

dontlog_normal
boolean

Don't Log Normal

Skip logging for normal, successful connections. Only log errors.

log_separate_errors
boolean

Log Separate Errors

Log connection errors and timeouts to a separate log facility.

log_detailed
boolean

Detailed Logging

Enable verbose logging with additional connection and request details.

socket_stats
boolean

Socket Statistics

Enable per-socket statistics for this frontend.

client_timeout
string

Client Timeout

Maximum time to wait for data from the client, in milliseconds.

ssloffload
boolean

SSL Offloading

Enable SSL/TLS termination on this frontend.

ssloffloadcert
string

SSL Certificate

Reference ID of the primary SSL certificate for this frontend.

sslsnifilter
string

SNI Filter

Enable SNI-based certificate selection for this frontend.

ssl_crtlist_advanced
string

Advanced Certificate List

Raw crt-list directives for advanced certificate configuration.

dcertadv
string

Default Certificate Advanced

Advanced options appended to the default certificate's bind line.

ssloffloadacl
boolean

SSL ACL Name

Add ACL for certificate CommonName. (host header matches the "CN" of the certificate.

ssloffloadacl_an
boolean

SSL ACL Additional Name

Add ACL for certificate Subject Alternative Names.

ssloffloadacladditional
boolean

SSL ACL Additional CN

Add ACL for certificate CommonName. (host header matches the "CN" of the certificate)

ssloffloadacladditional_an
boolean

SSL ACL Additional SAN

Add ACL for certificate Subject Alternative Names.

sslclientcert_none
boolean

Without client cert

Allows clients without a certificate to connect.

sslclientcert_invalid
boolean

Client Certificate Invalid Action

Allows client with a invalid/expired/revoked or otherwise wrong certificate to connect.

sslocsp
boolean

OCSP Certificate

Load certificate OCSP responses for easy certificate validation by the client.

Array of objects (HaproxyCertificate)
Array of objects (HaproxyClientCa)
Array of objects (HaproxyClientCrl)
Array of objects (HaproxyAcl)
Array of objects (HaproxyAction)
Array of objects (HaproxyErrorFile)
advanced_bind
string

Bind Pass Thru

Additional parameters appended to all bind lines in this frontend.

advanced
string

Advanced Pass Thru

Base64-encoded raw HAProxy configuration appended to this frontend section.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "status": "string",
  • "type": "string",
  • "secondary": true,
  • "primary_frontend": "string",
  • "backend_serverpool": "string",
  • "maxconn": "string",
  • "bind_addresses": [
    ],
  • "forwardfor": true,
  • "httpclose": "string",
  • "dontlognull": true,
  • "dontlog_normal": true,
  • "log_separate_errors": true,
  • "log_detailed": true,
  • "socket_stats": true,
  • "client_timeout": "string",
  • "ssloffload": true,
  • "ssloffloadcert": "string",
  • "sslsnifilter": "string",
  • "ssl_crtlist_advanced": "string",
  • "dcertadv": "string",
  • "ssloffloadacl": true,
  • "ssloffloadacl_an": true,
  • "ssloffloadacladditional": true,
  • "ssloffloadacladditional_an": true,
  • "sslclientcert_none": true,
  • "sslclientcert_invalid": true,
  • "sslocsp": true,
  • "ha_certificates": [
    ],
  • "clientcert_ca": [
    ],
  • "clientcert_crl": [
    ],
  • "ha_acls": [
    ],
  • "a_actionitems": [
    ],
  • "a_errorfiles": [
    ],
  • "advanced_bind": "string",
  • "advanced": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "status": "string",
  • "type": "string",
  • "secondary": true,
  • "primary_frontend": "string",
  • "backend_serverpool": "string",
  • "maxconn": "string",
  • "bind_addresses": [
    ],
  • "forwardfor": true,
  • "httpclose": "string",
  • "dontlognull": true,
  • "dontlog_normal": true,
  • "log_separate_errors": true,
  • "log_detailed": true,
  • "socket_stats": true,
  • "client_timeout": "string",
  • "ssloffload": true,
  • "ssloffloadcert": "string",
  • "sslsnifilter": "string",
  • "ssl_crtlist_advanced": "string",
  • "dcertadv": "string",
  • "ssloffloadacl": true,
  • "ssloffloadacl_an": true,
  • "ssloffloadacladditional": true,
  • "ssloffloadacladditional_an": true,
  • "sslclientcert_none": true,
  • "sslclientcert_invalid": true,
  • "sslocsp": true,
  • "ha_certificates": [
    ],
  • "clientcert_ca": [
    ],
  • "clientcert_crl": [
    ],
  • "ha_acls": [
    ],
  • "a_actionitems": [
    ],
  • "a_errorfiles": [
    ],
  • "advanced_bind": "string",
  • "advanced": "string",
  • "id": "string"
}

Delete a HAProxy frontend

path Parameters
id
required
string

Responses

Response samples

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

Get HAProxy global settings

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "terminate_on_reload": true,
  • "enablesync": true,
  • "maxconn": "string",
  • "nbthread": "string",
  • "hard_stop_after": "string",
  • "localstatsport": "string",
  • "localstats_refreshtime": "string",
  • "localstats_sticktable_refreshtime": "string",
  • "remotesyslog": "string",
  • "logfacility": "string",
  • "loglevel": "string",
  • "log_send_hostname": "string",
  • "carpdev": "string",
  • "sslcompatibilitymode": "string",
  • "ssldefaultdhparam": "string",
  • "email_level": "string",
  • "email_myhostname": "string",
  • "email_from": "string",
  • "email_to": "string",
  • "resolver_retries": "string",
  • "resolver_timeoutretry": "string",
  • "resolver_holdvalid": "string",
  • "advanced": "string",
  • "version": "string"
}

Update HAProxy global settings

Request Body schema: application/json
required
enable
boolean

(General Settings) Enable HAProxy

Master switch to enable/disable the HAProxy service.

terminate_on_reload
boolean

(General Settings) Terminate on Reload

Force termination of old process on reload instead of graceful stop.

enablesync
boolean

(General Settings) CARP XMLRpc Sync

Enable XMLRPC configuration synchronization for CARP failover.

maxconn
string

(General Settings) Maximum Connections

Maximum per-process number of concurrent connections. (Default: uses HAProxy compiled default)

nbthread
string

(General Settings) Number of Threads

Number of threads to use. Each thread handles connections independently. (Default: 1)

hard_stop_after
string

(General Settings) Hard Stop After

Maximum time to wait for all connections to close during a soft stop, after which the process is killed. Format: time with suffix (e.g. 30s, 5m).

localstatsport
string

(Stats Settings) Internal Stats Port

Port for the internal statistics socket. Used for local stats page access.

localstats_refreshtime
string

(Stats Settings) Internal Stats Refresh Time

Refresh interval in seconds for the internal statistics page.

localstats_sticktable_refreshtime
string

(Stats Settings) Stick Table Refresh Time

Refresh interval in seconds for stick-table statistics.

remotesyslog
string

(Logging) Remote Syslog Host

IP address or hostname of a remote syslog server. HAProxy sends logs via UDP.

logfacility
string

(Logging) Syslog Facility (local0, local1, local2, local3, local4, local5, local6, local7, kern, user, mail, daemon, auth)

Syslog facility to use for HAProxy log messages. (Default: local0)

loglevel
string

(Logging) Log Level (emerg, alert, crit, err, warning, notice, info, debug)

Minimum log level for messages to be sent to syslog. (Default: info)

log_send_hostname
string

(Logging) Log Hostname

Hostname to use in syslog messages. If set, this value appears in the syslog header instead of the system hostname.

carpdev
string

(Tuning) CARP Device IP

IP address of the CARP device to monitor. HAProxy will only run when the CARP interface is in MASTER state.

sslcompatibilitymode
string

(SSL) SSL Compatibility Mode (auto, modern, intermediate, old)

Predefined SSL cipher suite and protocol settings.

  • auto: Use HAProxy defaults
  • modern: TLS 1.3 only, strongest ciphers
  • intermediate: TLS 1.2+, broad compatibility
  • old: TLS 1.0+, maximum compatibility (not recommended)
ssldefaultdhparam
string

(SSL) SSL Default DH Parameter Size

Size of the Diffie-Hellman parameters for DHE key exchanges. (Default: 2048)

email_level
string

(Email) Email Alert Level (emerg, alert, crit, err, warning, notice, info, debug)

Minimum severity level for email notifications.

email_myhostname
string

(Email) Email Hostname

Hostname used in SMTP HELO/EHLO when sending email alerts.

email_from
string

(Email) Email From Address

Sender email address for alert notifications.

email_to
string

(Email) Email To Address

Recipient email address for alert notifications.

resolver_retries
string

(DNS) Resolver Retries

Number of DNS resolution retry attempts before giving up. (Default: 3)

resolver_timeoutretry
string

(DNS) Resolver Timeout Retry

Timeout between DNS resolution retries. Format: time with suffix (e.g. 1s). (Default: 1s)

resolver_holdvalid
string

(DNS) Resolver Hold Valid

Duration to keep a valid DNS result in cache. Format: time with suffix (e.g. 10s). (Default: 10s)

advanced
string

(Advanced) Custom Global Configuration

Base64-encoded raw HAProxy configuration appended to the global section. Use with caution - invalid entries may prevent HAProxy from starting.

version
string

(readonly) HAProxy version

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "terminate_on_reload": true,
  • "enablesync": true,
  • "maxconn": "string",
  • "nbthread": "string",
  • "hard_stop_after": "string",
  • "localstatsport": "string",
  • "localstats_refreshtime": "string",
  • "localstats_sticktable_refreshtime": "string",
  • "remotesyslog": "string",
  • "logfacility": "string",
  • "loglevel": "string",
  • "log_send_hostname": "string",
  • "carpdev": "string",
  • "sslcompatibilitymode": "string",
  • "ssldefaultdhparam": "string",
  • "email_level": "string",
  • "email_myhostname": "string",
  • "email_from": "string",
  • "email_to": "string",
  • "resolver_retries": "string",
  • "resolver_timeoutretry": "string",
  • "resolver_holdvalid": "string",
  • "advanced": "string",
  • "version": "string"
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "terminate_on_reload": true,
  • "enablesync": true,
  • "maxconn": "string",
  • "nbthread": "string",
  • "hard_stop_after": "string",
  • "localstatsport": "string",
  • "localstats_refreshtime": "string",
  • "localstats_sticktable_refreshtime": "string",
  • "remotesyslog": "string",
  • "logfacility": "string",
  • "loglevel": "string",
  • "log_send_hostname": "string",
  • "carpdev": "string",
  • "sslcompatibilitymode": "string",
  • "ssldefaultdhparam": "string",
  • "email_level": "string",
  • "email_myhostname": "string",
  • "email_from": "string",
  • "email_to": "string",
  • "resolver_retries": "string",
  • "resolver_timeoutretry": "string",
  • "resolver_holdvalid": "string",
  • "advanced": "string",
  • "version": "string"
}

Get HAProxy email mailers

Responses

Response samples

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

Create a new HAProxy email mailer

Request Body schema: application/json
required
name
string

Mailer Name

Unique name for this mailer entry.

mailserver
string

Mail Server

Hostname or IP address of the SMTP server.

mailserverport
string

Mail Server Port

TCP port of the SMTP server. (Default: 25)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "mailserver": "string",
  • "mailserverport": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "mailserver": "string",
  • "mailserverport": "string",
  • "id": "string"
}

Update an existing HAProxy email mailer

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

Mailer Name

Unique name for this mailer entry.

mailserver
string

Mail Server

Hostname or IP address of the SMTP server.

mailserverport
string

Mail Server Port

TCP port of the SMTP server. (Default: 25)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "mailserver": "string",
  • "mailserverport": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "mailserver": "string",
  • "mailserverport": "string",
  • "id": "string"
}

Delete a HAProxy email mailer

path Parameters
id
required
string

Responses

Response samples

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

Get HAProxy backend pools

Responses

Response samples

Content type
application/json
{
  • "pools": [
    ],
  • "transparent_interface_options": [
    ],
  • "ssl_server_ca_options": [
    ],
  • "ssl_server_crl_options": [
    ],
  • "ssl_server_clientcert_options": [
    ]
}

Create a new HAProxy backend pool

Request Body schema: application/json
required
name
string

Name

Unique name for this backend pool. Referenced by frontends and actions.

balance
string

Balance Algorithm (roundrobin, static-rr, leastconn, source, uri, url_param, hdr, random, rdp-cookie)

Load balancing algorithm used to select a server for each connection.

  • roundrobin: Weighted round-robin, servers are used in turns
  • static-rr: Static round-robin, does not support weight changes at runtime
  • leastconn: Route to the server with the fewest connections
  • source: Hash the source IP for consistent server mapping
  • uri: Hash the URI for consistent routing of same URLs
  • url_param: Hash a URL parameter value
  • hdr: Hash an HTTP header value
  • random: Random server selection
  • rdp-cookie: Hash the RDP cookie for RDP session persistence
balance_urilen
string

URI Balance Length

Maximum URI length to consider for URI-based hashing.

balance_uridepth
string

URI Balance Depth

Maximum directory depth to consider for URI-based hashing.

balance_uriwhole
boolean

Whole URI

Hash the entire URI including query string instead of path only.

transparent_clientip
boolean

Transparent Client IP

Enable transparent proxy mode using the client's source IP.

transparent_interface
string

Transparent Interface

Interface to use for transparent proxy mode.

check_type
string

Health Check Type (none, Basic, HTTP, LDAP, MySQL, PostgreSQL, Redis, SMTP, ESMTP, SSL, Agent)

Type of health check to perform on backend servers.

  • none: No health checks
  • Basic: TCP connection check
  • HTTP: HTTP request check
  • LDAP/MySQL/PostgreSQL/Redis: Protocol-specific check
  • SMTP/ESMTP: Mail server check
  • SSL: SSL connection check
  • Agent: External agent check
checkinter
string

Check Interval

Interval between health checks in milliseconds. (Default: 1000)

log_health_checks
boolean

Log Health Checks

Log health check status changes to syslog.

httpcheck_method
string

HTTP Check Method (OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE)

HTTP method to use for HTTP health checks. (Default: OPTIONS)

monitor_uri
string

Monitor URI

URI path to request for HTTP health checks. (Default: /)

monitor_httpversion
string

Monitor HTTP Version

HTTP version string to use in health check requests. (Default: HTTP/1.0)

monitor_username
string

Monitor Username

Username for MySQL/PostgreSQL health check authentication.

monitor_domain
string

Monitor Domain

Domain name for SMTP/ESMTP health check HELO command.

monitor_agentport
string

Agent Check Port

Port to use for agent health checks.

agent_check
boolean

Enable Agent Check

Enable an auxiliary agent-based health check in addition to the primary check.

agent_port
string

Agent Port

Port for the auxiliary agent check.

agent_inter
string

Agent Check Interval

Interval between agent checks in milliseconds.

connection_timeout
string

Connection Timeout

Maximum time to wait for a connection to a backend server, in milliseconds.

server_timeout
string

Server Timeout

Maximum time to wait for a response from a backend server, in milliseconds.

retries
string

Retries

Number of connection retry attempts after a failure. (Default: 3)

persist_cookie_enabled
boolean

Cookie Persistence

Enable cookie-based session persistence.

persist_cookie_name
string

Cookie Name

Name of the persistence cookie.

persist_cookie_mode
string

Cookie Mode (passive, passive-silent, reset, set, set-silent, insert-only, insert-only-silent, session-prefix, passive-session-prefix)

How the persistence cookie is managed.

  • passive: Read existing cookies, do not set new ones
  • insert-only: Insert a cookie if none exists
  • set: Always set the cookie
persist_cookie_cachable
boolean

Cookie Cacheable

Allow caching of responses with persistence cookies.

persist_cookie_postonly
boolean

Cookie POST Only

Only set the persistence cookie on POST responses.

persist_cookie_httponly
boolean

Cookie HttpOnly

Set the HttpOnly flag on the persistence cookie.

persist_cookie_secure
boolean

Cookie Secure

Set the Secure flag on the persistence cookie.

haproxy_cookie_maxidle
string

Cookie Max Idle

Maximum idle time for the persistence cookie.

haproxy_cookie_maxlife
string

Cookie Max Life

Maximum lifetime for the persistence cookie.

haproxy_cookie_domains
string

Cookie Domains

Domain(s) to set on the persistence cookie.

haproxy_cookie_dynamic_cookie_key
string

Dynamic Cookie Key

Secret key for dynamic cookie value generation.

persist_sticky_type
string

Sticky Table Type (none, stick_sslsessionid, stick_sourceipv4, stick_sourceipv6, stick_cookie_value, stick_rdp_cookie)

Type of stick-table persistence to use.

  • none: No stick-table persistence
  • stick_sslsessionid: Persist by SSL session ID
  • stick_sourceipv4: Persist by client IPv4 address
  • stick_sourceipv6: Persist by client IPv6 address
  • stick_cookie_value: Persist by cookie value
  • stick_rdp_cookie: Persist by RDP cookie
persist_stick_expire
string

Stick Table Expiration

Time after which idle entries are removed from the stick table.

persist_stick_tablesize
string

Stick Table Size

Maximum number of entries in the stick table (e.g. 50k, 10m).

persist_stick_length
string

Stick Pattern Length

Maximum length of the stick pattern.

persist_stick_cookiename
string

Stick Cookie Name

Cookie name for cookie-value based stick-table persistence.

stats_enabled
boolean

Enable Statistics

Enable the HAProxy statistics page for this backend.

stats_username
string

Stats Username

Username for HTTP basic authentication on the statistics page.

stats_password
string

Stats Password

Password for HTTP basic authentication on the statistics page.

stats_uri
string

Stats URI

URI path for the statistics page. (Default: /)

stats_scope
string

Stats Scope

Restrict the stats page to specific backends (comma-separated names).

stats_realm
string

Stats Realm

HTTP authentication realm for the statistics page.

stats_admin
string

Stats Admin

ACL expression to enable admin mode on the statistics page.

stats_node
string

Stats Node

Node name displayed on the statistics page.

stats_desc
string

Stats Description

Description shown on the statistics page.

stats_refresh
string

Stats Refresh

Auto-refresh interval for the statistics page in seconds.

strict_transport_security
string

HSTS Header

Strict-Transport-Security header value (e.g. max-age=31536000).

cookie_attribute_secure
boolean

Cookie Protection

Set "secure" attribute on cookies (only used on "http" frontends).

email_level
string

Email Alert Level (emerg, alert, crit, err, warning, notice, info, debug)

Minimum severity level for email notifications for this backend.

email_to
string

Email To

Recipient email address for alerts from this backend.

Array of objects (HaproxyServer)
Array of objects (HaproxyAcl)
Array of objects (HaproxyAction)
Array of objects (HaproxyErrorFile)
advanced
string

Advanced Frontend Pass Thru

Base64-encoded raw configuration for the frontend-like section of this backend.

advanced_backend
string

Advanced Backend Pass Thru

Base64-encoded raw configuration appended to this backend section.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "balance": "string",
  • "balance_urilen": "string",
  • "balance_uridepth": "string",
  • "balance_uriwhole": true,
  • "transparent_clientip": true,
  • "transparent_interface": "string",
  • "check_type": "string",
  • "checkinter": "string",
  • "log_health_checks": true,
  • "httpcheck_method": "string",
  • "monitor_uri": "string",
  • "monitor_httpversion": "string",
  • "monitor_username": "string",
  • "monitor_domain": "string",
  • "monitor_agentport": "string",
  • "agent_check": true,
  • "agent_port": "string",
  • "agent_inter": "string",
  • "connection_timeout": "string",
  • "server_timeout": "string",
  • "retries": "string",
  • "persist_cookie_enabled": true,
  • "persist_cookie_name": "string",
  • "persist_cookie_mode": "string",
  • "persist_cookie_cachable": true,
  • "persist_cookie_postonly": true,
  • "persist_cookie_httponly": true,
  • "persist_cookie_secure": true,
  • "haproxy_cookie_maxidle": "string",
  • "haproxy_cookie_maxlife": "string",
  • "haproxy_cookie_domains": "string",
  • "haproxy_cookie_dynamic_cookie_key": "string",
  • "persist_sticky_type": "string",
  • "persist_stick_expire": "string",
  • "persist_stick_tablesize": "string",
  • "persist_stick_length": "string",
  • "persist_stick_cookiename": "string",
  • "stats_enabled": true,
  • "stats_username": "string",
  • "stats_password": "string",
  • "stats_uri": "string",
  • "stats_scope": "string",
  • "stats_realm": "string",
  • "stats_admin": "string",
  • "stats_node": "string",
  • "stats_desc": "string",
  • "stats_refresh": "string",
  • "strict_transport_security": "string",
  • "cookie_attribute_secure": true,
  • "email_level": "string",
  • "email_to": "string",
  • "ha_servers": [
    ],
  • "a_acl": [
    ],
  • "a_actionitems": [
    ],
  • "errorfiles": [
    ],
  • "advanced": "string",
  • "advanced_backend": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "balance": "string",
  • "balance_urilen": "string",
  • "balance_uridepth": "string",
  • "balance_uriwhole": true,
  • "transparent_clientip": true,
  • "transparent_interface": "string",
  • "check_type": "string",
  • "checkinter": "string",
  • "log_health_checks": true,
  • "httpcheck_method": "string",
  • "monitor_uri": "string",
  • "monitor_httpversion": "string",
  • "monitor_username": "string",
  • "monitor_domain": "string",
  • "monitor_agentport": "string",
  • "agent_check": true,
  • "agent_port": "string",
  • "agent_inter": "string",
  • "connection_timeout": "string",
  • "server_timeout": "string",
  • "retries": "string",
  • "persist_cookie_enabled": true,
  • "persist_cookie_name": "string",
  • "persist_cookie_mode": "string",
  • "persist_cookie_cachable": true,
  • "persist_cookie_postonly": true,
  • "persist_cookie_httponly": true,
  • "persist_cookie_secure": true,
  • "haproxy_cookie_maxidle": "string",
  • "haproxy_cookie_maxlife": "string",
  • "haproxy_cookie_domains": "string",
  • "haproxy_cookie_dynamic_cookie_key": "string",
  • "persist_sticky_type": "string",
  • "persist_stick_expire": "string",
  • "persist_stick_tablesize": "string",
  • "persist_stick_length": "string",
  • "persist_stick_cookiename": "string",
  • "stats_enabled": true,
  • "stats_username": "string",
  • "stats_password": "string",
  • "stats_uri": "string",
  • "stats_scope": "string",
  • "stats_realm": "string",
  • "stats_admin": "string",
  • "stats_node": "string",
  • "stats_desc": "string",
  • "stats_refresh": "string",
  • "strict_transport_security": "string",
  • "cookie_attribute_secure": true,
  • "email_level": "string",
  • "email_to": "string",
  • "ha_servers": [
    ],
  • "a_acl": [
    ],
  • "a_actionitems": [
    ],
  • "errorfiles": [
    ],
  • "advanced": "string",
  • "advanced_backend": "string",
  • "id": "string"
}

Update an existing HAProxy backend pool

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

Name

Unique name for this backend pool. Referenced by frontends and actions.

balance
string

Balance Algorithm (roundrobin, static-rr, leastconn, source, uri, url_param, hdr, random, rdp-cookie)

Load balancing algorithm used to select a server for each connection.

  • roundrobin: Weighted round-robin, servers are used in turns
  • static-rr: Static round-robin, does not support weight changes at runtime
  • leastconn: Route to the server with the fewest connections
  • source: Hash the source IP for consistent server mapping
  • uri: Hash the URI for consistent routing of same URLs
  • url_param: Hash a URL parameter value
  • hdr: Hash an HTTP header value
  • random: Random server selection
  • rdp-cookie: Hash the RDP cookie for RDP session persistence
balance_urilen
string

URI Balance Length

Maximum URI length to consider for URI-based hashing.

balance_uridepth
string

URI Balance Depth

Maximum directory depth to consider for URI-based hashing.

balance_uriwhole
boolean

Whole URI

Hash the entire URI including query string instead of path only.

transparent_clientip
boolean

Transparent Client IP

Enable transparent proxy mode using the client's source IP.

transparent_interface
string

Transparent Interface

Interface to use for transparent proxy mode.

check_type
string

Health Check Type (none, Basic, HTTP, LDAP, MySQL, PostgreSQL, Redis, SMTP, ESMTP, SSL, Agent)

Type of health check to perform on backend servers.

  • none: No health checks
  • Basic: TCP connection check
  • HTTP: HTTP request check
  • LDAP/MySQL/PostgreSQL/Redis: Protocol-specific check
  • SMTP/ESMTP: Mail server check
  • SSL: SSL connection check
  • Agent: External agent check
checkinter
string

Check Interval

Interval between health checks in milliseconds. (Default: 1000)

log_health_checks
boolean

Log Health Checks

Log health check status changes to syslog.

httpcheck_method
string

HTTP Check Method (OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE)

HTTP method to use for HTTP health checks. (Default: OPTIONS)

monitor_uri
string

Monitor URI

URI path to request for HTTP health checks. (Default: /)

monitor_httpversion
string

Monitor HTTP Version

HTTP version string to use in health check requests. (Default: HTTP/1.0)

monitor_username
string

Monitor Username

Username for MySQL/PostgreSQL health check authentication.

monitor_domain
string

Monitor Domain

Domain name for SMTP/ESMTP health check HELO command.

monitor_agentport
string

Agent Check Port

Port to use for agent health checks.

agent_check
boolean

Enable Agent Check

Enable an auxiliary agent-based health check in addition to the primary check.

agent_port
string

Agent Port

Port for the auxiliary agent check.

agent_inter
string

Agent Check Interval

Interval between agent checks in milliseconds.

connection_timeout
string

Connection Timeout

Maximum time to wait for a connection to a backend server, in milliseconds.

server_timeout
string

Server Timeout

Maximum time to wait for a response from a backend server, in milliseconds.

retries
string

Retries

Number of connection retry attempts after a failure. (Default: 3)

persist_cookie_enabled
boolean

Cookie Persistence

Enable cookie-based session persistence.

persist_cookie_name
string

Cookie Name

Name of the persistence cookie.

persist_cookie_mode
string

Cookie Mode (passive, passive-silent, reset, set, set-silent, insert-only, insert-only-silent, session-prefix, passive-session-prefix)

How the persistence cookie is managed.

  • passive: Read existing cookies, do not set new ones
  • insert-only: Insert a cookie if none exists
  • set: Always set the cookie
persist_cookie_cachable
boolean

Cookie Cacheable

Allow caching of responses with persistence cookies.

persist_cookie_postonly
boolean

Cookie POST Only

Only set the persistence cookie on POST responses.

persist_cookie_httponly
boolean

Cookie HttpOnly

Set the HttpOnly flag on the persistence cookie.

persist_cookie_secure
boolean

Cookie Secure

Set the Secure flag on the persistence cookie.

haproxy_cookie_maxidle
string

Cookie Max Idle

Maximum idle time for the persistence cookie.

haproxy_cookie_maxlife
string

Cookie Max Life

Maximum lifetime for the persistence cookie.

haproxy_cookie_domains
string

Cookie Domains

Domain(s) to set on the persistence cookie.

haproxy_cookie_dynamic_cookie_key
string

Dynamic Cookie Key

Secret key for dynamic cookie value generation.

persist_sticky_type
string

Sticky Table Type (none, stick_sslsessionid, stick_sourceipv4, stick_sourceipv6, stick_cookie_value, stick_rdp_cookie)

Type of stick-table persistence to use.

  • none: No stick-table persistence
  • stick_sslsessionid: Persist by SSL session ID
  • stick_sourceipv4: Persist by client IPv4 address
  • stick_sourceipv6: Persist by client IPv6 address
  • stick_cookie_value: Persist by cookie value
  • stick_rdp_cookie: Persist by RDP cookie
persist_stick_expire
string

Stick Table Expiration

Time after which idle entries are removed from the stick table.

persist_stick_tablesize
string

Stick Table Size

Maximum number of entries in the stick table (e.g. 50k, 10m).

persist_stick_length
string

Stick Pattern Length

Maximum length of the stick pattern.

persist_stick_cookiename
string

Stick Cookie Name

Cookie name for cookie-value based stick-table persistence.

stats_enabled
boolean

Enable Statistics

Enable the HAProxy statistics page for this backend.

stats_username
string

Stats Username

Username for HTTP basic authentication on the statistics page.

stats_password
string

Stats Password

Password for HTTP basic authentication on the statistics page.

stats_uri
string

Stats URI

URI path for the statistics page. (Default: /)

stats_scope
string

Stats Scope

Restrict the stats page to specific backends (comma-separated names).

stats_realm
string

Stats Realm

HTTP authentication realm for the statistics page.

stats_admin
string

Stats Admin

ACL expression to enable admin mode on the statistics page.

stats_node
string

Stats Node

Node name displayed on the statistics page.

stats_desc
string

Stats Description

Description shown on the statistics page.

stats_refresh
string

Stats Refresh

Auto-refresh interval for the statistics page in seconds.

strict_transport_security
string

HSTS Header

Strict-Transport-Security header value (e.g. max-age=31536000).

cookie_attribute_secure
boolean

Cookie Protection

Set "secure" attribute on cookies (only used on "http" frontends).

email_level
string

Email Alert Level (emerg, alert, crit, err, warning, notice, info, debug)

Minimum severity level for email notifications for this backend.

email_to
string

Email To

Recipient email address for alerts from this backend.

Array of objects (HaproxyServer)
Array of objects (HaproxyAcl)
Array of objects (HaproxyAction)
Array of objects (HaproxyErrorFile)
advanced
string

Advanced Frontend Pass Thru

Base64-encoded raw configuration for the frontend-like section of this backend.

advanced_backend
string

Advanced Backend Pass Thru

Base64-encoded raw configuration appended to this backend section.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "balance": "string",
  • "balance_urilen": "string",
  • "balance_uridepth": "string",
  • "balance_uriwhole": true,
  • "transparent_clientip": true,
  • "transparent_interface": "string",
  • "check_type": "string",
  • "checkinter": "string",
  • "log_health_checks": true,
  • "httpcheck_method": "string",
  • "monitor_uri": "string",
  • "monitor_httpversion": "string",
  • "monitor_username": "string",
  • "monitor_domain": "string",
  • "monitor_agentport": "string",
  • "agent_check": true,
  • "agent_port": "string",
  • "agent_inter": "string",
  • "connection_timeout": "string",
  • "server_timeout": "string",
  • "retries": "string",
  • "persist_cookie_enabled": true,
  • "persist_cookie_name": "string",
  • "persist_cookie_mode": "string",
  • "persist_cookie_cachable": true,
  • "persist_cookie_postonly": true,
  • "persist_cookie_httponly": true,
  • "persist_cookie_secure": true,
  • "haproxy_cookie_maxidle": "string",
  • "haproxy_cookie_maxlife": "string",
  • "haproxy_cookie_domains": "string",
  • "haproxy_cookie_dynamic_cookie_key": "string",
  • "persist_sticky_type": "string",
  • "persist_stick_expire": "string",
  • "persist_stick_tablesize": "string",
  • "persist_stick_length": "string",
  • "persist_stick_cookiename": "string",
  • "stats_enabled": true,
  • "stats_username": "string",
  • "stats_password": "string",
  • "stats_uri": "string",
  • "stats_scope": "string",
  • "stats_realm": "string",
  • "stats_admin": "string",
  • "stats_node": "string",
  • "stats_desc": "string",
  • "stats_refresh": "string",
  • "strict_transport_security": "string",
  • "cookie_attribute_secure": true,
  • "email_level": "string",
  • "email_to": "string",
  • "ha_servers": [
    ],
  • "a_acl": [
    ],
  • "a_actionitems": [
    ],
  • "errorfiles": [
    ],
  • "advanced": "string",
  • "advanced_backend": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "balance": "string",
  • "balance_urilen": "string",
  • "balance_uridepth": "string",
  • "balance_uriwhole": true,
  • "transparent_clientip": true,
  • "transparent_interface": "string",
  • "check_type": "string",
  • "checkinter": "string",
  • "log_health_checks": true,
  • "httpcheck_method": "string",
  • "monitor_uri": "string",
  • "monitor_httpversion": "string",
  • "monitor_username": "string",
  • "monitor_domain": "string",
  • "monitor_agentport": "string",
  • "agent_check": true,
  • "agent_port": "string",
  • "agent_inter": "string",
  • "connection_timeout": "string",
  • "server_timeout": "string",
  • "retries": "string",
  • "persist_cookie_enabled": true,
  • "persist_cookie_name": "string",
  • "persist_cookie_mode": "string",
  • "persist_cookie_cachable": true,
  • "persist_cookie_postonly": true,
  • "persist_cookie_httponly": true,
  • "persist_cookie_secure": true,
  • "haproxy_cookie_maxidle": "string",
  • "haproxy_cookie_maxlife": "string",
  • "haproxy_cookie_domains": "string",
  • "haproxy_cookie_dynamic_cookie_key": "string",
  • "persist_sticky_type": "string",
  • "persist_stick_expire": "string",
  • "persist_stick_tablesize": "string",
  • "persist_stick_length": "string",
  • "persist_stick_cookiename": "string",
  • "stats_enabled": true,
  • "stats_username": "string",
  • "stats_password": "string",
  • "stats_uri": "string",
  • "stats_scope": "string",
  • "stats_realm": "string",
  • "stats_admin": "string",
  • "stats_node": "string",
  • "stats_desc": "string",
  • "stats_refresh": "string",
  • "strict_transport_security": "string",
  • "cookie_attribute_secure": true,
  • "email_level": "string",
  • "email_to": "string",
  • "ha_servers": [
    ],
  • "a_acl": [
    ],
  • "a_actionitems": [
    ],
  • "errorfiles": [
    ],
  • "advanced": "string",
  • "advanced_backend": "string",
  • "id": "string"
}

Delete a HAProxy backend pool

path Parameters
id
required
string

Responses

Response samples

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

Get HAProxy DNS resolvers

Responses

Response samples

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

Create a new HAProxy DNS resolver

Request Body schema: application/json
required
name
string

Resolver Name

Unique name for this DNS resolver entry.

server
string

DNS Server

IP address of the DNS server.

port
string

DNS Port

TCP/UDP port of the DNS server. (Default: 53)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "server": "string",
  • "port": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "server": "string",
  • "port": "string",
  • "id": "string"
}

Update an existing HAProxy DNS resolver

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

Resolver Name

Unique name for this DNS resolver entry.

server
string

DNS Server

IP address of the DNS server.

port
string

DNS Port

TCP/UDP port of the DNS server. (Default: 53)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "server": "string",
  • "port": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "server": "string",
  • "port": "string",
  • "id": "string"
}

Delete a HAProxy DNS resolver

path Parameters
id
required
string

Responses

Response samples

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

Get HAProxy DNS resolver statistics for the (single) globalresolvers section

Responses

Response samples

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

Start, stop, or restart the HAProxy service via rc.d

Request Body schema: application/json
required
action
string

(start, stop, restart) action to perform on the haproxy service

Responses

Request samples

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

Response samples

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

Get the current HAProxy service status (running or stopped)

Responses

Response samples

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

Get HAProxy active client sessions

Responses

Response samples

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

Get live HAProxy frontend/backend/server statistics

Responses

Response samples

Content type
application/json
{
  • "frontends": [
    ],
  • "backends": [
    ],
  • "servers": [
    ]
}

Get HAProxy stick-tables (size and usage)

Responses

Response samples

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

Run Nmap scan

Request Body schema: application/json
required
hostnames
string

Space-separated target IP addresses, hostnames, ranges, or networks to scan

scan_type
string

Scan type (syn, connect, ack, window, udp, icmp, arp, ipscan, sctpinit, sctpecho, listscan)

iface
string

Interface friendly name to use as the source interface

udp_scan
boolean

Combine UDP scan (-sU) with a TCP scan method

no_ping
boolean

Treat all hosts as online, skip host discovery (-Pn)

service_version
boolean

Attempt to identify service versions (-sV)

os_detect
boolean

Enable operating system detection (-O)

exclude_hosts
string

Comma-separated IP addresses, hostnames, or ranges to exclude from scan

ports
string

Port specification in nmap -p format (e.g. 22,80,443 or T:21-25,80,U:53)

top_ports
integer

Only scan the N most common ports (1-65535)

no_dns
boolean

Disable DNS resolution (-n)

traceroute
boolean

Trace hop path to each host (--traceroute)

Responses

Request samples

Content type
application/json
{
  • "hostnames": "string",
  • "scan_type": "string",
  • "iface": "string",
  • "udp_scan": true,
  • "no_ping": true,
  • "service_version": true,
  • "os_detect": true,
  • "exclude_hosts": "string",
  • "ports": "string",
  • "top_ports": 0,
  • "no_dns": true,
  • "traceroute": true
}

Response samples

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

Get Nmap supported interfaces

Responses

Response samples

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

Get ntopng settings

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "keepdata": true,
  • "redis_password": "string",
  • "redis_passwordagain": "string",
  • "server_interface": "string",
  • "server_ipv4": true,
  • "server_ipv6": true,
  • "interface_array": [
    ],
  • "promiscuous": true,
  • "dns_mode": "string",
  • "local_nets": [
    ],
  • "custom_config": "string",
  • "maxmind_account": "string",
  • "maxmind_key": "string",
  • "delete_data": true,
  • "reset_ntopng": true,
  • "update_geodb": true,
  • "server_interface_options": [
    ],
  • "interface_array_options": [
    ]
}

Update ntopng settings

Request Body schema: application/json
required
enable
boolean

Enable ntopng

Check this to enable ntopng.

keepdata
boolean

Keep Data/Settings Note: If disabled, all settings and data will be wiped on package uninstall/reinstall/upgrade!

Keep ntopng settings, graphs and traffic data.

redis_password
string

ntopng Admin Password

Enter the password for the ntopng admin user. Minimum 5 characters.

redis_passwordagain
string

Confirm ntopng Admin Password

server_interface
string

(HTTP(S) Server Options) Server Interface

Interface for the ntopng http(s) server to listen on.

server_ipv4
boolean

(HTTP(S) Server Options) Server IPv4

Enable listening on IPv4. Note that ntopng currently allows IPv4 or IPv6, but not both.

server_ipv6
boolean

(HTTP(S) Server Options) Server IPv6

Enable listening on IPv6. This setting is currently ignored if IPv4 is enabled.

interface_array
Array of strings
promiscuous
boolean

(Monitoring Options) Promiscuous Mode

Enable promiscuous mode on all monitored interfaces.

dns_mode
string

(Monitoring Options) DNS Mode (0, 1, 2, 3)

Configures how name resolution is handled.

Array of objects (NtopngLocalnet)
custom_config
string

(Advanced configuration) Additional configuration for ntopng.conf

Additional configuration lines to be added directly to the ntopng configuration file. Each option must be on a separate line and in the form of --key=value See https://www.ntop.org/guides/ntopng/cli_options/cli_options_example.html "Configruation File Example" in the ntopng guide for configuration file syntax. See https://www.ntop.org/guides/ntopng/cli_options/cli_options.html "Command Line Options" in the guide for all available options.

maxmind_account
string

(Geolocation support) GeoLite2 Account ID

maxmind_key
string

(Geolocation support) GeoLite2 License Key

GeoLite2 provides location information about IP addresses. To utilize the free MaxMind GeoLite2 GeoIP functionality, you must register for a free MaxMind user account

delete_data
boolean

Delete ntopng traffic data and alerts (useful if you are running out of disk space).

reset_ntopng
boolean

Delete all ntopng data and perform a complete reset of ntopng configuration.

update_geodb
boolean

Update the Geolocation database from the maxmind account

Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "keepdata": true,
  • "redis_password": "string",
  • "redis_passwordagain": "string",
  • "server_interface": "string",
  • "server_ipv4": true,
  • "server_ipv6": true,
  • "interface_array": [
    ],
  • "promiscuous": true,
  • "dns_mode": "string",
  • "local_nets": [
    ],
  • "custom_config": "string",
  • "maxmind_account": "string",
  • "maxmind_key": "string",
  • "delete_data": true,
  • "reset_ntopng": true,
  • "update_geodb": true,
  • "server_interface_options": [
    ],
  • "interface_array_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "keepdata": true,
  • "redis_password": "string",
  • "redis_passwordagain": "string",
  • "server_interface": "string",
  • "server_ipv4": true,
  • "server_ipv6": true,
  • "interface_array": [
    ],
  • "promiscuous": true,
  • "dns_mode": "string",
  • "local_nets": [
    ],
  • "custom_config": "string",
  • "maxmind_account": "string",
  • "maxmind_key": "string",
  • "delete_data": true,
  • "reset_ntopng": true,
  • "update_geodb": true,
  • "server_interface_options": [
    ],
  • "interface_array_options": [
    ]
}

get general PIMD configuration

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "interfacemode": "string",
  • "loglevel": "string",
  • "carpstatusvip": "string",
  • "default_route_distance": "string",
  • "default_route_metric": "string",
  • "igmp_query_interval": "string",
  • "igmp_querier_timeout": "string",
  • "hello_interval": "string",
  • "spt_type": "string",
  • "spt_value": "string",
  • "spt_interval": "string",
  • "carp_vip_options": [
    ]
}

Update general PIMD configuration

Request Body schema: application/json
required
enable
boolean

(Service Control) Enable

interfacemode
string

(Service Control) Default Bind (none, all)

Default interface binding behavior. Per-interface behavior can be set on the Interfaces tab.

loglevel
string

(Service Control) Log Level (none, error, warning, notice, info, debug)

Default Logging Level

carpstatusvip
string

(Service Control) CARP Status VIP

Used to determine the CARP status. When the CARP vhid is in BACKUP status, pimd will not be started.

default_route_distance
string

(General Settings) Default Route Distance

Default value for unicast routing protocol administrative distance. It is used in PIM Assert elections to determine upstream routers. The router advertising the lowest assert preference will be selected as the forwarder and upstream router for the LAN. (1-255, Default: 101)

default_route_metric
string

(General Settings) Default Route Metric

The default cost for sending data through this router. Only PIM-SM data should to go to this daemon; so a high value is recommended to prevent accidental usage. (1-1024, Default: 1024)

igmp_query_interval
string

(General Settings) IGMP Query Interval

The interval, in seconds, between IGMP queries when elected as querier. (1-65535, Default: 12)

igmp_querier_timeout
string

(General Settings) IGMP Querier Timeout

The timeout, in seconds, after which PIMD will take over for a failed elected querier. (8-65535, Default: 42)

hello_interval
string

(General Settings) Hello Interval

The interval, in seconds, between PIM Hello messages sent by pimd. This value also affects the Hold Time, which is 3.5x this value. (30-18724, Default: 30)

spt_type
string

(Tree Switch Threshold) Threshold Type (default, rate, packets, infinity)

Type of check to perform when making SPT decisions.

spt_value
string

(Tree Switch Threshold) Threshold Value

When Threshold Type is set to Rate, this value is a rate in Kbit/s. When set to Packets, this value is a specific number of packets. When set to Default or Infinity, this value is ignored.

spt_interval
string

(Tree Switch Threshold) SPT Interval

The interval, in seconds, after which PIMD will switch from the shared tree to the shortest-path source tree. (Default: 100)

Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "interfacemode": "string",
  • "loglevel": "string",
  • "carpstatusvip": "string",
  • "default_route_distance": "string",
  • "default_route_metric": "string",
  • "igmp_query_interval": "string",
  • "igmp_querier_timeout": "string",
  • "hello_interval": "string",
  • "spt_type": "string",
  • "spt_value": "string",
  • "spt_interval": "string",
  • "carp_vip_options": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "interfacemode": "string",
  • "loglevel": "string",
  • "carpstatusvip": "string",
  • "default_route_distance": "string",
  • "default_route_metric": "string",
  • "igmp_query_interval": "string",
  • "igmp_querier_timeout": "string",
  • "hello_interval": "string",
  • "spt_type": "string",
  • "spt_value": "string",
  • "spt_interval": "string",
  • "carp_vip_options": [
    ]
}

Get PIMD RP address list

Responses

Response samples

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

Create a new PIMD RP address

Request Body schema: application/json
required
address
string

RP Address

Static rendezvous point (RP) for a given group, or range or groups, to bypass elections. May be a unicast address or multicast group. All static RP entries are advertised with a priority of 1.

descr
string

Description

mcgroup
string

Multicast Group

Optional group address and prefix for this static RP. Default group is 224.0.0.0/16.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "descr": "string",
  • "mcgroup": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "descr": "string",
  • "mcgroup": "string",
  • "id": "string"
}

Modify an existing PIMD RP address

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

RP Address

Static rendezvous point (RP) for a given group, or range or groups, to bypass elections. May be a unicast address or multicast group. All static RP entries are advertised with a priority of 1.

descr
string

Description

mcgroup
string

Multicast Group

Optional group address and prefix for this static RP. Default group is 224.0.0.0/16.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "descr": "string",
  • "mcgroup": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "descr": "string",
  • "mcgroup": "string",
  • "id": "string"
}

Delete a PIMD RP address

path Parameters
id
required
string

Responses

Response samples

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

Get PIMD BSR candidate list

Responses

Response samples

Content type
application/json
{
  • "candidates": [
    ],
  • "intf_options": [
    ]
}

Create a new PIMD BSR candidate

Request Body schema: application/json
required
intf_ident
string

Interface

The interface or address on which to enable Bootstrap Router (BSR) candidate election participation. When set to "default", the feature is enabled without a specific interface, which will default to the highest available IP address.

descr
string

Description

priority
string

Priority

Priority of this router when electing a BSR. Higher values are preferred by participating routers. (0-255, Default: 0)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "id": "string"
}

Modify an existing PIMD BSR candidate

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

Interface

The interface or address on which to enable Bootstrap Router (BSR) candidate election participation. When set to "default", the feature is enabled without a specific interface, which will default to the highest available IP address.

descr
string

Description

priority
string

Priority

Priority of this router when electing a BSR. Higher values are preferred by participating routers. (0-255, Default: 0)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "id": "string"
}

Delete a PIMD BSR candidate

path Parameters
id
required
string

Responses

Response samples

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

Get PIMD interfaces configuration

Responses

Response samples

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

Create a new PIMD interface configuration

Request Body schema: application/json
required
intf_ident
string

(Interface Options) Interface

Select the interface or address to bind. Multiple entries may be added for the same interface to specify multiple values for items such as Alternative Networks and Multicast Scope. Note: A firewall rule with enabled advanced option 'Allow IP options' must exist to allow multicast traffic.

descr
string

(Interface Options) Description

binding
string

(Interface Options) Interface Binding (default, enable, disable)

Binding behavior for this interface. Combines with Default Bind setting on the General tab to determine whether or not this interface will be used by PIMD.

igmpversion
string

(Interface Options) IGMP Version (default, 3, 2)

The IGMP version to use on this interface.

dr_priority
string

(Interface Options) DR Priority

Priority to use for Designated Router (DR) election. Highest advertised priority wins the election. Ties are given to the router with the highest IP address in the subnet. (1-4294967294, Default: 1)

ttl_threshold
string

(Interface Options) TTL Threshold

The TTL threshold for multicast frames to be forwarded from this interface. (1-255, Default: 1)

distance
string

(Interface Options) Route Distance

Default administrative distance for routes on this interface. Overrides the global Default Route Distance value. (1-255, Default: Default Route Distance on General tab)

metric
string

(Interface Options) Route Metric

Default metric for routes on this interface. Overrides the global Default Route Metric value. (1-1024, Default: Default Route Metric on General tab)

altnet
string

(Interface Options) Alternative Network

Alternative host or network to accept as a locally attached multicast source.

scoped
string

(Interface Options) Multicast Scope

Multicast streams belonging to this scoped group will not be forwarded. Allows interfaces to be configured as an administrative boundary for the specified group.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "binding": "string",
  • "igmpversion": "string",
  • "dr_priority": "string",
  • "ttl_threshold": "string",
  • "distance": "string",
  • "metric": "string",
  • "altnet": "string",
  • "scoped": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "binding": "string",
  • "igmpversion": "string",
  • "dr_priority": "string",
  • "ttl_threshold": "string",
  • "distance": "string",
  • "metric": "string",
  • "altnet": "string",
  • "scoped": "string",
  • "id": "string"
}

Modify an existing PIMD interface configuration

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

(Interface Options) Interface

Select the interface or address to bind. Multiple entries may be added for the same interface to specify multiple values for items such as Alternative Networks and Multicast Scope. Note: A firewall rule with enabled advanced option 'Allow IP options' must exist to allow multicast traffic.

descr
string

(Interface Options) Description

binding
string

(Interface Options) Interface Binding (default, enable, disable)

Binding behavior for this interface. Combines with Default Bind setting on the General tab to determine whether or not this interface will be used by PIMD.

igmpversion
string

(Interface Options) IGMP Version (default, 3, 2)

The IGMP version to use on this interface.

dr_priority
string

(Interface Options) DR Priority

Priority to use for Designated Router (DR) election. Highest advertised priority wins the election. Ties are given to the router with the highest IP address in the subnet. (1-4294967294, Default: 1)

ttl_threshold
string

(Interface Options) TTL Threshold

The TTL threshold for multicast frames to be forwarded from this interface. (1-255, Default: 1)

distance
string

(Interface Options) Route Distance

Default administrative distance for routes on this interface. Overrides the global Default Route Distance value. (1-255, Default: Default Route Distance on General tab)

metric
string

(Interface Options) Route Metric

Default metric for routes on this interface. Overrides the global Default Route Metric value. (1-1024, Default: Default Route Metric on General tab)

altnet
string

(Interface Options) Alternative Network

Alternative host or network to accept as a locally attached multicast source.

scoped
string

(Interface Options) Multicast Scope

Multicast streams belonging to this scoped group will not be forwarded. Allows interfaces to be configured as an administrative boundary for the specified group.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "binding": "string",
  • "igmpversion": "string",
  • "dr_priority": "string",
  • "ttl_threshold": "string",
  • "distance": "string",
  • "metric": "string",
  • "altnet": "string",
  • "scoped": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "binding": "string",
  • "igmpversion": "string",
  • "dr_priority": "string",
  • "ttl_threshold": "string",
  • "distance": "string",
  • "metric": "string",
  • "altnet": "string",
  • "scoped": "string",
  • "id": "string"
}

Delete a PIMD interface configuration

path Parameters
id
required
string

Responses

Response samples

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

Get PIMD RP candidate list

Responses

Response samples

Content type
application/json
{
  • "candidates": [
    ],
  • "intf_options": [
    ]
}

Create a new PIMD RP candidate

Request Body schema: application/json
required
intf_ident
string

Interface

The interface or address on which to enable Rendezvous Point (RP) candidate election participation. When set to "default", the feature is enabled without a specific interface, which will default to the highest available IP address.

descr
string

Description

priority
string

Priority

Priority of this router when electing an RP. Lower values are preferred by participating routers. (0-255, Default: 0)

time
string

Time

The number of seconds to wait between RP advertisements. Lower values allow for faster convergence. (10-16383, Default: 30)

group_prefixes
Array of strings
id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "time": "string",
  • "group_prefixes": [
    ],
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "time": "string",
  • "group_prefixes": [
    ],
  • "id": "string"
}

Modify an existing PIMD RP candidate

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

Interface

The interface or address on which to enable Rendezvous Point (RP) candidate election participation. When set to "default", the feature is enabled without a specific interface, which will default to the highest available IP address.

descr
string

Description

priority
string

Priority

Priority of this router when electing an RP. Lower values are preferred by participating routers. (0-255, Default: 0)

time
string

Time

The number of seconds to wait between RP advertisements. Lower values allow for faster convergence. (10-16383, Default: 30)

group_prefixes
Array of strings
id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "time": "string",
  • "group_prefixes": [
    ],
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "intf_ident": "string",
  • "descr": "string",
  • "priority": "string",
  • "time": "string",
  • "group_prefixes": [
    ],
  • "id": "string"
}

Delete a PIMD RP candidate

path Parameters
id
required
string

Responses

Response samples

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

Get PIMD status

Responses

Response samples

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

Get shellcmd entries

Responses

Response samples

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

Create a new shellcmd entry

Request Body schema: application/json
required
cmd
string

(Shellcmd Configuration) Command

Enter the command to run.

cmdtype
string

(Shellcmd Configuration) Shellcmd Type (shellcmd, earlyshellcmd, afterfilterchangeshellcmd, disabled)

shellcmd: Will run the command specified towards the end of the boot process. earlyshellcmd: Will run the command specified at the beginning of the boot process. afterfilterchangeshellcmd: Will run after each filter_configure() call. Note: Only one entry of this type can be configured! disabledWill save the command in package configuration but it will NOT run on boot.

See https://docs.netgate.com/pfsense/en/latest/development/boot-commands.html (Executing commands at boot time) for detailed explanation.

description
string

(Shellcmd Configuration) Description

Enter a description for this command. (This is for your reference only.)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "cmd": "string",
  • "cmdtype": "string",
  • "description": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "cmd": "string",
  • "cmdtype": "string",
  • "description": "string",
  • "id": "string"
}

Update an existing shellcmd entry

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

(Shellcmd Configuration) Command

Enter the command to run.

cmdtype
string

(Shellcmd Configuration) Shellcmd Type (shellcmd, earlyshellcmd, afterfilterchangeshellcmd, disabled)

shellcmd: Will run the command specified towards the end of the boot process. earlyshellcmd: Will run the command specified at the beginning of the boot process. afterfilterchangeshellcmd: Will run after each filter_configure() call. Note: Only one entry of this type can be configured! disabledWill save the command in package configuration but it will NOT run on boot.

See https://docs.netgate.com/pfsense/en/latest/development/boot-commands.html (Executing commands at boot time) for detailed explanation.

description
string

(Shellcmd Configuration) Description

Enter a description for this command. (This is for your reference only.)

id
string

(readonly) ID assigned to this entry

Responses

Request samples

Content type
application/json
{
  • "cmd": "string",
  • "cmdtype": "string",
  • "description": "string",
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "cmd": "string",
  • "cmdtype": "string",
  • "description": "string",
  • "id": "string"
}

Delete a shellcmd entry

path Parameters
id
required
string

Responses

Response samples

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

Get siproxd settings

Responses

Response samples

Content type
application/json
{
  • "sipenable": true,
  • "if_inbound": "string",
  • "if_outbound": "string",
  • "port": "string",
  • "hosts_allow_reg": "string",
  • "hosts_allow_sip": "string",
  • "hosts_deny_sip": "string",
  • "defaulttimeout": "string",
  • "ua_string": "string",
  • "use_rport": "string",
  • "tcp_timeout": "string",
  • "tcp_connect_timeout": "string",
  • "tcp_keepalive": "string",
  • "rtpenable": "string",
  • "rtplower": "string",
  • "rtpupper": "string",
  • "rtptimeout": "string",
  • "rtp_input_dejitter": "string",
  • "rtp_output_dejitter": "string",
  • "authentication": true,
  • "outboundproxyhost": "string",
  • "outboundproxyport": "string",
  • "expeditedsipforwarding": true,
  • "expeditedforwarding": true,
  • "plugin_defaulttarget": true,
  • "plugin_defaulttarget_target": "string",
  • "plugin_defaulttarget_log": true,
  • "plugin_fix_bogus_via": true,
  • "plugin_fix_bogus_via_networks": "string",
  • "plugin_stun": true,
  • "plugin_stun_server": "string",
  • "plugin_stun_port": "string",
  • "plugin_stun_period": "string",
  • "plugin_fix_dtag": true,
  • "plugin_fix_dtag_networks": "string",
  • "plugin_stripheader": true,
  • "plugin_stripheader_remove1": "string",
  • "plugin_stripheader_remove2": "string",
  • "plugin_stripheader_remove3": "string",
  • "plugin_codecfilter": true,
  • "plugin_codecfilter_blacklist1": "string",
  • "plugin_codecfilter_blacklist2": "string",
  • "plugin_codecfilter_blacklist3": "string",
  • "plugin_fix_fbox_anoncall": true,
  • "plugin_fix_fbox_anoncall_networks": "string",
  • "plugin_siptrunk": true,
  • "plugin_siptrunk_account": "string",
  • "plugin_siptrunk_numbers_regex": "string",
  • "debug_level": "string",
  • "debug_port": "string",
  • "if_inbound_options": [
    ],
  • "if_outbound_options": [
    ]
}

Update siproxd settings

Request Body schema: application/json
required
sipenable
boolean

Enable siproxd

if_inbound
string

Inbound Interface

Select the inbound interface.

if_outbound
string

Outbound Interface

Select the outbound interface.

port
string

(SIP Settings) Listening Port

Enter the port on which to listen for SIP traffic (default 5060). WARNING: Do not change this unless you know what you're doing.

hosts_allow_reg
string

(SIP Settings) Allow Registration from

List of etworks from which we accept registrations. Empty means, allow from everywhere. Note that registrations are ONLY allowed from INBOUND! (Default: allow all)

hosts_allow_sip
string

(SIP Settings) Allow SIP Traffic from

List of networks from which we accept SIP traffic. Empty means, allow from everywhere. (Default: allow all)

hosts_deny_sip
string

(SIP Settings) Deny SIP Traffic from

List of networks from which we deny SIP traffic. Empty means, no blocked networks. Note: The DENY list takes precedence over the ALLOW lists. (Default: no deny list)

defaulttimeout
string

(SIP Settings) Default Expiration Timeout

If a REGISTER request does not contain an Expires header or expires= parameter, this number of seconds will be used and reported back to the UA in the answer.

ua_string
string

(SIP Settings) User-Agent Masquerading Siproxd can masquerade the User Agent string of your local UAs. Useful for Providers that do not work with some specific UAs (e.g. sipcall.ch - it does not work if your outgoing SIP traffic contains an Asterisk UA string...). Default is to do no replacement.

Masquerade all User-Agent identifiers from local UAs with the string provided here. Empty means no substitution.

use_rport
string

(SIP Settings) Use ;rport in via header (0, 1, 2, 3)

Add a ;rport targ to Via headers.

May be required in some cases where you have a NAT router that remaps the source port 5060 to something different and the registrar sends back the responses to port 5060.

Options:

  • 0: Do not add ;rport to via Header
  • 1: Add ;rport to INCOMING via Header
  • 2: Add ;rport to OUTGOING via Header
  • 3: Add ;rport to OUTGOING and INCOMING via Headers
tcp_timeout
string

(SIP over TCP Settings) TCP Inactivity Timeout

Inactivity timeout (seconds). After that an idling TCP connection is disconnected. NOTE: Making this too short may cause multiple parallel registrations for the same phone. This timeout must be set larger than the used registration interval. Default: 600 sec

tcp_connect_timeout
string

(SIP over TCP Settings) TCP Connect Timeout

Defines how many msecs siproxd will wait for a successful connect when establishing an outgoing SIP signalling connection. This should be kept as short as possible as waiting for an TCP connection to establish is a BLOCKING operation - no other SIP messages are processed while waiting for a connect to succeed (RTP is not affected). Default: 500 msec

tcp_keepalive
string

(SIP over TCP Settings) TCP Keepalive

For TCP SIP signalling, if > 0 empty SIP packets will be sent every 'n' seconds to keep the connection alive. Default is off.

rtpenable
string

(RTP Settings) Enable RTP Proxy (1, 0)

1: Enable or, 0: Disable the RTP proxy.

Default is enabled.

rtplower
string

(RTP Settings) RTP Port Range (Lower)

Enter the bottom edge of the port range siproxd will allocate for incoming RTP traffic. This range must not be blocked by the firewall. (Default: 7070)

rtpupper
string

(RTP Settings) RTP Port Range (Upper)

Enter the top edge of the port range siproxd will allocate for incoming RTP traffic. This range must not be blocked by the firewall. (Default: 7079)

rtptimeout
string

(RTP Settings) RTP Stream Timeout

After this number of seconds, an RTP stream is considered dead and proxying it will be stopped. (Default: 300sec)

rtp_input_dejitter
string

(Dejittering Settings) Input Dejitter

Artificial delay to be used to de-jitter RTP data streams. This time is in microseconds. 0 - completely disable dejitter (default)

rtp_output_dejitter
string

(Dejittering Settings) Output Dejitter

Artificial delay to be used to de-jitter RTP data streams. This time is in microseconds. 0 - completely disable dejitter (default)

authentication
boolean

(Proxy Settings) Proxy Authentication If checked, clients will be forced to authenticate themselves at the proxy (for registration only).

Enable Proxy Authentication

outboundproxyhost
string

(Proxy Settings) Outbound Proxy Hostname

Enter the hostname of an outbound proxy to send all traffic to. This is only useful if you have multiple masquerading firewalls to cross.

outboundproxyport
string

(Proxy Settings) Outbound Proxy Port

Enter the port of the outbound proxy to send all traffic to. This is only useful if you have multiple masquerading firewalls to cross.

expeditedsipforwarding
boolean

(DSCP Settings) Expedited SIP Forwarding This service is designed to allow ISPs to offer a service with attributes similar to a "leased line". This service offers the ULTIMATE IN LOW LOSS, LOW LATENCY AND LOW JITTER by ensuring that there is always sufficient room in output queues for the contracted expedited forwarding traffic.

Enable DSCP tagging of SIP traffic

expeditedforwarding
boolean

(DSCP Settings) Expedited RTP Forwarding This service is designed to allow ISPs to offer a service with attributes similar to a "leased line". This service offers the ULTIMATE IN LOW LOSS, LOW LATENCY AND LOW JITTER by ensuring that there is always sufficient room in output queues for the contracted expedited forwarding traffic.

Enable DSCP tagging of RTP traffic

plugin_defaulttarget
boolean

(Plugin Settings - Default Target) Enable Default Target Plugin

Redirect unknown calls to a specified target.

plugin_defaulttarget_target
string

(Plugin Settings - Default Target) Default Target

Target must be a full SIP URI with the syntax sip:user@host[:port]

plugin_defaulttarget_log
boolean

(Plugin Settings - Default Target) Log Redirected Calls

Log redirected calls.

plugin_fix_bogus_via
boolean

(Plugin Settings - Fix bogus VIA Headers) Enable Bogus Via Plugin If enabled, incoming (from public network) SIP messages are checked for broken SIP Via headers. If the IP address in the latest Via Header is part of the list below, it will be replaced by the IP address where the SIP message has been received from.

Enable the Fix Bogus Via Plugin

plugin_fix_bogus_via_networks
string

(Plugin Settings - Fix bogus VIA Headers) Bogus Via Networks

Comma separated list of networks which should have their via headers rewritten. Example: 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

plugin_stun
boolean

(Plugin Settings - STUN) STUN Plugin Uses an external STUN server to determine the public IP address of siproxd. Useful for "in-front-of-NAT-router" scenarios.

Enable STUN Plugin

plugin_stun_server
string

(Plugin Settings - STUN) STUN Hostname

External STUN server hostname.

plugin_stun_port
string

(Plugin Settings - STUN) STUN Port

External STUN server port.

plugin_stun_period
string

(Plugin Settings - STUN) STUN Period

Period in seconds to request IP info from STUN server.

plugin_fix_dtag
boolean

(Plugin Settings - Fix DTAG) Enable fix_DTAG Plugin

Work around some issues with DTAG (Deutsche Telekom AG) as REGISTRAR.

plugin_fix_dtag_networks
string

(Plugin Settings - Fix DTAG) List of remote Networks to apply DTAG workaround

Comma separated list of networks where DTAG REGISTRARs are located. Example: 217.0.23.100/32

plugin_stripheader
boolean

(Plugin Settings - Strip Headers) Enable Strip Header Plugin

Unconditionally strip the specified SIP header from the packet.

plugin_stripheader_remove1
string

(Plugin Settings - Strip Headers) Header to remove (1)

Unconditionally strip the specified SIP header from the packet. May be used to workaround IP fragmentation by removing "unimportant" SIP headers - this is clearly a ugly hack but sometimes saves one from headache.

Format is <header>[:<value>], the :<value> part is optional - if not present the full header will be removed.

plugin_stripheader_remove2
string

(Plugin Settings - Strip Headers) Header to remove (2)

plugin_stripheader_remove3
string

(Plugin Settings - Strip Headers) Header to remove (3)

plugin_codecfilter
boolean

(Plugin Settings - Codec Filter) Enable Codec Filter Plugin

Removes blacklisted codecs from any passing SDP payload in both (incoming and outgoing) directions.

plugin_codecfilter_blacklist1
string

(Plugin Settings - Codec Filter) Codec to remove (1)

Removes blacklisted (plugin_codecfilter_blacklist) codecs from any passing SDP payload in both (incoming and outgoing) directions. This allows the proxy to force the exclusion of particular codecs in the negotiation between a local UA and a remote side. The match is done as case-insensitive substring match. The config string "726" would match the codecs "G726-32/800", "g726", etc.

plugin_codecfilter_blacklist2
string

(Plugin Settings - Codec Filter) Codec to remove (2)

plugin_codecfilter_blacklist3
string

(Plugin Settings - Codec Filter) Codec to remove (3)

plugin_fix_fbox_anoncall
boolean

(Plugin Settings - Fix Anonymous Calls on Fritzboxes) fix_fbox_anoncall Plugin Fixes incoming anonymous phone calls with local Fritzbox UAs

Enable fix_fbox_anoncall Plugin

plugin_fix_fbox_anoncall_networks
string

(Plugin Settings - Fix Anonymous Calls on Fritzboxes) Local Networks to apply workaround

Comma separated list of local networks which contain Fritzbox UAs that need fixing. Example: 192.168.0.0/16,10.0.0.0/8,172.16.0.0/20

plugin_siptrunk
boolean

(Plugin Settings - SIP Trunk) SIP Trunk Plugin to handle SIP Trunks where using one single SIP account to which a whole number block is routed. This means an incoming INVITE does carry the target number (in SIP URI or To: header field) but does not really carry any clear indications to which account it belongs to.

Enable SIP Trunk Plugin

plugin_siptrunk_account
string

(Plugin Settings - SIP Trunk) SIP account

SIP account in the form of 'sip:user@host', identical as used for registration.

plugin_siptrunk_numbers_regex
string

(Plugin Settings - SIP Trunk) REGEX number

Regular expression that matches the whole number block associated with this account. Example: ^555123(10[0-9]|11[012])$

debug_level
string

(Debug Options) Debug Level

options (flags):

  • 0x00000000: No Debug Info
  • 0x00000001: babble (like entering/leaving func)
  • 0x00000002: network
  • 0x00000004: SIP manipulations
  • 0x00000008: Client registration
  • 0x00000010: non specified class
  • 0x00000020: proxy
  • 0x00000040: DNS stuff
  • 0x00000080: network traffic
  • 0x00000100: configuration
  • 0x00000200: RTP proxy
  • 0x00000400: Access list evaluation
  • 0x00000800: Authentication
  • 0x00001000: Plugins
  • 0x00002000: RTP babble
  • -1 : Everything
debug_port
string

(Debug Options) TCP Debug Port

You may connect to this port from a remote machine and receive debug output. This allows better creation of debug output on embedded systems that do not have enough memory for large disk files. NOTE: Port number 0 means this feature is disabled.

Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "sipenable": true,
  • "if_inbound": "string",
  • "if_outbound": "string",
  • "port": "string",
  • "hosts_allow_reg": "string",
  • "hosts_allow_sip": "string",
  • "hosts_deny_sip": "string",
  • "defaulttimeout": "string",
  • "ua_string": "string",
  • "use_rport": "string",
  • "tcp_timeout": "string",
  • "tcp_connect_timeout": "string",
  • "tcp_keepalive": "string",
  • "rtpenable": "string",
  • "rtplower": "string",
  • "rtpupper": "string",
  • "rtptimeout": "string",
  • "rtp_input_dejitter": "string",
  • "rtp_output_dejitter": "string",
  • "authentication": true,
  • "outboundproxyhost": "string",
  • "outboundproxyport": "string",
  • "expeditedsipforwarding": true,
  • "expeditedforwarding": true,
  • "plugin_defaulttarget": true,
  • "plugin_defaulttarget_target": "string",
  • "plugin_defaulttarget_log": true,
  • "plugin_fix_bogus_via": true,
  • "plugin_fix_bogus_via_networks": "string",
  • "plugin_stun": true,
  • "plugin_stun_server": "string",
  • "plugin_stun_port": "string",
  • "plugin_stun_period": "string",
  • "plugin_fix_dtag": true,
  • "plugin_fix_dtag_networks": "string",
  • "plugin_stripheader": true,
  • "plugin_stripheader_remove1": "string",
  • "plugin_stripheader_remove2": "string",
  • "plugin_stripheader_remove3": "string",
  • "plugin_codecfilter": true,
  • "plugin_codecfilter_blacklist1": "string",
  • "plugin_codecfilter_blacklist2": "string",
  • "plugin_codecfilter_blacklist3": "string",
  • "plugin_fix_fbox_anoncall": true,
  • "plugin_fix_fbox_anoncall_networks": "string",
  • "plugin_siptrunk": true,
  • "plugin_siptrunk_account": "string",
  • "plugin_siptrunk_numbers_regex": "string",
  • "debug_level": "string",
  • "debug_port": "string",
  • "if_inbound_options": [
    ],
  • "if_outbound_options": [
    ]
}

Response samples

Content type
application/json
{
  • "sipenable": true,
  • "if_inbound": "string",
  • "if_outbound": "string",
  • "port": "string",
  • "hosts_allow_reg": "string",
  • "hosts_allow_sip": "string",
  • "hosts_deny_sip": "string",
  • "defaulttimeout": "string",
  • "ua_string": "string",
  • "use_rport": "string",
  • "tcp_timeout": "string",
  • "tcp_connect_timeout": "string",
  • "tcp_keepalive": "string",
  • "rtpenable": "string",
  • "rtplower": "string",
  • "rtpupper": "string",
  • "rtptimeout": "string",
  • "rtp_input_dejitter": "string",
  • "rtp_output_dejitter": "string",
  • "authentication": true,
  • "outboundproxyhost": "string",
  • "outboundproxyport": "string",
  • "expeditedsipforwarding": true,
  • "expeditedforwarding": true,
  • "plugin_defaulttarget": true,
  • "plugin_defaulttarget_target": "string",
  • "plugin_defaulttarget_log": true,
  • "plugin_fix_bogus_via": true,
  • "plugin_fix_bogus_via_networks": "string",
  • "plugin_stun": true,
  • "plugin_stun_server": "string",
  • "plugin_stun_port": "string",
  • "plugin_stun_period": "string",
  • "plugin_fix_dtag": true,
  • "plugin_fix_dtag_networks": "string",
  • "plugin_stripheader": true,
  • "plugin_stripheader_remove1": "string",
  • "plugin_stripheader_remove2": "string",
  • "plugin_stripheader_remove3": "string",
  • "plugin_codecfilter": true,
  • "plugin_codecfilter_blacklist1": "string",
  • "plugin_codecfilter_blacklist2": "string",
  • "plugin_codecfilter_blacklist3": "string",
  • "plugin_fix_fbox_anoncall": true,
  • "plugin_fix_fbox_anoncall_networks": "string",
  • "plugin_siptrunk": true,
  • "plugin_siptrunk_account": "string",
  • "plugin_siptrunk_numbers_regex": "string",
  • "debug_level": "string",
  • "debug_port": "string",
  • "if_inbound_options": [
    ],
  • "if_outbound_options": [
    ]
}

Apply siproxd configuration (write files, restart service, regenerate filter rules)

Responses

Response samples

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

Validate siproxd settings without applying

Responses

Response samples

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

Get the siproxd generated configuration files (preview)

Responses

Response samples

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

Get the list of currently registered phones

Responses

Response samples

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

Start, stop, restart or reload the siproxd service

Request Body schema: application/json
required
action
string

(start, stop, restart, reload) action to perform on the siproxd service

Responses

Request samples

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

Response samples

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

Get the current siproxd service status

Responses

Response samples

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

Get siproxd entries

Responses

Response samples

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

Create a new siproxd entry

Request Body schema: application/json
required
username
string

Username

Enter the username here.

password
string

Password

Enter the password here.

description
string

Username Description

Enter the description of the user here.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Update an existing siproxd entry

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

Username

Enter the username here.

password
string

Password

Enter the password here.

description
string

Username Description

Enter the description of the user here.

id
string

(readonly) ID assigned to this entry

Responses

Request samples

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

Response samples

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

Delete a siproxd entry

path Parameters
id
required
string

Responses

Response samples

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

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

When updating ACB, if ACBConfigInfo.userkey is provided, then the device's key will be updated and all future backups will use the new key. ACBConfigInfo.config is optional if ACBConfigInfo.userkey is provided.

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

valid values: frequency = "cron", "every" reverse = "yes", "no"

userkey
string

hexidecimal encoded 32-byte random bytes

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"
}

Get ACME Config

Responses

Response samples

Content type
application/json
{
  • "account_keys": [
    ],
  • "certs": [
    ],
  • "servers": [
    ],
  • "settings": {
    }
}

Update ACME Settings

Request Body schema: application/json
required
renew_certs
boolean

whether to auto renew acme certs

write_certs
boolean

write acme cert in various format

Responses

Request samples

Content type
application/json
{
  • "renew_certs": true,
  • "write_certs": true
}

Response samples

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

Add ACME Account Key

Request Body schema: application/json
required
name
string

name of this account key

desc
string
email
string

e-mail address to register for account key

acme_server
string

the acme server which will be used to issue certificates using this account key

key_type
string
Enum: "rsa2048" "rsa3072" "rsa4096" "rsa8192" "ec256" "ec384" "custom"

type of the cert's private key valid value = rsa2048, rsa3072, rsa4096, rsa8192, ec256, ec384, custom

account_key
string <byte>

if key_type is not "custom", system will overwrite this field with generated private key

object (ACMERegistration)

Read only info about the account created on a ACME server

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "desc": "string",
  • "email": "string",
  • "acme_server": "string",
  • "key_type": "rsa2048",
  • "account_key": "string",
  • "registration": {
    }
}

Response samples

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

Update ACME Account Key

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

name of this account key

desc
string
email
string

e-mail address to register for account key

acme_server
string

the acme server which will be used to issue certificates using this account key

key_type
string
Enum: "rsa2048" "rsa3072" "rsa4096" "rsa8192" "ec256" "ec384" "custom"

type of the cert's private key valid value = rsa2048, rsa3072, rsa4096, rsa8192, ec256, ec384, custom

account_key
string <byte>

if key_type is not "custom", system will overwrite this field with generated private key

object (ACMERegistration)

Read only info about the account created on a ACME server

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "desc": "string",
  • "email": "string",
  • "acme_server": "string",
  • "key_type": "rsa2048",
  • "account_key": "string",
  • "registration": {
    }
}

Response samples

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

Delete ACME Account Key

path Parameters
name
required
string

Responses

Response samples

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

Register an account with the ACME server

path Parameters
name
required
string

Responses

Response samples

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

Add ACME certificate

Request Body schema: application/json
required
name
string

this name will also be used to create or overwrite a certificate that might already exist in the pfSense Certificate Manager

desc
string

description of this acme certificate

enabled
boolean

whether this certificate enabled for acme operation

acme_account
string

name of the corresponding acme account key

key_type
string
Enum: "rsa2048" "rsa3072" "rsa4096" "rsa8192" "ec256" "ec384" "custom"

type of the certificate's private key valid value = rsa2048, rsa3072, rsa4096, rsa8192, ec256, ec384, custom

custom_key
string <byte>

if key_type is not "custom", custom_key will be ignored

preferred_chain
string

chooses an alternate preferred chain

profile
string

chooses a profile the acme server supported

dns_wait
integer

disables all the dns propagation checks of the TXT record and uses a wait duration instead (in second)

Array of objects (ACMEDomain)
Array of objects (ACMEAction)
object (ACMEIssuedCert)
ari_disable
boolean

disable the use of acme renewal information extension to check if the certificate needs to be renewed

renew_before
integer

number of days before the certificate expires to renew the certificate if the use of acme renewal information extension is failed or disabled, this value will be used to determine whether the certificate should be renewed (default: 30)

lastrenewal
string

read only timestamp of last issue/renew of certificate

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "desc": "string",
  • "enabled": true,
  • "acme_account": "string",
  • "key_type": "rsa2048",
  • "custom_key": "string",
  • "preferred_chain": "string",
  • "profile": "string",
  • "dns_wait": 0,
  • "domain_list": [
    ],
  • "action_list": [
    ],
  • "issued_cert": {
    },
  • "ari_disable": true,
  • "renew_before": 0,
  • "lastrenewal": "string"
}

Response samples

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

Update ACME certificate

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

this name will also be used to create or overwrite a certificate that might already exist in the pfSense Certificate Manager

desc
string

description of this acme certificate

enabled
boolean

whether this certificate enabled for acme operation

acme_account
string

name of the corresponding acme account key

key_type
string
Enum: "rsa2048" "rsa3072" "rsa4096" "rsa8192" "ec256" "ec384" "custom"

type of the certificate's private key valid value = rsa2048, rsa3072, rsa4096, rsa8192, ec256, ec384, custom

custom_key
string <byte>

if key_type is not "custom", custom_key will be ignored

preferred_chain
string

chooses an alternate preferred chain

profile
string

chooses a profile the acme server supported

dns_wait
integer

disables all the dns propagation checks of the TXT record and uses a wait duration instead (in second)

Array of objects (ACMEDomain)
Array of objects (ACMEAction)
object (ACMEIssuedCert)
ari_disable
boolean

disable the use of acme renewal information extension to check if the certificate needs to be renewed

renew_before
integer

number of days before the certificate expires to renew the certificate if the use of acme renewal information extension is failed or disabled, this value will be used to determine whether the certificate should be renewed (default: 30)

lastrenewal
string

read only timestamp of last issue/renew of certificate

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "desc": "string",
  • "enabled": true,
  • "acme_account": "string",
  • "key_type": "rsa2048",
  • "custom_key": "string",
  • "preferred_chain": "string",
  • "profile": "string",
  • "dns_wait": 0,
  • "domain_list": [
    ],
  • "action_list": [
    ],
  • "issued_cert": {
    },
  • "ari_disable": true,
  • "renew_before": 0,
  • "lastrenewal": "string"
}

Response samples

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

Delete ACME certificate

path Parameters
name
required
string

Responses

Response samples

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

Issue the ACME certificate

path Parameters
name
required
string

Responses

Response samples

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

Renew the ACME certificate

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

Responses

Request samples

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

Response samples

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

Generate a new account private key for account registration

Request Body schema: application/json
required
key_type
string
Enum: "rsa2048" "rsa3072" "rsa4096" "rsa8192" "ec256" "ec384"

type of the cert's private key valid value = rsa2048, rsa3072, rsa4096, rsa8192, ec256, ec384

Responses

Request samples

Content type
application/json
{
  • "key_type": "rsa2048"
}

Response samples

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

Add Custom ACME Server

Request Body schema: application/json
required
name
string

name used to reference the acme server

url
string

url of the acme server

custom
boolean

read only value indicate is this a custom server added by user

Responses

Request samples

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

Response samples

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

Update Custom ACME Server

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

name used to reference the acme server

url
string

url of the acme server

custom
boolean

read only value indicate is this a custom server added by user

Responses

Request samples

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

Response samples

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

Delete Custom ACME Server

path Parameters
name
required
string

Responses

Response samples

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

Get supported ACME validation methods

Responses

Response samples

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

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 all MAC addresses and their IP address bindings with history of when they happened

Responses

Response samples

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

Flush all arpmon state

Responses

Response samples

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

Get arpmon state for the interface

path Parameters
intf
required
string

Responses

Response samples

Content type
application/json
{
  • "monitoring": true,
  • "macs": {
    }
}

Stop monitoring interface and delete its state data

path Parameters
intf
required
string

Responses

Response samples

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

Apply monitoring action on interface

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

start, stop, reset

Responses

Request samples

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

Response samples

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

Get Captive Portal Zones

Responses

Response samples

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

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
customlogo_image
string <byte>

base64 encoded jpeg/gif/png/webp logo image

custombg
boolean
custombg_image
string <byte>

base64 encoded jpeg/gif/png/webp background image

customhtml
boolean

if enabled, the provided customhtml_* page(s) are used

customhtml_html
string

custom portal HTML page

customhtml_err
string

custom error page

customhtml_logout
string

custom logout page

termsconditions
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,
  • "customlogo_image": "string",
  • "custombg": true,
  • "custombg_image": "string",
  • "customhtml": true,
  • "customhtml_html": "string",
  • "customhtml_err": "string",
  • "customhtml_logout": "string",
  • "termsconditions": "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": [
    ]
}

Retrieve Coredns configuration

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "high_security": true,
  • "listen_port": "string",
  • "global_ruleset": {
    },
  • "groups": {
    }
}

Update Coredns configuration

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "high_security": true,
  • "listen_port": "string",
  • "global_ruleset": {
    },
  • "groups": {
    }
}

Used to display the reason an easy setup may be required.

Responses

Response samples

Content type
application/json
{
  • "can_easy_setup": true,
  • "reasons": [
    ]
}

Used to trigger an easy setup.

Responses

Response samples

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

Obtain the list of available OUI prefixes as a gzip compressed CSV format

Fetch the list of available OUI prefixes as a gzip compressed CSV dataset, where:

  • the first column is the OUI prefix, with colon separator
  • the second column is the owner of the OUI

If the OUI dataset is not available from the OS, then a short default list is returned

Responses

Response samples

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

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,
  • "staticarp": true,
  • "failover_peerip": "string",
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "static_mappings": [
    ],
  • "static_mappings_v6": [
    ],
  • "pdprefix": "string",
  • "pddellen": 0,
  • "custom_kea_config": "string",
  • "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

set as 0 to use default value (7200 seconds)

maximum_lease_time
integer

set as 0 to use default value (86400 seconds)

staticarp
boolean
failover_peerip
string
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)
pdprefix
string

IPv6 PD prefix (ipv6/mask CIDR)

pddellen
integer

IPv6 PD delegated length

custom_kea_config
string

JSON custom Kea config for interface

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,
  • "staticarp": true,
  • "failover_peerip": "string",
  • "mac_allow": [
    ],
  • "mac_deny": [
    ],
  • "ntp_servers": [
    ],
  • "tftp_server": "string",
  • "ldap_server_uri": "string",
  • "network_booting": {
    },
  • "static_mappings": [
    ],
  • "static_mappings_v6": [
    ],
  • "pdprefix": "string",
  • "pddellen": 0,
  • "custom_kea_config": "string",
  • "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
delegated_prefix
string
filename
string
rootpath
string
custom_kea_config
string

JSON custom Kea config for static mapping

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",
  • "delegated_prefix": "string",
  • "filename": "string",
  • "rootpath": "string",
  • "custom_kea_config": "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",
  • "delegated_prefix": "string",
  • "filename": "string",
  • "rootpath": "string",
  • "custom_kea_config": "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
delegated_prefix
string
filename
string
rootpath
string
custom_kea_config
string

JSON custom Kea config for static mapping

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",
  • "delegated_prefix": "string",
  • "filename": "string",
  • "rootpath": "string",
  • "custom_kea_config": "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 mDNS service configuration

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "carp_vip_intf": "string",
  • "include_interfaces": [
    ],
  • "exclude_interfaces": [
    ],
  • "disable_ipv4": true,
  • "disable_ipv6": true,
  • "reflection": true,
  • "publish": {
    },
  • "avail_interfaces": [
    ],
  • "carp_vips": [
    ]
}

Configure mDNS and restart it with the new settings (if enable)

Request Body schema: application/json
required
enable
boolean

enable mDNS service

carp_vip_intf
string

name of CARP VIP interface for detecting current HA status. Service will be stopped when the chosen VIP is in Backup.

include_interfaces
Array of strings
exclude_interfaces
Array of strings
disable_ipv4
boolean

disable IPv4 servicing

disable_ipv6
boolean

disable IPv6 servicing

reflection
boolean

reflect packets across different subnets

object (MDNSPublishing)
Array of objects (TextValue)
Array of objects (TextValue)

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "carp_vip_intf": "string",
  • "include_interfaces": [
    ],
  • "exclude_interfaces": [
    ],
  • "disable_ipv4": true,
  • "disable_ipv6": true,
  • "reflection": true,
  • "publish": {
    },
  • "avail_interfaces": [
    ],
  • "carp_vips": [
    ]
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "carp_vip_intf": "string",
  • "include_interfaces": [
    ],
  • "exclude_interfaces": [
    ],
  • "disable_ipv4": true,
  • "disable_ipv6": true,
  • "reflection": true,
  • "publish": {
    },
  • "avail_interfaces": [
    ],
  • "carp_vips": [
    ]
}

Browse mDNS services on the network

query Parameters
service
string

optional name of service type, e.g. _http._tcp

Responses

Response samples

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

Get stats from mDNS service

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "instance": "string",
  • "service": "string",
  • "domain": "string",
  • "hostname": "string",
  • "port": 0,
  • "ips": [
    ],
  • "txt": [
    ],
  • "records": [
    ]
}

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": {
    },
  • "avail_serial_ports": [
    ]
}

Updates the NTP configuration

Request Body schema: application/json
required
object (NtpSettings)
object (NtpAcls)
object (NtpSerialGps)
object (NtpPps)
avail_serial_ports
Array of strings

Responses

Request samples

Content type
application/json
{
  • "settings": {
    },
  • "acls": {
    },
  • "serial_gps": {
    },
  • "pps": {
    },
  • "avail_serial_ports": [
    ]
}

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 Snort configuration

Responses

Response samples

Content type
application/json
{
  • "installed": true,
  • "version": "string",
  • "intf_configs": [
    ],
  • "download_svc": [
    ],
  • "rule_update_settings": {
    },
  • "pass_lists": [
    ],
  • "suppress_lists": [
    ]
}

Get list of snort address lists names

Responses

Response samples

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

Add or update the list of snort addresses

Set the list of addresses with the file contents specified. If the file already exists, it will be overwritten.

The request can be a SnortAddressList object, or a file upload where the filename is used for the address list.

Multiple address lists may be uploaded at the same time using multiple addresslist parts.

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

Responses

Response samples

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

Get snort address list

path Parameters
name
required
string

Responses

Response samples

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

Remove Snort address list

path Parameters
name
required
string

Responses

Response samples

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

Get download services and their states

Retrieve the list of download services and the progress of downloads for each.

Responses

Response samples

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

Add or update a Snort ruleset download service

Add a new download service or update an existing one. The id of the request is checked and if it is the same as a previous one, the this indicates a configuration overwrite (update). Otherwise if the name collides with an existing entry (an id is not provided), then an error is returned.

Request Body schema: application/json
required
name
string

name of service or publisher

descr
string

user provided description

url
string

address of service to download Snort rules from

checksum_url
string

address of the file containing the checkums of the rule archive, usually suffixed as .md5sum or sha256sum

sig_hash
string

(readonly) checksum of the rules

sig_date
string

(readonly) date of when the signature hash was retrieved

sig_date_ts
integer

(readonly) Epoch milliseconds timestamp of signature hash retrieval

last_update_ts
integer

(readonly) Epoch milliseconds timestamp of when the rule update was attempted

last_update_result
string

result of last update attempt - success or failure (with message)

id
string

(readonly) the ID generated for this service

skip_cert_check
boolean

don't validate server certificate; if tls_fingerprint is provided, the cert is checked against value configured

tls_fingerprint
string

(optional) for self-signed certs, the hex string or base64 encoded bytes of the SHA256 fingerprint of the certificate or the public key

state
string

enabled (active) , disabled (suspended)

object (SnortDownloadProgress)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "url": "string",
  • "checksum_url": "string",
  • "sig_hash": "string",
  • "sig_date": "string",
  • "sig_date_ts": 0,
  • "last_update_ts": 0,
  • "last_update_result": "string",
  • "id": "string",
  • "skip_cert_check": true,
  • "tls_fingerprint": "string",
  • "state": "string",
  • "progress": {
    }
}

Response samples

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

Remove the download service by its id

path Parameters
id
required
string

Responses

Response samples

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

Perform an action on the download service

When triggering a download from the requested services, if one is already in progress then it will be left the same. Only new ones will start.

If a suspend request is issued, then downloads will not proceed until resume is requested. Resume downloads will only initiate at the schedule configured for downloads.

path Parameters
id
required
string
Request Body schema: application/json
required
action
string
Enum: "start" "stop" "suspend" "resume"

start, stop, suspend or resume downloading from the service

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "url": "string",
  • "checksum_url": "string",
  • "sig_hash": "string",
  • "sig_date": "string",
  • "sig_date_ts": 0,
  • "last_update_ts": 0,
  • "last_update_result": "string",
  • "id": "string",
  • "skip_cert_check": true,
  • "tls_fingerprint": "string",
  • "state": "string",
  • "progress": {
    }
}

Get the configured download schedule for rules.

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "interval": "string",
  • "day": "string",
  • "time": "string"
}

Set rules update schedule

Request Body schema: application/json
required
enable
boolean

download schedule is enabled

interval
string

daily (default), weekday (day of week), monthday (day of month)

day
string

(sun, ..., sat) if weekday or (numeric) monthday

time
string

in hh:mm

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "interval": "string",
  • "day": "string",
  • "time": "string"
}

Response samples

Content type
application/json
{
  • "enable": true,
  • "interval": "string",
  • "day": "string",
  • "time": "string"
}

Remove (and disable) download schedule configuration

Responses

Response samples

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

Apply the specified configuration.

Apply snort configuration for the specified interfaces in the SnortInterfaceConfig argument. The interfaces must not already be bound to another SnortInterfaceConfig. If Talos LightSPD rules are used, then the interface configuration will limit the number of customizations that are applied. Most of the changes are for overriding the LigthSPD defaults. The id of the configuration will be automatically assigned by the handler and guaranteed to be unique.

Request Body schema: application/json
required
id
string

(readonly) unique identifier for this configuration

log_id
integer

(readonly) id of applied to -G/--logid of snort command

enable
boolean

enable service to run

status
string

(readonly) current running state - started, stopped, error

descr
string

user provided description

interfaces
Array of strings
inline_ips
boolean

enable inline IPS; not all systems support this

home_networks
Array of strings
external_networks
Array of strings
object (SnortOverrides)

Snort configuration variables that can be overridden

use_syslog
boolean

send alerts to system log

use_alert_unified2
boolean

write alerts to unified2 logs instead of CSV

block_on_alert
boolean

block offending address triggering alert

kill_states
boolean

kill the firewall states for blocked address

block_addr_opt
string
Enum: "src" "dst" "both"

which address to block - src, dst, or both (default)

detection_method
string
Enum: "ac_bnfa" "ac_full" "hyperscan"

fast pattern matching algorithm (ac_bnfa, ac_full, hyperscan)

split_any_any
boolean

split ANY-ANY port group

search_optimize
boolean

enable search optimization

stream_inserts
boolean

do not evaulate stream inserted packets against the detection algorithm

csum_disabled
boolean

disable checksum checking to improve performance

pass_list_name
string

pass list reference (to SnortPassList)

suppress_list_name
string

suppress list reference (to SnortSuppressList)

custom_head_include
string

path to custom Lua script, to be included at the start of the main snort.lua script. This should reside in /var/db/snort/config.

custom_tail_include
string

path to custom Lua script, to be included at the end of the main snort.lua script. This should reside in /var/db/snort/config.

Array of objects (SnortInsp_Binder)
object (SnortInspectors)

Snort inspectors, also known is preprocessors, are modules that perform a variety of functions. The configuration of each inspector is complex and should only have defaults overridden with care.

object (SnortReputationConfig)
object (SnortInterfaceRulesetsOpt)
raw_config
string

output - the raw configuration that was generated or user explicitly set

config_path
string

output - the location of the interface's config files

custom_raw_config
string

input - user provided raw config override

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "log_id": 0,
  • "enable": true,
  • "status": "string",
  • "descr": "string",
  • "interfaces": [
    ],
  • "inline_ips": true,
  • "home_networks": [
    ],
  • "external_networks": [
    ],
  • "overrides": {
    },
  • "use_syslog": true,
  • "use_alert_unified2": true,
  • "block_on_alert": true,
  • "kill_states": true,
  • "block_addr_opt": "src",
  • "detection_method": "ac_bnfa",
  • "split_any_any": true,
  • "search_optimize": true,
  • "stream_inserts": true,
  • "csum_disabled": true,
  • "pass_list_name": "string",
  • "suppress_list_name": "string",
  • "custom_head_include": "string",
  • "custom_tail_include": "string",
  • "bindings": [
    ],
  • "inspectors": {
    },
  • "reputation": {
    },
  • "rule_sets": {
    },
  • "raw_config": "string",
  • "config_path": "string",
  • "custom_raw_config": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "log_id": 0,
  • "enable": true,
  • "status": "string",
  • "descr": "string",
  • "interfaces": [
    ],
  • "inline_ips": true,
  • "home_networks": [
    ],
  • "external_networks": [
    ],
  • "overrides": {
    },
  • "use_syslog": true,
  • "use_alert_unified2": true,
  • "block_on_alert": true,
  • "kill_states": true,
  • "block_addr_opt": "src",
  • "detection_method": "ac_bnfa",
  • "split_any_any": true,
  • "search_optimize": true,
  • "stream_inserts": true,
  • "csum_disabled": true,
  • "pass_list_name": "string",
  • "suppress_list_name": "string",
  • "custom_head_include": "string",
  • "custom_tail_include": "string",
  • "bindings": [
    ],
  • "inspectors": {
    },
  • "reputation": {
    },
  • "rule_sets": {
    },
  • "raw_config": "string",
  • "config_path": "string",
  • "custom_raw_config": "string"
}

Remove Snort configuration of id.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "log_id": 0,
  • "enable": true,
  • "status": "string",
  • "descr": "string",
  • "interfaces": [
    ],
  • "inline_ips": true,
  • "home_networks": [
    ],
  • "external_networks": [
    ],
  • "overrides": {
    },
  • "use_syslog": true,
  • "use_alert_unified2": true,
  • "block_on_alert": true,
  • "kill_states": true,
  • "block_addr_opt": "src",
  • "detection_method": "ac_bnfa",
  • "split_any_any": true,
  • "search_optimize": true,
  • "stream_inserts": true,
  • "csum_disabled": true,
  • "pass_list_name": "string",
  • "suppress_list_name": "string",
  • "custom_head_include": "string",
  • "custom_tail_include": "string",
  • "bindings": [
    ],
  • "inspectors": {
    },
  • "reputation": {
    },
  • "rule_sets": {
    },
  • "raw_config": "string",
  • "config_path": "string",
  • "custom_raw_config": "string"
}

Run an action on the interface set

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

start, stop, reload, restart

Responses

Request samples

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

Response samples

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

Get Snort alerts for the interface

path Parameters
id
required
string

Responses

Response samples

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

Get list of hosts being blocked by Snort

path Parameters
id
required
string

Responses

Response samples

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

Clear Snort blocked hosts

path Parameters
id
required
string

Responses

Response samples

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

Remove a single blocked host from Snort

path Parameters
id
required
string
blkid
required
string

Responses

Response samples

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

Set the interfaces to the snort configuration.

Set the interfaces list of the snort configuration. If no interfaces are provided, then the configuration is disabled. It cannot be enabled until one or more interfaces are applied.

When the interface list changes, the snort service will be restarted to apply interface set.

path Parameters
id
required
string
Request Body schema: application/json
required
interfaces
Array of strings

Responses

Request samples

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

Response samples

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

Get the list of rulesets for the interface and their enabled states

path Parameters
id
required
string

Responses

Response samples

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

Apply the named rulesets to the interface

Set the interface configuration to use the specified rulesets.

If Talos LightSPD rulesets are used, then the snort configuration will use the Lua scripts provided by the package, with overrides applied as required. All other rulesets are ignored.

For other rulesets, select the rules file to apply.

Note that when this API handler completes, a new Snort configuration will be generated for the interface and the snort Service is restarted (if it was running).

path Parameters
id
required
string
Request Body schema: application/json
required
Array of objects (SnortIntfRulesetOpt)
Array of objects (SnortRuleToggleEntry)

Responses

Request samples

Content type
application/json
{
  • "rulesets": [
    ],
  • "overrides": [
    ]
}

Response samples

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

Get Snort rule customizations

Get the list of rule state customizations. The returned list can be used as a template to apply to other interface configurations.

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "rule_options": [
    ],
  • "reset_all": true
}

Update Snort rule toggle - update existing, add or delete

path Parameters
id
required
string
Request Body schema: application/json
required
Array of objects (SnortRuleToggleEntry)
reset_all
boolean

reset all rule overrides; rule_options is ignored

Responses

Request samples

Content type
application/json
{
  • "rule_options": [
    ],
  • "reset_all": true
}

Response samples

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

Get Snort pass lists

Responses

Response samples

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

Add Snort pass list.

Pass Lists are lists of IP addresses that Snort should never block. Pass lists can be created and managed on the Pass Lists tab. When an IP address is listed on a Pass List, Snort will never insert a block on that address even when malicious traffic is detected.

When a pass list is applied to an interface configuration, it will white list those addresses in Snort as part of the reputation allowlist.

Request Body schema: application/json
required
name
string

unique name for pass list

descr
string
local_networks
boolean

add firewall locally-attached networks to the list

wan_gateways
boolean

add WAN gateways

wan_dns_servers
boolean

add WAN DNS servers

virtual_ips
boolean

add virtual IP addresses

vpn_addrs
boolean

add VPN addresses

aliases
Array of strings
addresses
Array of strings
new_name
string

for updating with new name

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "local_networks": true,
  • "wan_gateways": true,
  • "wan_dns_servers": true,
  • "virtual_ips": true,
  • "vpn_addrs": true,
  • "aliases": [
    ],
  • "addresses": [
    ],
  • "new_name": "string"
}

Response samples

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

Remove Snort pass list

path Parameters
name
required
string

Responses

Response samples

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

Get Snort rules

Responses

Response samples

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

Upload a rule set

Upload the rule set, specifying a name to give to it. The contents can be a single .rules file or an archive containing a batch of rules. Archive contents will be inspected to locate .rules files in the following manner:

  • locating rules/includes.rules otherwise all rules/*.rules files
  • locating precompiled rules in so_rules/precompiled//*.so and so_rules/include.rules
    • these get added to ips.states
  • locating *-ips.states for IPS rules enablement

The request can be a regular API call with SnortRulesUploadReq provided, or as a multi-part piece, with the SnortRulesUploadReq in the req section, and the archive or rules file in the rules section.

How the upload request is handled:

  • if a file is sent, then it is processed immediately
  • if contents is provided, then it is parsed for ruleset validity and applied
  • otherwise if a URL is provided, then the ruleset is downloaded. If the same URL is specified again while the download is in progress, then Result will contain a message indicating that status.
Request Body schema: multipart/form-data
required
object (SnortRulesUploadReq)
rules
string <binary>

Responses

Response samples

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

Get rules from the specified ruleset

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "ruleset_type": "string",
  • "policies": [
    ],
  • "rules": {
    },
  • "ips_states": {
    },
  • "so_rules": {
    },
  • "so_ips_states": {
    },
  • "archive_info": {
    },
  • "errors": [
    ]
}

Delete the Snort ruleset

Delete the Snort ruleset and its modifications. An error is returned if the ruleset is still in use

path Parameters
name
required
string

Responses

Response samples

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

Get the original contents of the specified file in the ruleset

Obtain the contents of the specified file in the ruleset. This is intended for inspecting scripts provided by it.

path Parameters
name
required
string
file
required
string

Responses

Response samples

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

Get Snort suppression lists summary

Responses

Response samples

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

Add/update Snort suppression list

Suppression Lists allow control over the alerts generated by Snort rules. When an alert is suppressed, then Snort no longer logs an alert entry (or blocks the IP address if block offenders is enabled) when a particular rule fires. Snort still inspects all network traffic against the rule, but even when traffic matches the rule signature, no alert will be generated.

This function supports both v2 and Lua based suppression list definitions.

Refer to https://www.snort.org/faq/readme-filters for the valid commands that can be set in the suppression lists; these include:

  • supress
  • detection_filter
  • rate_filter
  • event_filter
Request Body schema: application/json
required
name
string
descr
string
text
string

text contents of suppression list

new_name
string

for updating an existing suppression list

lua_text
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "text": "string",
  • "new_name": "string",
  • "lua_text": "string"
}

Response samples

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

Remove Snort suppression list

path Parameters
name
required
string

Responses

Response samples

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

Get the contents of the suppression list

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "descr": "string",
  • "text": "string",
  • "new_name": "string",
  • "lua_text": "string"
}

Get Service Status

Responses

Response samples

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

Retrieves threatgate's configuration

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "refresh_interval": "string",
  • "maxmind": {
    }
}

Update threatgate's configuration

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "refresh_interval": "string",
  • "maxmind": {
    }
}

Retrieves the a list of user defined feeds filtered by optional query-parameters

query Parameters
name
string
enabled
boolean
mode
string

block, alias

Responses

Response samples

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

Creates a new user defined feed, id should not be populated

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

block, alias

object (ThreatClass)
cidrs
Array of strings
domains
Array of strings

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "threatClass": {
    },
  • "cidrs": [
    ],
  • "domains": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "threatClass": {
    },
  • "cidrs": [
    ],
  • "domains": [
    ]
}

Updates a user defined feed by its id

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "threatClass": {
    },
  • "cidrs": [
    ],
  • "domains": [
    ]
}

Retrieves a user defined feed based on its id

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "threatClass": {
    },
  • "cidrs": [
    ],
  • "domains": [
    ]
}

Deletes a user defined feed by its id

path Parameters
id
required
string

Responses

Response samples

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

Retrieves available categories

Responses

Response samples

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

Retrieve any error that could happen in the background.

Responses

Response samples

Content type
application/json
{
  • "status": [
    ],
  • "errors": [
    ],
  • "success": [
    ],
  • "information": [
    ]
}

Retrieves the a list of remote feeds filtered by optional query-parameters

query Parameters
name
string
enabled
boolean
mode
string

block, alias

Responses

Response samples

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

Creates a new remote feed, id should not be populated

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

block, alias

url
string

Valid url http/https

object
suppressDomains
Array of strings
suppressPrefixes
Array of strings

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "url": "string",
  • "headers": {
    },
  • "suppressDomains": [
    ],
  • "suppressPrefixes": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "url": "string",
  • "headers": {
    },
  • "suppressDomains": [
    ],
  • "suppressPrefixes": [
    ]
}

Updates a remote feed by its id

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "url": "string",
  • "headers": {
    },
  • "suppressDomains": [
    ],
  • "suppressPrefixes": [
    ]
}

Retrieves a remote feed based on its id

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "enabled": true,
  • "mode": "string",
  • "url": "string",
  • "headers": {
    },
  • "suppressDomains": [
    ],
  • "suppressPrefixes": [
    ]
}

Deletes a remote feed by its id

path Parameters
id
required
string

Responses

Response samples

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

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"
}

Retrieve watched services

Responses

Response samples

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

Sets a new service to being watched by service watchdog.

Request Body schema: application/json
required
id
string

Responses

Request samples

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

Response samples

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

Deletes a service from the watch list. Receives the service id

path Parameters
id
required
string

Responses

Response samples

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

vpn

AWS Wizard: Create ipsec tunnels to aws vpc

Request Body schema: application/json
required
object (AwsWizardVpc)
loc_if_ident
string

interface for the local endpoint of the tunnels

loccidrs
Array of strings
routing
string
Enum: "static" "BGP"

routing type

custgwcfg
string

base64 encoded customer gateway configuration

Responses

Request samples

Content type
application/json
{
  • "vpc": {
    },
  • "loc_if_ident": "string",
  • "loccidrs": [
    ],
  • "routing": "static",
  • "custgwcfg": "string"
}

Response samples

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

AWS Wizard: Create aws site-to-site vpn

Request Body schema: application/json
required
object (AwsWizardCred)
object (AwsWizardVpc)
vp_gw_id
string

virtual private gateway id

routing
string
Enum: "static" "BGP"

routing type

bgpasn
string

bgp as number. Defaults to 65000

locpubip
string

local public ip address

loccidrs
Array of strings
updatesecgroups
boolean

update security groups

max_wait_time
integer

maximum number of minute to wait for the vpn to be created. default 15 mintues

Responses

Request samples

Content type
application/json
{
  • "cred": {
    },
  • "vpc": {
    },
  • "vp_gw_id": "string",
  • "routing": "static",
  • "bgpasn": "string",
  • "locpubip": "string",
  • "loccidrs": [
    ],
  • "updatesecgroups": true,
  • "max_wait_time": 0
}

Response samples

Content type
application/json
{
  • "vpnconnid": "string",
  • "custgwcfg": "string"
}

AWS Wizard: list regions supported by the provided credential

Request Body schema: application/json
required
awskey
string

access key id

secret
string

aws secret key

awsrole
string

use ec2 instance profile to assume role instead of keys

partition
string
Enum: "aws" "aws-us-gov"

the aws partition the vpc resides in

region
string

aws region for the operation, set it to empty string when list regions

Responses

Request samples

Content type
application/json
{
  • "awskey": "string",
  • "secret": "string",
  • "awsrole": "string",
  • "partition": "aws",
  • "region": "string"
}

Response samples

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

AWS Wizard: list vpcs inside the provided region

Request Body schema: application/json
required
awskey
string

access key id

secret
string

aws secret key

awsrole
string

use ec2 instance profile to assume role instead of keys

partition
string
Enum: "aws" "aws-us-gov"

the aws partition the vpc resides in

region
string

aws region for the operation, set it to empty string when list regions

Responses

Request samples

Content type
application/json
{
  • "awskey": "string",
  • "secret": "string",
  • "awsrole": "string",
  • "partition": "aws",
  • "region": "string"
}

Response samples

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

AWS Wizard: select the vpc to be used to create vpn

Request Body schema: application/json
required
object (AwsWizardCred)
object (AwsWizardVpc)

Responses

Request samples

Content type
application/json
{
  • "cred": {
    },
  • "vpc": {
    }
}

Response samples

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

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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Get IPSec Export Settings

Responses

Response samples

Content type
application/json
{
  • "installed": true,
  • "mobile_p1_exist": true,
  • "mobile_p2_exist": true,
  • "mobile_p2_is_tunnel": true,
  • "mobile_p1_descr": "string",
  • "mobile_p1_authmethod": "string",
  • "system_hostname": "string",
  • "server_addresses": [
    ],
  • "vpnclients": [
    ]
}

Export IPSec Profile for specified target client/os

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

the name of the VPN

server_address
string

the server address to be used by the client

server_hostname
string

address to which clients will connect when server_address value is "Custom Hostname"

vpnclient
string

(for target apple) the client to export

external_username
string

(for target apple) this is the username when vpnclient value is ""

user_certref
string

(for target windows) the TLS client certificate to include in the download archive

download
boolean

indicate whether response http header Content-Disposition is set as attachment for front-end to download the exported profile

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "server_address": "string",
  • "server_hostname": "string",
  • "vpnclient": "string",
  • "external_username": "string",
  • "user_certref": "string",
  • "download": true
}

Response samples

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

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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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
mtu
integer

defaults to 1500 in most cases if not provided (valid values 576-9000)

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",
  • "mtu": 0,
  • "user": [
    ]
}

Response samples

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

Get OpenVPN Client Export Configs

Responses

Response samples

Content type
application/json
{
  • "config": [
    ],
  • "server_list": [
    ],
  • "useaddr_list": [
    ]
}

Set OpenVPN Client Export Configs

Request Body schema: application/json
required
server
string

vpnid of a openvpn server in remote access mode

useaddr
string

host name resolution, the format of remote directive entries uses in client configuration files

useaddr_hostname
string

when useaddr is "other", this specify the hostname or ip address the client will use to connect to this server

verifyservercn
string
Enum: "auto" "none"

verify server common name

blockoutsidedns
boolean

block outside dns

legacy
boolean

do not include openvpn 2.5 and later settings in the client configuration

silent
boolean

create a silent windows installer for unattended deploy

bindmode
string
Enum: "nobind" "lport0" "bind"

bind mode

usepkcs11
boolean

use pkcs11 storage device

pkcs11providers
Array of strings
pkcs11id
string

when usepkcs11 is true, specify the object's id on the pkcs11 device

usetoken
boolean

use microsoft certificate storage instead of local files

usepass
boolean

use a password to protect the pkcs12 file contents or key in viscosity bundle

pass
string

when usepass is true, specify the password used to protect the certificate file contents

p12encryption
string
Enum: "high" "low" "legacy"

level of encryption

useproxy
boolean

use proxy to communicate with the openvpn server

useproxytype
string

when useproxy is true, specify proxy type (http or socks)

proxyaddr
string

when useproxy is true, specify hostname or ip address of proxy server

proxyport
string

when useproxy is true, specify proxy server's port

useproxypass
string

when useproxy is true, specify proxy authentication method (none, basic, ntlm)

proxyuser
string

when useproxy is true, specify username for authentication to proxy

proxypass
string

when useproxy is true, specify password for authentication to proxy

advancedoptions
string

base64 encoded of additional options to add to the openvpn client export configuration

Responses

Request samples

Content type
application/json
{
  • "server": "string",
  • "useaddr": "string",
  • "useaddr_hostname": "string",
  • "verifyservercn": "auto",
  • "blockoutsidedns": true,
  • "legacy": true,
  • "silent": true,
  • "bindmode": "nobind",
  • "usepkcs11": true,
  • "pkcs11providers": [
    ],
  • "pkcs11id": "string",
  • "usetoken": true,
  • "usepass": true,
  • "pass": "string",
  • "p12encryption": "high",
  • "useproxy": true,
  • "useproxytype": "string",
  • "proxyaddr": "string",
  • "proxyport": "string",
  • "useproxypass": "string",
  • "proxyuser": "string",
  • "proxypass": "string",
  • "advancedoptions": "string"
}

Response samples

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

Export OpenVPN Client Configuration File

Request Body schema: application/json
required
object (OpenVPNClientExportConfig)
type
string
userid
string
certid
string

Responses

Request samples

Content type
application/json
{
  • "config": {
    },
  • "type": "string",
  • "userid": "string",
  • "certid": "string"
}

Response samples

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

Get OpenVPN Client Import Settings

Responses

Response samples

Content type
application/json
{
  • "server_modes": [
    ],
  • "openvpn_capable_ifs": [
    ]
}

Import OpenVPN Client Configuration

Request Body schema: application/json
required
ovpn_config
string

base64 encoded content of the ovpn file

disable
boolean

disable the client after import

server_mode
string

server mode of the openvpn client

descr
string
if_ident
string

interface used to originate this openvpn client connection

username
string

username if the imported tunnel requires username/password authentication

password
string

base64 encoded password if the imported tunnel requires username/password authentication

Responses

Request samples

Content type
application/json
{
  • "ovpn_config": "string",
  • "disable": true,
  • "server_mode": "string",
  • "descr": "string",
  • "if_ident": "string",
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Kill a client by host, IP or client ID

query Parameters
mgmt
string
remote_host
string
client_id
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
crlref
string

Certificate revocation list reference

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",
  • "crlref": "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
crlref
string

Certificate revocation list reference

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",
  • "crlref": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Get Wireguard status

Responses

Response samples

Content type
application/json
{
  • "config": [
    ],
  • "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",
  • "result": "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",
  • "result": "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",
  • "result": "string"
}

Get Wireguard Tunnel Conf

path Parameters
name
required
string

Responses

Response samples

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