Management Plane API > Networking > Services

Associated URIs:

API Description API Path

List All DHCP Relay Profiles


Returns information about all dhcp relay profiles.
GET /api/v1/dhcp/relay-profiles

Create a DHCP Relay Profile


Creates a dhcp relay profile.
POST /api/v1/dhcp/relay-profiles

Delete a DHCP Relay Profile


Deletes the specified dhcp relay profile.
DELETE /api/v1/dhcp/relay-profiles/<relay-profile-id>

Read a DHCP Relay Profile


Returns information about the specified dhcp relay profile.
GET /api/v1/dhcp/relay-profiles/<relay-profile-id>

Update a DHCP Relay Profile


Modifies the specified dhcp relay profile.
PUT /api/v1/dhcp/relay-profiles/<relay-profile-id>

List all DHCP Relay Services


Returns information about all configured dhcp relay services.
GET /api/v1/dhcp/relays

Create a DHCP Relay Service


Creates a dhcp relay service.
POST /api/v1/dhcp/relays

Delete a DHCP Relay Service


Deletes the specified dhcp relay service.
DELETE /api/v1/dhcp/relays/<relay-id>

Read a DHCP Relay Service


Returns the dhcp relay service information.
GET /api/v1/dhcp/relays/<relay-id>

Update a DHCP Relay Service


Modifies the specified dhcp relay service.
PUT /api/v1/dhcp/relays/<relay-id>

Get a paginated list of DHCP server profiles


Get a paginated list of DHCP server profiles.
GET /api/v1/dhcp/server-profiles

Create a DHCP server profile


Create a DHCP server profile. If no edge member is specified, edge members
to run the dhcp servers will be auto-allocated from the edge cluster.
POST /api/v1/dhcp/server-profiles

Delete a DHCP server profile


Delete a DHCP server profile specified by the profile id.
DELETE /api/v1/dhcp/server-profiles/<profile-id>

Get a DHCP server profile


Return the DHCP profile specified by the profile id.
GET /api/v1/dhcp/server-profiles/<profile-id>

Update a DHCP server profile


If both the edge_cluster_member_indexes in the DhcpProfile are changed in
a same PUT API, e.g. change from [a,b] to [x,y], the current DHCP server
leases will be lost, which could cause the network crash due to ip conflicts.
Hence the suggestion is to change only one member index in one single update,
e.g. from [a, b] to [a,y].

Please note, the edge_cluster_id in DhcpProfile can NOT be changed by this
PUT operation because all existing DHCP leases will lost. If losing leases
is not a problem, a dedicated re-allocation API is suggested to modify the
edge-cluster-id, i.e. "POST /api/v1/dhcp/dhcp-profiles/?action=reallocate".

Meanwhile, if the edge_cluster_member_indexes was specified currently but
now is changed to none (not specified) via a PUT operation, the edge nodes
will not be auto-selected from edge cluster. Instead, the previously-allocated
edge nodes will continue to be used by the DHCP server. This is because
changing both edge nodes of a DHCP server will lose all existing leases.
In case re-allocation is required and leases lost is not a problem (or can
be recovered), please invoke the reallocate API mentioned above with new
DhcpProfile to accomplish the intent.
PUT /api/v1/dhcp/server-profiles/<profile-id>

Reallocate edge cluster and members of given DHCP profile.


As changing edge-cluster-id of a DhcpProfile by a PUT is disallowed,
this re-allocate API is used to modify the edge-cluster-id and members
of a given DhcpProfile.

Only the edge-cluster-id and the edge-cluster-member-indexes fields will
be picked up by this re-allication API. The othere fields in the payload
will be ignored.

If the edge-cluster-id in the payload DhcpProfile is different from the
current edge-cluster-id of the profile, the referencing DHCP server(s) will
be re-allocated to the new edge cluster. If the edge-cluster-id is not
changed, the referencing DHCP server(s) will be re-allocated to the
given edge members in the edge cluster. In this case, this REST API will
act same as that of updating a DhcpProfile.

If the edge cluster member indexes are provided, they should exist in the
given edge cluster. If the indexes are not specified in the DhcpProfile,
edge members will be auto-allocated from the given edge cluster.

