v4

Introduced: 6.4
Status: Current version
Base URI: /api/v4/

Notable changes

  • The include_private_wan option on Connected IPs and Routes now defaults to false.

  • There is no longer a generic listing of legs on a bond at /api/v4/bonds/X/legs.

  • There is now a listing of all legs across all bonds at /api/v4/legs/.

  • The leg types “DHCP”, “Static”, and “PPPoE” have been replaced with one type called “Interface”.

  • Many URI components now have added underscores for readability, e.g. “mobilebroadband” has been renamed to “mobile_broadband”, “mobileproviderprofiles” has been renamed to “mobile_provider_profiles”, etc.

  • Interface and IP addressing logic has been separated from the leg endpoint (refer to the table below for a comprehensive list of the new interface and address endpoints).

  • There are new bond child endpoints for the new bond services (DHCP, DNS caching, DHCPv6-NA, DHCPv6-PD, & Router Advertisements).

URIs

The following resources are available. In addition to the listed methods, each URI also supports the OPTIONS method.

URI

Resource

Methods

Notes

/api/v4/

List of core resources

GET

/api/v4/nodes/

List of nodes

GET

Nodes represent the common properties between bonders and aggregators.

/api/v4/nodes/X/

Node with ID X

GET

Nodes cannot be created directly, so POST is not supported. Nodes are created by creating bonders or aggregators.

/api/v4/aggregators/

List of aggregators

GET, POST

GET returns a list of aggregators. POST creates a new aggregator.

/api/v4/aggregators/X/

Aggregator with ID X

GET, PUT, PATCH, DELETE

/api/v4/aggregators/X/bonds/

Bonds with aggregator X as their primary agg

GET

/api/v4/aggregators/X/bonds_secondary/

Bonds with aggregator X as their secondary agg

GET

/api/v4/aggregators/X/bonds_current/

Bonds currently assigned to aggregator X

GET

/api/v4/bonders/

List of bonders

GET

Bonders cannot be created through the API. A bonder is created automatically when a bond is created.

/api/v4/bonders/X/

Bonder with ID X

GET, PUT, PATCH

Bonders cannot be deleted through the API. A bonder is deleted automatically when its bond is deleted.

/api/v4/bonders/X/ethernet_interfaces/

List of Ethernet interfaces on bond X

GET, POST

Used as a logical representation of a physical Ethernet interface on a bonder. Required for creating legs, connected IPs, routes, & VLANs.

/api/v4/bonders/X/ethernet_interfaces/Y/

Ethernet interface Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonders/X/vlan_interfaces/

List of VLAN interfaces on bonder X

GET, POST

VLANs require an Ethernet interface to use as the trunk interface.

/api/v4/bonders/X/vlan_interfaces/Y/

VLAN interface Y on bonder X

GET, PUT, PATCH, DELETE

Interface mode can only be changed on the Ethernet interface object.

/api/v4/bonders/X/vxlan_interfaces/

List of VXLAN interfaces on bonder X

GET, POST

VXLANs may be used to create layer-2 multi-point mesh networks between devices.

/api/v4/bonders/X/vxlan_interfaces/Y/

VXLAN interface Y on bonder X

GET, PUT, PATCH, DELETE

/api/v4/bonders/X/bridge_interfaces/

List of bridge interfaces on bonder X

GET, POST

Bridges are used to connect multiple layer-2 interfaces together into a single segment.

/api/v4/bonders/X/bridge_interfaces/Y/

bridge interface Y on bonder X

GET, PUT, PATCH, DELETE

/api/v4/qos/

List of Quality of Service profiles

GET, POST

/api/v4/qos/X/

QoS profile with ID X

GET, PUT, PATCH, DELETE

/api/v4/qos/X/bonds/

Bonds using QoS profile X

GET

/api/v4/bonds/

List of bonds

GET, POST

/api/v4/bonds/X/

Bond with ID X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/downtime_prevented/

Previous week and month’s prevented downtime for bond X

GET

Both the week and month have a start and end time, as well as duration (seconds) and count fields.

/api/v4/bonds/X/restart/

Action to restart bond X

POST

/api/v4/bonds/X/detect_leg_mtus/

Action to detect path MTUs on all active-mode legs

POST

/api/v4/bonds/X/restore_to_primary_agg/

Action to restore bond to its primary aggregator

POST

Returns HTTP 400 response if primary aggregator is still failed.

/api/v4/bonds/X/interface_legs/

