Management Plane API > Networking > Services > Policy Based Routing

Associated URIs:

API Description API Path

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