Please note that re-allocating edge-cluster will cause lose of all exisitng
DHCP lease information. This API is used only when loosing DHCP leases is
not a real problem, e.g. cross-site migration or failover and all client
hosts will be reboot and get new IP addresses.
POST /api/v1/dhcp/server-profiles/<server-profile-id>?action=reallocate

Get a paginated list of DHCP servers


List logical DHCP servers with pagination support.
GET /api/v1/dhcp/servers

Create a DHCP server


Create a logical DHCP server with v4 and/or v6 servers.
POST /api/v1/dhcp/servers

Delete a DHCP server


Delete a logical DHCP server specified by server id.
DELETE /api/v1/dhcp/servers/<server-id>

Get a DHCP server with v4 and/or v6 servers


Retrieve a logical DHCP server specified by server id.
GET /api/v1/dhcp/servers/<server-id>

Update a DHCP server with v4 and/or v6 servers


Update a logical DHCP server with new configurations.
PUT /api/v1/dhcp/servers/<server-id>

Get a paginated list of a DHCP server's IP pools


List the ip pools of a logical DHCP server with pagination support.
GET /api/v1/dhcp/servers/<server-id>/ip-pools

Create an ip pool for a DHCP server


Create an ip pool for a local DHCP server
POST /api/v1/dhcp/servers/<server-id>/ip-pools

Delete a DHCP server's IP pool


Delete a specific ip pool of a given logical DHCP server.
DELETE /api/v1/dhcp/servers/<server-id>/ip-pools/<pool-id>

Get a DHCP server's IP pool with the specified pool ID


Return a specific ip pool of a given logical DHCP server.
GET /api/v1/dhcp/servers/<server-id>/ip-pools/<pool-id>

Update a DHCP server's IP pool


Update a specific ip pool of a given logical DHCP server.
PUT /api/v1/dhcp/servers/<server-id>/ip-pools/<pool-id>

Get the realized state of a dhcp ip pool


Return realized state information of a dhcp ip pool.
After a dhcp ip pool is created or updated, you can invoke this API to get
the realization information of the ip pool.
GET /api/v1/dhcp/servers/<server-id>/ip-pools/<pool-id>/state

Get a paginated list of a DHCP IPv6 server's IP pools


List the ip pools of a logical DHCP IPv6 server with pagination support.
GET /api/v1/dhcp/servers/<server-id>/ipv6-ip-pools

Create an ip pool for a DHCP IPv6 server


Create an ip pool for a local DHCP IPv6 server
POST /api/v1/dhcp/servers/<server-id>/ipv6-ip-pools

Delete a DHCP IPv6 server's IP pool


Delete a specific ip pool of a given logical DHCP IPv6 server.
DELETE /api/v1/dhcp/servers/<server-id>/ipv6-ip-pools/<pool-id>

Get a DHCP IPv6 server's IP pool with the specified pool ID


Return a specific ip pool of a given logical DHCP IPv6 server.
GET /api/v1/dhcp/servers/<server-id>/ipv6-ip-pools/<pool-id>

Update a DHCP IPv6 server's IP pool


Update a specific ip pool of a given logical DHCP IPv6 server.
PUT /api/v1/dhcp/servers/<server-id>/ipv6-ip-pools/<pool-id>

Get a paginated list of a DHCP IPv6 server's static bindings


Return a paginated list of a static bindings of a given logical DHCP IPv6 server.
GET /api/v1/dhcp/servers/<server-id>/ipv6-static-bindings

Create a static binding for a DHCP IPv6 server


Create a static binding for a logical DHCP IPv6 server.
POST /api/v1/dhcp/servers/<server-id>/ipv6-static-bindings

Delete a static binding for DHCP IPv6 server


Delete a specific static binding of a given logical DHCP IPv6 server.
DELETE /api/v1/dhcp/servers/<server-id>/ipv6-static-bindings/<binding-id>

Get a DHCP IPv6 server's static binding with the specified binding ID


Return a specific static binding of a given logical DHCP IPv6 server.
GET /api/v1/dhcp/servers/<server-id>/ipv6-static-bindings/<binding-id>

Update a DHCP IPv6 server's static binding


Update a specific static binding of a given local DHCP IPv6 server.
PUT /api/v1/dhcp/servers/<server-id>/ipv6-static-bindings/<binding-id>

Delete a single DHCP lease entry specified by ip and mac.


Delete a single DHCP lease entry specified by ip and mac.

