.. _v4-api:

===
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         GET
                                                                    resources
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/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              GET, POST            GET returns a list
                                                                    aggregators                               of aggregators.
                                                                                                              POST creates a new
                                                                                                              aggregator.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/aggregators/X/``                                         Aggregator with      GET, PUT, PATCH,
                                                                    ID X                 DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/aggregators/X/bonds/``                                   Bonds with           GET
                                                                    aggregator X as
                                                                    their primary agg
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/aggregators/X/bonds_secondary/``                         Bonds with           GET
                                                                    aggregator X as
                                                                    their secondary
                                                                    agg
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/aggregators/X/bonds_current/``                           Bonds currently      GET
                                                                    assigned to
                                                                    aggregator X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/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   GET                  Quality of Service
                                                                    Service profiles                          resources are read
                                                                                                              and delete-only.
                                                                                                              Creating and
                                                                                                              profiles must be
                                                                                                              done through the
                                                                                                              normal site.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/qos/X/``                                                 QoS profile with     GET, PUT, PATCH,     The name,
                                                                    ID X                 DELETE               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      GET
                                                                    profile X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/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    GET                  Both the week and
                                                                    month's prevented                         month have a start
                                                                    downtime for bond                         and end time, as
                                                                    X                                         well as duration
                                                                                                              (seconds) and
                                                                                                              count fields.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/restart/``                                       Action to restart    POST
                                                                    bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/detect_leg_mtus/``                               Action to detect     POST
                                                                    path MTUs on all
                                                                    active-mode legs
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/restore_to_primary_agg/``                        Action to restore    POST                 Returns HTTP 400
                                                                    bond to its                               response if
                                                                    primary                                   primary aggregator
                                                                    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     POST
                                                                    path MTUs on leg Y
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/interface_legs/Y/state_history/``                List of contiguous   GET
                                                                    states over last
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/mobile_broadband_legs/``                         List of mobile       GET, POST
                                                                    broadband legs on
                                                                    bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/mobile_broadband_legs/Y/``                       Mobile broadband     GET, PUT, PATCH,
                                                                    leg Y on bond X      DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/mobile_broadband_legs/Y/detect_mtus/``           Action to detect     POST
                                                                    path MTUs on leg Y
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/mobile_broadband_legs/Y/state_history/``         List of contiguous   GET
                                                                    states over last
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/connected_ips/``                                 List of connected    GET, POST
                                                                    IPs on bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/connected_ips/Y/``                               Connected IP Y on    GET, PUT, PATCH,
                                                                    bond X               DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/cpe_nat_ips/``                                   List of CPE NAT      GET, POST
                                                                    IPs on bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/cpe_nat_ips/Y/``                                 CPE NAT IP Y on      GET, PUT, PATCH,
                                                                    bond X               DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/routes/``                                        List of routes on    GET, POST
                                                                    bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/routes/Y/``                                      Route Y on bond X    GET, PUT, PATCH,
                                                                                         DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/speedtests/``                                    List of speed        GET, POST
                                                                    tests on bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/speedtests/Y/``                                  Speed test Y on      GET
                                                                    bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/tuners/``                                        List of bond         GET, POST            Get returns a list
                                                                    performance                               of bond tunings
                                                                    tunings for bond X                        for bond X. Post
                                                                                                              creates and starts
                                                                                                              a bond tuning for
                                                                                                              bond X.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/tuners/Z/``                                      Bond performance     GET
                                                                    tuning Z for bond
                                                                    X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/tuners/Z/cancel/``                               Cancel bond tuning   POST                 Can only be done
                                                                    Z                                         if bond tuning Z
                                                                                                              has not yet
                                                                                                              finished.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/tuners/Z/accept/``                               Accept bond tuning   POST                 Can only be done
                                                                    Z recommendations                         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         POST                 Can only be done
                                                                    tuning Z                                  if bond tuning Z
                                                                    recommendations                           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          GET, POST            Get returns a list
                                                                    performance                               of leg tunings for
                                                                    tunings for leg Y                         leg Y on bond X.
                                                                    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      GET
                                                                    tuning Z for leg Y
                                                                    on bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/interface_legs/Y/tuners/Z/cancel/``              Cancel leg tuning    POST                 Can only be done
                                                                    Z                                         if leg tuning Z
                                                                                                              has not yet
                                                                                                              finished.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/interface_legs/Y/tuners/Z/accept/``              Accept leg tuning    POST                 Can only be done
                                                                    Z recommendations                         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   POST                 Can only be done
                                                                    Z recommendations                         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          GET, POST            Get returns a list
                                                                    performance                               of leg tunings for
                                                                    tunings for leg Y                         leg Y on bond X.
                                                                    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      GET
                                                                    tuning Z for leg Y
                                                                    on bond X
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/Z/cancel/``       Cancel leg tuning    POST                 Can only be done
                                                                    Z                                         if leg tuning Z
                                                                                                              has not yet
                                                                                                              finished.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/bonds/X/mobile_broadband_legs/Y/tuners/Z/accept/``       Accept leg tuning    POST                 Can only be done
                                                                    Z recommendations                         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   POST                 Can only be done
                                                                    Z recommendations                         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       GET, POST
                                                                    broadband provider
                                                                    profiles
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/mobile_provider_profiles/X/``                            Mobile provider      GET, PUT, PATCH,     Profiles can only
                                                                    profile with ID X    DELETE               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       GET, POST
                                                                    users
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/users/X/``                                               User X               GET, PUT, PATCH,
                                                                                         DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/groups/``                                                List of              GET, POST
                                                                    authentication
                                                                    groups
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/groups/X/``                                              Group X              GET, PUT, PATCH,
                                                                                         DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/permissions/``                                           Mapping of           GET
                                                                    permission codes
                                                                    to printable names
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/spaces/``                                                Detailed List of       GET, POST
                                                                    spaces
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/spaces/X/``                                              Space X              GET, PUT, PATCH,
                                                                                         DELETE
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/spaces/X/statistics/``                                   List of statistics   GET
                                                                    resources
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/spaces/X/statistics/users/``                             User object          GET                  The ``local``
                                                                    statistics                                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          GET                  The ``local``
                                                                    statistics                                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   GET                  The ``local``
                                                                    statistics                                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    GET                  The ``local``
                                                                    statistics                                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    GET                  The ``local``
                                                                    statistics                                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         GET                  The ``local``
                                                                    object statistics                         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         GET                  The ``local``
                                                                    statistics                                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    GET                  The ``local``
                                                                    statistics                                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           GET                  The ``local``
                                                                    statistics                                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        GET                  The ``local``
                                                                    statistics                                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           GET, POST            IP allocations
                                                                    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           GET, POST            IP allocations
                                                                    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       GET
                                                                    resources
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/``                                         List of system       GET
                                                                    status resources
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/configupdates/``                           Configuration        GET                  The count field is
                                                                    updates by status                         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    GET                  Both the week and
                                                                    month's prevented                         month have a start
                                                                    downtime across                           and end time, as
                                                                    all bonds                                 well as duration
                                                                                                              (seconds) and
                                                                                                              count fields.
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/bondingversion/``                          The version of the   GET
                                                                    bonding package
                                                                    currently
                                                                    available in the
                                                                    software
                                                                    repository
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/repositories/``                            The list of          GET
                                                                    available versions
                                                                    in the software
                                                                    repository
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/tlsinfo/``                                 Certificate and      GET
                                                                    CSR details for
                                                                    the web server TLS
                                                                    certificates
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/aggfailover/``                             Aggregator           GET
                                                                    failover check
                                                                    success and
                                                                    failure counts
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/backups/``                                 List of system       GET
                                                                    backups
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/status/backups/latest-backup/``                   Download latest      GET
                                                                    backup as a zip
                                                                    file
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/tasks/``                                          List of system       GET                  POST to child
                                                                    tasks                                     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    POST
                                                                    the provisioning
                                                                    ISOs
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/versions/``                                       Software versions    GET
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/timezones/``                                      List of available    GET
                                                                    time zones
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/mobile_broadband_provider_apns/``                 List of mobile       GET
                                                                    provider APNs,
                                                                    usernames, and
                                                                    passwords
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/system/isos/``                                           List of ISO          GET                  ISO files are used
                                                                    provisioning files                        to provision
                                                                                                              nodes
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/settings/``                                              List of system       GET, PUT, PATCH
                                                                    settings and
                                                                    values
------------------------------------------------------------------ -------------------- -------------------- --------------------
 ``/api/v4/self/``                                                  Branding and         GET                  This is considered
                                                                    various UI-related                        a private API for
                                                                    settings                                  the use of the
                                                                                                              Bonded Internet
                                                                                                              web application.
                                                                                                              It is not subject
                                                                                                              to our normal
                                                                                                              deprecation rules.
                                                                                                              Please don't use
                                                                                                              it.
================================================================== ==================== ==================== ====================
