Skip to main content

Configuration -- WAN Connection

GET /api/config.wan.connection

Get the config of the WAN settings.

Available in 8.1.1 or later

Input Parameters

FieldTypeRequiredDescription
idarrayoptionalList of WAN IDs. Returns all if absent.
infoTypestringoptionalFilter: multipleIp, connection, physical, healthcheck, bandwidthAllowanceMonitor, cellular. Multiple values accepted. Returns all if empty.

Response

FieldTypeDescription
orderarrayOrder of WAN IDs
<conn_id>objectWAN config information

WAN_Config Object:

FieldTypeDescription
namestringConnection name
asLanbooleanWAN performing WAN as LAN
enablebooleanWAN enabled
activebooleanWAN active
multipleIparrayAdditional IP addresses (absent if asLan is true)
connectionobjectConnection settings (absent if asLan is true)
physicalobjectPhysical interface settings (absent if asLan is true)
healthcheckobjectHealthcheck settings (absent if asLan is true)
bandwidthAllowanceMonitorobjectBandwidth allowance monitor (absent if asLan is true)

Connection Object

FieldTypeDescription
methodstringDHCP, Static IP, PPPoE, L2TP, GRE, Drop In
modestringNAT or IP Forwarding
icmpPingbooleanReply ICMP Ping
priorityintegerWAN priority (MAX) or connection type (Balance)
dnsobjectDNS settings
ddnsobjectDynamic DNS settings
bandwidthobjectBandwidth limit
scheduleintegerSchedule ID (only when WAN is scheduled)
pepvpnNatbooleanApply NAT on SpeedFusion VPN peers' outgoing traffic
gobiobjectGobi info (only if WAN is Gobi)
modemobjectModem info (only if WAN is Modem)
hotStandbyobjectHot standby settings
idleTimeoutintegerModem idle timeout in seconds
dhcpobjectDHCP settings (for method=DHCP)
staticIpobjectStatic IP settings (for method=Static IP)
pppoeobjectPPPoE settings (for method=PPPoE)
l2tpobjectL2TP settings (for method=L2TP)
greobjectGRE settings (for method=GRE)
dropInobjectDrop-in settings (for method=Drop In)

Physical Object

FieldTypeDescription
typestringethernet, wireless, modem, gobi
speedstringPort speed (e.g. Auto, 1000baseTx-FD, 100baseTx-FD, etc.)
advertisebooleanAdvertise speed enabled (only when speed is not Auto)
supportGigaEthernetbooleanSupports Gigabit Ethernet
mtunumberMTU value (576--1500). Absent if auto.
mssnumberMSS value (536--1460). Absent if auto.
macstring (MAC)MAC address. Absent if auto.
vlanintegerVLAN ID (only if enabled)

Healthcheck Object

FieldTypeDescription
enablebooleanHealthcheck enabled. All other fields absent if false.
methodstringhttp, nslookup, ping, smartcheck
timeoutnumberTimeout in seconds (1, 2, 3, 4, 5, or 10)
intervalnumberInterval in seconds (5, 10, 20, 30, 60, 120, 1800, or 3600)
retrynumberRetry count (1, 3, 5, 10, 15, or 20)
recoverynumberRecovery retry count (1, 3, 5, 10, 15, or 20)

Bandwidth Allowance Monitor Object

FieldTypeDescription
enablebooleanEnabled. All other fields absent if false.
actionarrayActions on allowance reach: email (at 75%/95%), disconnect (at 100%)
startintegerStart day (0 = last day of month)
monthlyAllowanceobjectvalue (integer) and unit (MB)

cURL Example

curl -b cookies.txt \
"http://192.168.1.1/api/config.wan.connection?id=1&id=2&infoType=connection&infoType=healthcheck"
{
"stat": "ok",
"response": {
"1": {
"name": "WAN 1",
"asLan": false,
"enable": true,
"active": true,
"multipleIp": [],
"connection": {
"method": "dhcp",
"mode": "NAT",
"icmpPing": true,
"priority": 1,
"dns": { "auto": true },
"ddns": {
"username": "username",
"password": "@~HiDdEn~@",
"host": ["kjkjkjkj.com"],
"provider": "noip",
"enable": true
},
"bandwidth": {
"upload": { "value": 100000, "unit": "kbps" },
"download": { "value": 100000, "unit": "kbps" }
},
"schedule": 4,
"dhcp": { "hostname": "" }
},
"healthcheck": {
"method": "nslookup",
"timeout": 5,
"interval": 5,
"retry": 3,
"recovery": 3,
"enable": true,
"nslookup": {
"includePublic": false,
"host": ["208.67.222.222", "208.67.220.220"]
}
}
},
"order": [1, 2]
}
}

POST /api/config.wan.connection

⚠️ Beta API

Update the WAN connection settings. Most options update only when the information is provided.

Available in 8.1.1 or later

Input Parameters

FieldTypeRequiredDescription
actionstringupdate
listarrayList of WAN config objects to update

WAN Config Update Object:

FieldTypeRequiredDescription
idnumberoptionalWAN connection ID
namestringoptionalConnection name
enablebooleanoptionalEnable the WAN connection
schedulenumber or nulloptionalSchedule ID. null to disable.
connectionobjectoptionalConnection settings
modemobjectoptionalModem settings (modem WAN only)
cellularobjectoptionalCellular settings (cellular WAN only)
wifiobjectoptionalWi-Fi WAN settings (Wi-Fi WAN only)
physicalobjectoptionalPhysical settings
healthcheckobjectoptionalHealthcheck settings
bandwidthAllowanceMonitorobjectoptionalBandwidth allowance monitor
multipleIparrayoptionalAdditional IP addresses
ddnsobjectoptionalDynamic DNS settings