The DHCP server matches the DHCP lease with the given ip address and
the mac address. The matched lease entry will be deleted. If no lease
matches, the request is ignored.

The DHCP lease to be deleted will be removed by the system from both active
and standby node. The system will report error if the DHCP lease could not
be removed from both nodes. If the DHCP lease could not be removed on either
node, please check the DHCP server status. Once the DHCP server status is
UP, please invoke the deletion API again to ensure the lease gets deleted
from both nodes.
DELETE /api/v1/dhcp/servers/<server-id>/leases

Get the realized state of a dhcp server


Return realized state information of a dhcp server.
After a dhcp server is created or updated, you can invoke this API to get
the realization information of the server.
GET /api/v1/dhcp/servers/<server-id>/state

Get a paginated list of a DHCP server's static bindings


Return a paginated list of a static bindings of a given logical DHCP server.
GET /api/v1/dhcp/servers/<server-id>/static-bindings

Create a static binding for a DHCP server


Create a static binding for a logical DHCP server.
POST /api/v1/dhcp/servers/<server-id>/static-bindings

Delete a static binding


Delete a specific static binding of a given logical DHCP server.
DELETE /api/v1/dhcp/servers/<server-id>/static-bindings/<binding-id>

Get a DHCP server's static binding with the specified binding ID


Return a specific static binding of a given logical DHCP server.
GET /api/v1/dhcp/servers/<server-id>/static-bindings/<binding-id>

Update a DHCP server's static binding


Update a specific static binding of a given local DHCP server.
PUT /api/v1/dhcp/servers/<server-id>/static-bindings/<binding-id>

Get the realized state of a dhcp static binding


Return realized state information of a dhcp static binding.
After a dhcp static binding is created or updated, you can invoke this API to get
the realization information of the static binding.
GET /api/v1/dhcp/servers/<server-id>/static-bindings/<binding-id>/state

Get DHCP service status with given dhcp server id


Returns the service status of the given dhcp server.
GET /api/v1/dhcp/servers/<server-id>/status

Get a paginated list of DNS forwarders


Get a paginated list of DNS forwarders.
GET /api/v1/dns/forwarders

Create a DNS forwader


Create a DNS forwader upon a logical router. There is only
one DNS forwarder can be created upon a given logical router.
POST /api/v1/dns/forwarders

Delete a specific DNS forwarder


Delete a specific DNS forwarder.
DELETE /api/v1/dns/forwarders/<forwarder-id>

Retrieve a DNS forwarder


Retrieve a DNS forwarder.
GET /api/v1/dns/forwarders/<forwarder-id>

Clear the current cache of the DNS forwarder.


Clear the current cache of the DNS forwarder.
POST /api/v1/dns/forwarders/<forwarder-id>?action=clear_cache

Enable the DNS forwarder.


Enable the DNS forwarder if the forwarder is currently disabled. If the
DNS forwarder is already enabled, the forwarder will not be re-enabled.

Please note, once a DNS forwarder is disabled then enabled, the previous
DNS forwarder statistics counters will be reset.
POST /api/v1/dns/forwarders/<forwarder-id>?action=enable

Disable the DNS forwarder.


Disable the DNS forwarder if the forwarder is currently enbled. If the DNS
forwarder is already disabled, the forwarder will not be re-disabled.

Please note, once a DNS forwarder is disabled then enabled, the previous
DNS forwarder statistics counters will be reset.
POST /api/v1/dns/forwarders/<forwarder-id>?action=disable

Update a specific DNS forwarder


Update a specific DNS forwarder.
PUT /api/v1/dns/forwarders/<forwarder-id>

Get the recent failed DNS queries


Return the given count of recent failed DNS queries from DNS forwarder.
Since the DNS forwarder is running in Acitve/Standby HA mode on transport
nodes, the given count of queries will be returned from each nodes. Hence
the total queries returned could be doubled.
If no count is specified, 100 recent failed queries are returned. If the
recent failures is less than the given count, all the failures will be
returned. The maximum count is 1,000.
GET /api/v1/dns/forwarders/<forwarder-id>/failed-queries

Resolve a given address via the DNS forwarder


Query the nameserver for an ip-address or a FQDN of the given an address optionally using
an specified DNS server. If the address is a fqdn, nslookup will resolve ip-address with it.
If the address is an ip-address, do a reverse lookup and answer fqdn(s).
GET /api/v1/dns/forwarders/<forwarder-id>/nslookup