List of interface legs on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/interface_legs/Y/

Leg Y on bond X

GET

/api/v4/bonds/X/interface_legs/Y/detect_mtus/

Action to detect path MTUs on leg Y

POST

/api/v4/bonds/X/interface_legs/Y/state_history/

List of contiguous states over last

GET

/api/v4/bonds/X/mobile_broadband_legs/

List of mobile broadband legs on bond X

GET, POST

/api/v4/bonds/X/mobile_broadband_legs/Y/

Mobile broadband leg Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/mobile_broadband_legs/Y/detect_mtus/

Action to detect path MTUs on leg Y

POST

/api/v4/bonds/X/mobile_broadband_legs/Y/state_history/

List of contiguous states over last

GET

/api/v4/bonds/X/connected_ips/

List of connected IPs on bond X

GET, POST

/api/v4/bonds/X/connected_ips/Y/

Connected IP Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/cpe_nat_ips/

List of CPE NAT IPs on bond X

GET, POST

/api/v4/bonds/X/cpe_nat_ips/Y/

CPE NAT IP Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/routes/

List of routes on bond X

GET, POST

/api/v4/bonds/X/routes/Y/

Route Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/speedtests/

List of speed tests on bond X

GET, POST

/api/v4/bonds/X/speedtests/Y/

Speed test Y on bond X

GET

/api/v4/bonds/X/tuners/

List of bond performance tunings for bond X

GET, POST

Get returns a list of bond tunings for bond X. Post creates and starts a bond tuning for bond X.

/api/v4/bonds/X/tuners/Z/

Bond performance tuning Z for bond X

GET

/api/v4/bonds/X/tuners/Z/cancel/

Cancel bond tuning Z

POST

Can only be done if bond tuning Z has not yet finished.

/api/v4/bonds/X/tuners/Z/accept/

Accept bond tuning Z recommendations

POST

Can only be done if bond tuning Z has finished successfully with recommendations, and the recommendations haven’t yet been accepted or declined.

/api/v4/bonds/X/tuners/Z/decline/

Decline bond tuning Z recommendations

POST

Can only be done if bond tuning Z has finished successfully with recommendations, and the recommendations haven’t yet been accepted or declined.

/api/v4/bonds/X/interface_legs/Y/tuners/

List of leg performance tunings for leg Y on bond X

GET, POST

Get returns a list of leg tunings for leg Y on bond X. Post creates and starts a leg tuning for leg Y on bond X.

/api/v4/bonds/X/interface_legs/Y/tuners/Z/

Leg performance tuning Z for leg Y on bond X

GET

/api/v4/bonds/X/interface_legs/Y/tuners/Z/cancel/

Cancel leg tuning Z

POST

Can only be done if leg tuning Z has not yet finished.

/api/v4/bonds/X/interface_legs/Y/tuners/Z/accept/

Accept leg tuning Z recommendations

POST

Can only be done if leg tuning Z has finished successfully with recommendations, and the recommendations haven’t yet been accepted or declined.

/api/v4/bonds/X/interface_legs/Y/tuners/Z/decline/

Decline leg tuning Z recommendations

POST

Can only be done if leg tuning Z has finished successfully with recommendations, and the recommendations haven’t yet been accepted or declined.

/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/

List of leg performance tunings for leg Y on bond X

GET, POST

Get returns a list of leg tunings for leg Y on bond X. Post creates and starts a leg tuning for leg Y on bond X.

/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/Z/

Leg performance tuning Z for leg Y on bond X

GET

/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/Z/cancel/

Cancel leg tuning Z

POST

Can only be done if leg tuning Z has not yet finished.

/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/Z/accept/

Accept leg tuning Z recommendations

POST

Can only be done if leg tuning Z has finished successfully with recommendations, and the recommendations haven’t yet been accepted or declined.

/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/Z/decline/

Decline leg tuning Z recommendations

POST

Can only be done if leg tuning Z has finished successfully with recommendations, and the recommendations haven’t yet been accepted or declined.

/api/v4/bonds/X/dnsmasq_services/

DHCP services on bond X

GET, POST

/api/v4/bonds/X/dnsmasq_services/Y/

DHCP service Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/dns_cache_services/

DNS caching services on bond X

GET, POST

/api/v4/bonds/X/dns_cache_services/Y/

DNS caching service Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/router_advertisement_services/

Router Advertisement services on bond X

GET, POST

/api/v4/bonds/X/router_advertisement_services/Y/

Router Advertisement service Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/dhcpv6_prefix_delegation_services/

