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.