Get the realized state of a DNS forwarder


Return the realized state information of a DNS forwarder.
After a DNS forwarder was created or updated, you can invoke this API to
check the realization state of the forwarder.
GET /api/v1/dns/forwarders/<forwarder-id>/state

Get current status of the given DNS forwarder


Returns the current status of the given DNS forwarder.
GET /api/v1/dns/forwarders/<forwarder-id>/status

Retrieve a paginated list of load balancer application profiles


Retrieve a paginated list of load balancer application profiles.
GET /api/v1/loadbalancer/application-profiles

Create a load balancer application profile


Create a load balancer application profile.
POST /api/v1/loadbalancer/application-profiles

Delete a load balancer application profile


Delete a load balancer application profile.
DELETE /api/v1/loadbalancer/application-profiles/<application-profile-id>

Retrieve a load balancer application profile


Retrieve a load balancer application profile.
GET /api/v1/loadbalancer/application-profiles/<application-profile-id>

Update a load balancer application profile


Update a load balancer application profile.
PUT /api/v1/loadbalancer/application-profiles/<application-profile-id>

Retrieve a paginated list of load balancer client-ssl profiles


Retrieve a paginated list of load balancer client-ssl profiles.
GET /api/v1/loadbalancer/client-ssl-profiles

Create a load balancer client-ssl profile


Create a load balancer client-ssl profile.
POST /api/v1/loadbalancer/client-ssl-profiles

Delete a load balancer client-ssl profile


Delete a load balancer client-ssl profile.
DELETE /api/v1/loadbalancer/client-ssl-profiles/<client-ssl-profile-id>

Retrieve a load balancer client-ssl profile


Retrieve a load balancer client-ssl profile.
GET /api/v1/loadbalancer/client-ssl-profiles/<client-ssl-profile-id>

Update a load balancer client-ssl profile


Update a load balancer client-ssl profile.
PUT /api/v1/loadbalancer/client-ssl-profiles/<client-ssl-profile-id>

Retrieve a paginated list of load balancer monitors


Retrieve a paginated list of load balancer monitors.
GET /api/v1/loadbalancer/monitors

Create a load balancer monitor


Create a load balancer monitor.
POST /api/v1/loadbalancer/monitors

Delete a load balancer monitor


Delete a load balancer monitor.
DELETE /api/v1/loadbalancer/monitors/<monitor-id>

Retrieve a load balancer monitor


Retrieve a load balancer monitor.
GET /api/v1/loadbalancer/monitors/<monitor-id>

Update a load balancer monitor


Update a load balancer monitor.
PUT /api/v1/loadbalancer/monitors/<monitor-id>

Read load balancer node usage summary


API is used to retrieve the load balancer node usage summary for all nodes.
GET /api/v1/loadbalancer/node-usage-summary

Retrieve a paginated list of load balancer persistence profiles


Retrieve a paginated list of load balancer persistence profiles.
GET /api/v1/loadbalancer/persistence-profiles

Create a load balancer persistence profile


Create a load balancer persistence profile.
POST /api/v1/loadbalancer/persistence-profiles

Delete a load balancer persistence profile


Delete a load balancer persistence profile.
DELETE /api/v1/loadbalancer/persistence-profiles/<persistence-profile-id>

Retrieve a load balancer persistence profile


Retrieve a load balancer persistence profile.
GET /api/v1/loadbalancer/persistence-profiles/<persistence-profile-id>

Update a load balancer persistence profile


Update a load balancer persistence profile.
PUT /api/v1/loadbalancer/persistence-profiles/<persistence-profile-id>

Retrieve a paginated list of load balancer pools


Retrieve a paginated list of load balancer pools.
GET /api/v1/loadbalancer/pools

Create a load balancer pool


Create a load balancer pool.
POST /api/v1/loadbalancer/pools

Delete a load balancer pool


Delete a load balancer pool.
DELETE /api/v1/loadbalancer/pools/<pool-id>

Retrieve a load balancer pool


Retrieve a load balancer pool.
GET /api/v1/loadbalancer/pools/<pool-id>

Add, remove, or modify load balancer pool members