DHCPv6-PD services on bond X

GET, POST

/api/v4/bonds/X/dhcpv6_prefix_delegation_services/Y/

DHCPv6-PD service Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/dhcpv6_non_temporary_address_services/

DHCPv6-NA services on bond X

GET, POST

/api/v4/bonds/X/dhcpv6_non_temporary_address_services/Y/

DHCPv6-NA service Y on bond X

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/autoipv6_addressings/

Auto-IPv6 addresses on bond X

GET, POST

/api/v4/bonds/X/autoipv6_addressings/Y/

Auto-IPv6 address Y on bond X.

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/dhcp_addressings/

DHCP addresses on bond X

GET, POST

/api/v4/bonds/X/dhcp_addressings/Y/

DHCP address Y on bond X.

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/pppoe_addressings/

PPPoE addresses on bond X

GET, POST

/api/v4/bonds/X/pppoe_addressings/Y/

PPPoE address Y on bond X.

GET, PUT, PATCH, DELETE

/api/v4/bonds/X/static_addressings/

Static addresses on bond X

GET, POST

/api/v4/bonds/X/static_addressings/Y/

Static address Y on bond X.

GET, PUT, PATCH, DELETE

/api/v4/dynamic_routing/aggregator/filters/

Aggregator dynamic routing filters.

GET, POST,

/api/v4/dynamic_routing/aggregator/filters/X/

Aggregator dynamic routing filter X.

GET, PUT, PATCH, DELETE

/api/v4/dynamic_routing/aggregator/protocols/

Aggregator dynamic routing protocols.

GET, POST,

/api/v4/dynamic_routing/aggregator/protocols/X/

Aggregator dynamic routing protocol X.

GET, PUT, PATCH, DELETE

/api/v4/dynamic_routing/bonder/filters/

Bonder dynamic routing filters.

GET, POST,

/api/v4/dynamic_routing/bonder/filters/X/

Bonder dynamic routing filter X.

GET, PUT, PATCH, DELETE

/api/v4/dynamic_routing/bonder/protocols/

Bonder dynamic routing protocols.

GET, POST,

/api/v4/dynamic_routing/bonder/protocols/X/

Bonder dynamic routing protocol X.

GET, PUT, PATCH, DELETE

/api/v4/flat/spaces/

List of spaces

GET

Simplified list containing basic space information for faster access.

/api/v4/legs/

List of legs

GET

Lists generic legs object types identified by type fields.

/api/v4/legs/X/

Leg X

GET

Generic leg object type identified by type field.

/api/v4/mobile_provider_profiles/

List of mobile broadband provider profiles

GET, POST

/api/v4/mobile_provider_profiles/X/

Mobile provider profile with ID X

GET, PUT, PATCH, DELETE

Profiles can only be deleted if leg_count is 0.

/api/v4/nodes/X/ethernet_interfaces/

List of Ethernet interfaces on node X

GET, POST

Used as a logical representation of a physical Ethernet interface on a node.

/api/v4/nodes/X/ethernet_interfaces/Y/

Ethernet interface Y on node X

GET, PUT, PATCH, DELETE

/api/v4/nodes/X/vlan_interfaces/

List of VLAN interfaces on node X

GET, POST

VLANs require an Ethernet interface to use as the trunk interface.

/api/v4/nodes/X/vlan_interfaces/Y/

VLAN interface Y on node X

GET, PUT, PATCH, DELETE

Interface mode can only be changed on the Ethernet interface object.

/api/v4/nodes/X/vxlan_interfaces/

List of VXLAN interfaces on node X

GET, POST

VXLANs may be used to create layer-2 multi-point mesh networks between devices.

/api/v4/nodes/X/vxlan_interfaces/Y/

VXLAN interface Y on node X

GET, PUT, PATCH, DELETE

/api/v4/alerts/bond/

List of ongoing alerts for all bonds

GET

/api/v4/alerts/bond/X/

List of ongoing alerts for bond X

GET

/api/v4/alerts/node/

List of ongoing alerts for all nodes

GET

/api/v4/alerts/node/X/

List of ongoing alerts for node X

GET

/api/v4/users/

List of system users

GET, POST

/api/v4/users/X/

User X

GET, PUT, PATCH, DELETE

/api/v4/groups/

List of authentication groups

GET, POST

/api/v4/groups/X/

Group X

GET, PUT, PATCH, DELETE

/api/v4/permissions/

Mapping of permission codes to printable names

