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/qos/ |
List of Quality of Service profiles | GET | Quality of Service resources are read and delete-only. Creating and profiles must be done through the normal site. |
/api/v4/qos/X/ |
QoS profile with ID X | GET, PUT, PATCH, DELETE | The name, overhead_margin, and space fields are changeable through the API. The remainder of the fields are read-only. |
/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/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/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 Bonded Internet web application. It is not subject to our normal deprecation rules. Please don’t use it. |