For ADD_MEMBERS, pool members will be created and added to load balancer
pool. This action is only valid for static pool members.
For REMOVE_MEMBERS, pool members will be removed from load balancer pool
via IP and port in pool member settings. This action is only valid for
static pool members.
For UPDATE_MEMBERS, pool members admin state will be updated. This action
is valid for both static pool members and dynamic pool members. For dynamic
pool members, this update will be stored in customized_members field in load
balancer pool member group.
POST /api/v1/loadbalancer/pools/<pool-id>

Update a load balancer pool


Update a load balancer pool.
PUT /api/v1/loadbalancer/pools/<pool-id>

Retrieve a paginated list of load balancer rules


Retrieve a paginated list of load balancer rules.
GET /api/v1/loadbalancer/rules

Create a load balancer rule


Create a load balancer rule.
POST /api/v1/loadbalancer/rules

Delete a load balancer rule


Delete a load balancer rule.
DELETE /api/v1/loadbalancer/rules/<rule-id>

Retrieve a load balancer rule


Retrieve a load balancer rule.
GET /api/v1/loadbalancer/rules/<rule-id>

Update a load balancer rule


Update a load balancer rule.
PUT /api/v1/loadbalancer/rules/<rule-id>

Retrieve a paginated list of load balancer server-ssl profiles


Retrieve a paginated list of load balancer server-ssl profiles.
GET /api/v1/loadbalancer/server-ssl-profiles

Create a load balancer server-ssl profile


Create a load balancer server-ssl profile.
POST /api/v1/loadbalancer/server-ssl-profiles

Delete a load balancer server-ssl profile


Delete a load balancer server-ssl profile.
DELETE /api/v1/loadbalancer/server-ssl-profiles/<server-ssl-profile-id>

Retrieve a load balancer server-ssl profile


Retrieve a load balancer server-ssl profile.
GET /api/v1/loadbalancer/server-ssl-profiles/<server-ssl-profile-id>

Update a load balancer server-ssl profile


Update a load balancer server-ssl profile.
PUT /api/v1/loadbalancer/server-ssl-profiles/<server-ssl-profile-id>

Retrieve a paginated list of load balancer services


Retrieve a paginated list of load balancer services.
When logical_router_id is specified in request parameters, the
associated load balancer services which are related to the given
logical router returned.
GET /api/v1/loadbalancer/services

Create a load balancer service


Create a load balancer service.
POST /api/v1/loadbalancer/services

Delete a load balancer service


Delete a load balancer service.
DELETE /api/v1/loadbalancer/services/<service-id>

Retrieve a load balancer service


Retrieve a load balancer service.
GET /api/v1/loadbalancer/services/<service-id>

Update a load balancer service


Update a load balancer service.
PUT /api/v1/loadbalancer/services/<service-id>

Read the debug information of the load balancer service


API to download below information which will be used for debugging and
troubleshooting.
1) Load balancer service
2) Load balancer associated virtual servers
3) Load balancer associated pools
4) Load balancer associated profiles such as persistence, SSL, application.
5) Load balancer associated monitors
6) Load balancer associated rules
GET /api/v1/loadbalancer/services/<service-id>/debug-info

Get the statistics of load balancer pool


Returns the statistics of the given load balancer pool by given load balancer
serives id and load balancer pool id.
Currently, only realtime mode is supported.
GET /api/v1/loadbalancer/services/<service-id>/pools/<pool-id>/statistics

Get the status of load balancer pool


Returns the status of the given load balancer pool by given load balancer
serives id and load balancer pool id.
GET /api/v1/loadbalancer/services/<service-id>/pools/<pool-id>/status

Get the statistics list of load balancer pools


Returns the statistics list of load balancer pools in given load balancer service.
Currently, only realtime mode is supported.
GET /api/v1/loadbalancer/services/<service-id>/pools/statistics

Get the status list of load balancer pools


Returns the status list of load balancer pools in given load balancer service.
GET /api/v1/loadbalancer/services/<service-id>/pools/status

Get the statistics of load balancer service


Returns the statistics of the given load balancer service.
GET /api/v1/loadbalancer/services/<service-id>/statistics

Get the status of the given load balancer service


Returns the status of the given load balancer service.
GET /api/v1/loadbalancer/services/<service-id>/status

Read the usage information of the given load balancer service


API to fetch the capacity and current usage of the given load balancer
service.
GET /api/v1/loadbalancer/services/<service-id>/usage