GET

/api/v4/branding/

The root space branding used for the login page.

GET

Does not require any permissions.

/api/v4/login/

Used for token authentication login

POST

Requires email and password.

/api/v4/logout/

Logs out the current session and removes the token for authentication

POST

Requires the user authentication token.

/api/v4/spaces/

Detailed List of spaces

GET, POST

/api/v4/spaces/X/

Space X

GET, PUT, PATCH, DELETE

/api/v4/spaces/X/statistics/

List of statistics resources

GET

/api/v4/spaces/X/statistics/users/

User object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined. The count field is the total number of user records whose home space matches the given space. The active field is the number of users with the active bit set.

/api/v4/spaces/X/statistics/bonds/

Bond object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined.

/api/v4/spaces/X/statistics/qos_profiles/

QoS profile object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined.

/api/v4/spaces/X/statistics/speed_tests/

Speed test object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined. The count field is the total number of speed tests. The leg and bond fields list the number of those respective type of tests.

/api/v4/spaces/X/statistics/aggregators/

Aggregator object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined. The count field is the total number of aggregator records. The recent field is the number of aggregators that have connected to the management server in the last seven days.

/api/v4/spaces/X/statistics/connected_ips/

Connected IP object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined. The count field is the total number of connected IP records. The enabled field is the number of connected IPs with the enabled bit set.

/api/v4/spaces/X/statistics/routes/

Route object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined.

/api/v4/spaces/X/statistics/cpe_nat_ips/

CPE NAT IP object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined.

/api/v4/spaces/X/statistics/legs/

Leg object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined. The count field is the total number of leg records. The interface and mobilebroadband fields list the number of those respective type of legs. The link_mode field lists the number of legs with each of the respective link modes.

/api/v4/spaces/X/statistics/bonders/

Bonder object statistics

GET

The local field contains counts for the given space while the including_child_spaces field contains counts for the given space, and its children combined. The count field is the total number of bonder records. The recent field is the number of bonders that have connected to the management server in the last seven days.

/api/v4/spaces/X/ip_allocations/

List of IP Allocations

GET, POST

IP allocations owned by this space.

/api/v4/spaces/X/ip_allocations/X/

IP Allocation X

GET, PUT, PATCH, DELETE

/api/v4/spaces/X/delegated_ip_allocations/

List of IP Allocations

GET, POST

IP allocations owned by a parent space.

/api/v4/spaces/X/delegated_ip_allocations/X/

IP Allocation X

GET, PUT, PATCH, DELETE

/api/v4/ssh_keys/

SSH keys

GET, POST

/api/v4/ssh_keys/X/

SSH key X

GET, DELETE

/api/v4/system/

List of system resources

GET

/api/v4/system/status/

List of system status resources

GET

/api/v4/system/status/configupdates/

Configuration updates by status

GET

The count field is the total number of configuration update records. The failures field is the sum of the failure count fields of all records. The status field lists the number of records with each of the respective status values.

/api/v4/system/status/downtime_prevented/

Previous week and month’s prevented downtime across all bonds

GET

Both the week and month have a start and end time, as well as duration (seconds) and count fields.

/api/v4/system/status/bondingversion/

The version of the bonding package currently available in the software repository

GET

/api/v4/system/status/repositories/

The list of available versions in the software repository

GET

/api/v4/system/status/tlsinfo/

Certificate and CSR details for the web server TLS certificates

GET

/api/v4/system/status/aggfailover/

Aggregator failover check success and failure counts

GET

/api/v4/system/status/backups/

List of system backups

GET

/api/v4/system/status/backups/latest-backup/

Download latest backup as a zip file

GET

/api/v4/system/tasks/

List of system tasks

GET

POST to child resources to launch a task; a response means that the task has been queued, not that it has completed.

/api/v4/system/tasks/createisos/

Task to re-create the provisioning ISOs

POST

/api/v4/system/versions/

Software versions

GET

/api/v4/system/timezones/

List of available time zones

GET

/api/v4/system/mobile_broadband_provider_apns/

List of mobile provider APNs, usernames, and passwords

GET

/api/v4/system/isos/

List of ISO provisioning files

GET

ISO files are used to provision nodes.

/api/v4/settings/

List of system settings and values

GET, PUT, PATCH

/api/v4/self/

Branding and various UI-related settings

GET

This is considered a private API for the use of the SD-WAN web application. It is not subject to our normal deprecation rules. Please don’t use it.