Connection Settings

FieldTypeRequiredDescription
routingModestringoptionalIP Forwarding or NAT
pepvpnNatbooleanoptionalSpeedFusion VPN NAT
useLanIpbooleanoptionalSNAT to default trunk LAN IP
methodobjectoptionalConnection method details
dnsobjectoptionalDNS config: auto (boolean), host (array of IPs)
priorityintegeroptionalWAN priority
icmpPingbooleanoptionalICMP Ping
bandwidthobjectoptionalUpload/download limits
hotStandbyobjectoptionalenable (boolean), schedule (integer or null)
idleTimeoutnumber or nulloptionalIdle timeout. null to disable.

Connection Method Object

FieldTypeRequiredDescription
typestringoptionalstaticIp, dhcp, pppoe, l2tp, gre, openvpn
detailobjectoptionalMethod-specific settings

DHCP Detail:

FieldTypeDescription
hostnamestringHostname
ipPassthroughbooleanIP passthrough
staticRoutearrayStatic routes (for IP passthrough)

Static IP Detail:

FieldTypeRequiredDescription
ipstring (IPv4)IP address
masknumber (0--32)Subnet mask
gatewaystring (IPv4)Gateway
ipPassthroughbooleanoptionalIP passthrough

PPPoE Detail:

FieldTypeRequiredDescription
usernamestringUsername
passwordstringPassword
servicestring or nulloptionalService name
ipstring (IPv4)optionalIP address
managementNetworkobject or nulloptionalManagement IP: ip, mask

L2TP Detail:

FieldTypeRequiredDescription
usernamestringUsername
passwordstringPassword
hoststring (IPv4)Server IP address
staticIpobject or nulloptionalStatic IP: ip, mask, gateway

GRE Detail:

FieldTypeRequiredDescription
hoststring (IPv4)Remote GRE host
localstring (IPv4)Local IP address
remotestring (IPv4)Remote IP address
natstring (IPv4)optionalNAT IP address

Cellular Settings

FieldTypeRequiredDescription
useExternalAntennabooleanoptionalUse external antenna
simCardSchemestringoptional"" (default), 1 (SIM A), 2 (SIM B), alternate, remote_sim
preferredSimnumberoptional1 or 2
idleTimeoutnumber or nulloptionalIdle timeout
failbackTimeoutnumber or nulloptionalFailback timeout
simarrayoptionalSIM-specific settings
signalThresholdobjectoptionalSignal threshold settings

Physical Settings

FieldTypeRequiredDescription
speedstringoptionalAuto, 1000baseTx-FD, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD
advertisebooleanoptionalAdvertise speed
mtunumber or nulloptionalMTU value (576--1500, or up to 9000 for jumbo frame). null to clear.
mssnumber or nulloptionalMSS value (536--1452, max = MTU -- 40). null to clear.
macstring (MAC) or nulloptionalMAC address (ethernet only). null to clear.
vlannumber or nulloptionalVLAN ID (1--4094 ethernet, 1--10 VDSL). null to clear.

Healthcheck Settings

FieldTypeRequiredDescription
enablebooleanEnable healthcheck
methodobjectoptionalMethod type and detail
timeoutnumberoptionalTimeout in ms (200--10000, 200--800 ping only)
intervalnumberoptionalInterval in seconds (5--3600)
retrynumberoptionalRetries (1--20)
recoverynumberoptionalRecovery retries (1--20)

Bandwidth Allowance Monitor Settings

FieldTypeRequiredDescription
enablebooleanoptionalEnable monitor
actionarrayoptionalemail, disconnect, restrict
startnumberoptionalStart day (0--28)
monthlyAllowanceobjectoptionalvalue (integer) and unit (MB, GB, TB)

DDNS Settings

FieldTypeRequiredDescription
enablebooleanoptionalEnable DDNS
providerstringoptionalchangeip, dyndns, noip, tzo, dnsomatic, others
customUrlstringoptionalCustom URL (for provider=others)
useWanIpbooleanUse WAN IP
usernamestringUsername
passwordstringPassword
hostarrayHost domains

cURL Example

curl -b cookies.txt -H "Content-Type: application/json" \
-X POST -d '{"action":"update","list":[{"id":1,"enable":true}]}' \
http://192.168.1.1/api/config.wan.connection

POST /api/config.wan.connection.priority

Change the priority of the WAN connection. Returns WAN connection ID, priority, and enable information.

Available in 7.1.1 or later

Input Parameters

FieldTypeRequiredDescription
instantActivebooleanoptionalTake effect immediately (otherwise pending apply changes)
listarrayoptionalList of priority update objects

Priority Update Object:

FieldTypeRequiredDescription
connIdnumberWAN connection ID
priorityintegeroptionalPriority value
groupnumberoptional0 = normal priority, 1 = independent from backup WAN (fw 9.0.0+)
enablebooleanoptionalEnable the WAN connection

Response

FieldTypeDescription
orderarrayOrder of WAN IDs
<conn_id>objectWAN priority information: name, priority, group, enable

cURL Example

curl -b cookies.txt -H "Content-Type: application/json" \
-X POST -d '{"instantActive":true,"list":[{"connId":1,"priority":1},{"connId":2,"priority":2}]}' \
http://192.168.1.1/api/config.wan.connection.priority
{
"stat": "ok",
"response": {
"1": {
"name": "WAN 1",
"priority": 1,
"group": 0,
"enable": true
},
"2": {
"name": "WAN 2",
"priority": 2,
"group": 0,
"enable": true
},
"order": [1, 2]
}
}