Get the statistics of the given load balancer virtual server


Returns the statistics of the load balancer virtual server by given load
balancer serives id and load balancer virtual server id.
GET /api/v1/loadbalancer/services/<service-id>/virtual-servers/<virtual-server-id>/statistics

Get the status of the load balancer virtual server


Returns the status of the virtual server by given load balancer serives id
and load balancer virtual server id.
GET /api/v1/loadbalancer/services/<service-id>/virtual-servers/<virtual-server-id>/status

Get the statistics list of virtual servers


Returns the statistics list of virtual servers in given load balancer service.
Currently, only realtime mode is supported.
GET /api/v1/loadbalancer/services/<service-id>/virtual-servers/statistics

Get the status list of virtual servers in given load balancer service


Returns the status list of virtual servers in given load balancer service.
GET /api/v1/loadbalancer/services/<service-id>/virtual-servers/status

Retrieve a list of supported SSL ciphers and protocols


Retrieve a list of supported SSL ciphers and protocols.
GET /api/v1/loadbalancer/ssl/ciphers-and-protocols

Read load balancer usage for the given node


API is used to retrieve the usage of load balancer entities which include
current number and remaining number of credits, virtual Servers, pools,
pool Members and different size of LB services from the given node.
Currently only Edge node is supported.
GET /api/v1/loadbalancer/usage-per-node/<node-id>

Retrieve a paginated list of load balancer virtual servers


Retrieve a paginated list of load balancer virtual servers.
GET /api/v1/loadbalancer/virtual-servers

Create a load balancer virtual server


Create a load balancer virtual server.
POST /api/v1/loadbalancer/virtual-servers

Create a load balancer virtual server with rules


It is used to create virtual servers, the associated rules and bind the
rules to the virtual server.
To add new rules, make sure the rules which have no identifier specified,
the new rules are automatically generated and associated to the virtual
server.
If the virtual server need to consume some existed rules without change,
those rules should not be specified in this array, otherwise, the rules
are updated.
POST /api/v1/loadbalancer/virtual-servers?action=create_with_rules

Delete a load balancer virtual server


Delete a load balancer virtual server.
DELETE /api/v1/loadbalancer/virtual-servers/<virtual-server-id>

Retrieve a load balancer virtual server


Retrieve a load balancer virtual server.
GET /api/v1/loadbalancer/virtual-servers/<virtual-server-id>

Update a load balancer virtual server with rules


It is used to update virtual servers, the associated rules and update the
binding of virtual server and rules.
To add new rules, make sure the rules which have no identifier specified,
the new rules are automatically generated and associated to the virtual
server.
To delete old rules, the rules should not be configured in new action, the
UUID of deleted rules should be also removed from rule_ids.
To update rules, the rules should be specified with new change and
configured with identifier.
If there are some rules which are not modified, those rule should not be
specified in the rules list, the UUID list of rules should be specified in
rule_ids of LbVirtualServer.
PUT /api/v1/loadbalancer/virtual-servers/<virtual-server-id>?action=update_with_rules

Update a load balancer virtual server


Update a load balancer virtual server.
PUT /api/v1/loadbalancer/virtual-servers/<virtual-server-id>

Get a paginated list of metadata proxies


GET /api/v1/md-proxies

Create a metadata proxy


POST /api/v1/md-proxies

Delete a metadata proxy


DELETE /api/v1/md-proxies/<proxy-id>

Get a metadata proxy


GET /api/v1/md-proxies/<proxy-id>

Update a metadata proxy


PUT /api/v1/md-proxies/<proxy-id>

Get Metadata Proxy status with given proxy id and attached logical switch.


Returns the status of the given metadata proxy and attached logical switch.
GET /api/v1/md-proxies/<proxy-id>/<logical-switch-id>/status

List All PBR Sections


List all PBR section in paginated form. A default page size is limited
to 1000 PBR sections.
GET /api/v1/pbr/sections

Create a Section with Rules


Creates a new PBR section with rules. The limit on the number of
rules is defined by maxItems in collection types for PBRRule
(PBRRuleXXXList types). When invoked on a section with a large number
of rules, this API is supported only at low rates of invocation (not more
than 4-5 times per minute). The typical latency of this API with about 1024
rules is about 4-5 seconds. This API should not be invoked with large
payloads at automation speeds. More than 50 rules with a large number of
rule references is not supported.

Instead, to create sections, use:
POST /api/v1/pbr/sections

To create rules, use:
POST /api/v1/pbr/sections/<section-id>/rules
POST /api/v1/pbr/sections?action=create_with_rules

Create a New Empty Section


Creates new empty PBR section in the system.
POST /api/v1/pbr/sections

Delete an Existing Section and Its Associated Rules


Removes PBR section from the system. PBR section with
rules can only be deleted by passing "cascade=true" parameter.
DELETE /api/v1/pbr/sections/<section-id>

Get an Existing Section


Returns information about PBR section for the identifier.
GET /api/v1/pbr/sections/<section-id>

Update an Existing Section, Including Its Rules


Modifies existing PBR section along with its association with rules.
When invoked on a large number of rules, this API is supported only at low
rates of invocation (not more than 2 times per minute). The typical latency
of this API with about 1024 rules is about 15 seconds in a cluster setup.
This API should not be invoked with large payloads at automation speeds.

Instead, to update rule content, use:
PUT /api/v1/pbr/sections/<section-id>/rules/<rule-id>
POST /api/v1/pbr/sections/<section-id>?action=update_with_rules

Update an Existing Section, including Its Position


Modifies an existing PBR section along with its relative position
among other PBR sections in the system.
POST /api/v1/pbr/sections/<section-id>?action=revise

Update an Existing Section with Rules


Modifies an existing PBR section along with its relative position
among other PBR sections with rules. When invoked on a large number
of rules, this API is supported only at low rates of invocation (not more
than 2 times per minute). The typical latency of this API with about 1024
rules is about 15 seconds in a cluster setup. This API should not be
invoked with large payloads at automation speeds.

Instead, to move a section above or below another section, use:
POST /api/v1/pbr/sections/<section-id>?action=revise

To modify rules, use:
PUT /api/v1/pbr/sections/<section-id>/rules/<rule-id>
POST /api/v1/pbr/sections/<section-id>?action=revise_with_rules

Get an Existing Section, Including Rules


Returns PBR section information with rules for a section identifier.
When invoked on a section with a large number of rules, this API is supported
only at low rates of invocation (not more than 4-5 times per minute). The
typical latency of this API with about 1024 rules is about 4-5 seconds. This
API should not be invoked with large payloads at automation speeds. More than
50 rules with a large number rule references is not supported.

Instead, to read PBR rules, use:
GET /api/v1/pbr/sections/<section-id>/rules with the appropriate
page_size.
POST /api/v1/pbr/sections/<section-id>?action=list_with_rules

Update an Existing Section


Modifies the specified section, but does not modify the section's associated rules.
PUT /api/v1/pbr/sections/<section-id>

Get All the Rules for a Section


Return all PBR rule(s) information for a given PBR section.
GET /api/v1/pbr/sections/<section-id>/rules

Add a Single Rule in a Section


Adds a new PBR rule in existing PBR section.
POST /api/v1/pbr/sections/<section-id>/rules

Add Multiple Rules in a Section


Create multiple PBR rules in existing PBR section bounded by
limit of 1000 PBR rules per section.
POST /api/v1/pbr/sections/<section-id>/rules?action=create_multiple

Delete an Existing Rule


Delete existing PBR rule in a PBR section.
DELETE /api/v1/pbr/sections/<section-id>/rules/<rule-id>

Read an Existing Rule


Return existing PBR rule information in a PBR section.
GET /api/v1/pbr/sections/<section-id>/rules/<rule-id>

Update an Existing Rule and Reorder the Rule


Modifies existing PBR rule along with relative position among
other PBR rules inside a PBR section.
POST /api/v1/pbr/sections/<section-id>/rules/<rule-id>?action=revise

Update an Existing Rule


Modifies existing rule in a PBR section.
PUT /api/v1/pbr/sections/<section-id>/rules/<rule-id>

Get PBR rule level statistics.


Get aggregated statistics for a rule for given PBR rule.
Stats include total number of packets and total number of bytes for the
PBR rule.
GET /api/v1/pbr/sections/<section-id>/rules/<rule-id>/stats

Get PBR section level statistics.


Get aggregated statistics for all rules for a given pbr section.
Data includes total number of packets, and total number of bytes for all
PBR rules in the given section.
GET /api/v1/pbr/sections/<section-id>/rules/stats