Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Using the Policy Enforcer Connector API

The following sections provide usage examples for the various APIs defined in the Plug-in/Adaptor Schema for External System Integration with PE API:

Get Connector Type Details

Use this request to obtain information about the type of connector implemented by Policy Enforcer.

URI

/api/v2/connector

HTTP method

GET

Content-Type

application/json

Status

200

Returns the following information:

  • Name identifying the type of connector. For example, HPClearPass, CiscoISE, and so on.

  • Information about additional settings supported by the connector

  • Indicates whether or not communication with a controller requires a context specifier to be provided in addition to the standard controller information, such as IP address, port, and credentials. For example, for AWS, a region name must be specified.

Usage Example

Modify Connector Server’s Environment

Use this request to update information about the environment of connector server.

URI

/api/v2/connector/env

HTTP method

PUT

Content-Type

application/json

Status

200—Indicates the connector environment information is successfully received.

Usage Example

Get Connector Configuration Details

Use this request to obtain the configuration information of all connectors.

URI

/api/v2/connector/instances

HTTP method

GET

Content-Type

application/json

Status

200—Returns a list of connector configurations.

Usage Example

Instantiate a Connector

Use this request to instantiate a connector with the specified configuration.

URI

/api/v2/connector/instances

HTTP method

POST

Content-Type

application/json

Status

  • 200—Indicates the the connector is successfully instantiated with the specified configuration.

  • 500—Unexpected error

Usage Example

Get Connector Instance Details by ID

Use this request to obtain configuration information for the specified connector instance.

URI

/api/v2/connector/instances/{connectorId}

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns connector configuration.

  • 500—Unexpected error

Usage Example

Modify Connector Instance

Use this request to update the configuration for the specified connector instance.

URI

/api/v2/connector/instances/{connectorId}

HTTP method

PUT

Content-Type

application/json

Status

  • 200—Connector configuration is updated successfully

  • 500—Unexpected error

Usage Example

Delete a Connector Instance

Use this request to delete a connector instance.

URI

/api/v2/connector/instances/{connectorId}

HTTP method

DELETE

Content-Type

None

Status

  • 200—Connector is successfully deleted

  • 500—Unexpected error

Get the Connector and its Controller Status

Use this request to check reachability of the connector and the status of its underlying controller.

URI

/api/v2/connector/instances/{connectorId}/heartbeat

HTTP method

GET

Content-Type

None

Status

  • 200—Connector is reachable and the status of its underlying controller is OK.

  • 503—Connector is reachable, but the status of its underlying controller is not OK (for example, not reachable or no proper response).

  • 500—Unexpected error

Get All Enforcement Point Devices

Use this request to obtain information on the physical or virtual network devices such as firewall, switches, and routers performing the enforcement-related operations. These operations are either currently managed or to be managed by the associated EMS of Policy Enforcer.

You can perform this request only if the connector supports the ENFORCEMENT_POINT_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/enforcement-points

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of enforcement point devices.

  • 500—Unexpected error

  • 501—Connector does not support the ENFORCEMENT_POINT_INFO capability.

Usage Example

Get All Enforcement Subnets

Use this request to obtain information on the subnets containing endpoints that the connector can perform enforcement actions.

This is only available if the connector supports the ENFORCEMENT_SUBNET_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/enforcement-subnets

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of enforcement subnets.

  • 500—Unexpected error

  • 501—Connector does not support the ENFORCEMENT_POINT_INFO capability.

Usage Example

Retrieve Connector Log Files

Use this request to retrieve a zip file containing the log files of a connector server.

URI

/api/v2/connector/logs

HTTP method

GET

Content-Type

application/json

Status

  • 200—Connector's logs are successfully packaged into a zip file and the zip file is provided in the response.

  • 204—Logs are not available

  • 500—Unexpected error

Block the Infected Host Threat

Use this request to instruct the connector to perform a remediation action against an infected host threat.

This is available only if the connector supports the INFECTED_HOST_BLOCK and INFECTED_HOST_QUARANTINE capabilities.

URI

/api/v2/connector/instances/{connectorId}/threats/infected-hosts

HTTP method

POST

Content-Type

application/json

Status

  • 200—Remidiation action is successfully completed

  • 202—Remediation request is accepted and will be acted upon. However, the action is not yet complete.

  • 412—Remediation action could not be completed, because details about the specified endpoint are not currently available.

  • 500—Unexpected error

  • 501—Connector does not support the requested action

Usage Example

Get All Infected Host Threats

Use this request to Obtain the status of all the current infected host threats.

URI

/api/v2/connector/instances/{connectorId}/threats/infected-hosts

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of infected host threats

  • 500—Unexpected error

Usage Example

Block the DDoS Attack Threat

Use this request to instruct the connector to perform a remediation action against a Distributed Denial of Service (DDoS) attack threat.

This is available only if the connector supports the DDOS_BLOCK capability.

URI

/api/v2/connector/instances/{connectorId}/threats/ddos

HTTP method

POST

Content-Type

application/json

Status

  • 200—Remediation action is successfully completed

  • 202—Remediation request is accepted and will be acted upon. However, the action is not yet complete.

  • 500—Unexpected error

  • 501—Connector does not support the DDOS_BLOCK capability.

Usage Example

Get a List of DDoS Threats

Use this request to obtain the status of all the current DDoS threats.

URI

/api/v2/connector/instances/{connectorId}/threats/ddos

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of DDoS threats

  • 500—Unexpected error

Usage Example

Get IP Addresses of the Endpoints

Use this request to query the IP addresses of the endpoints tagged with a specified value.

This is available only if the connector supports the ENDPOINT_TAGGING_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/endpoints?tagValue=Web&tagName=Application

Note:

You can use asterisk (*) for the tag value field to query all endpoints associated with the specified tag name.

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of IP addresses of endpoints tagged with specified value.

Usage Example

Get All Tag Names and Their Values

Use this request to obtain information on all tag names that are currently referenced by the endpoints of a connector and for each endpoint, its unique set of values.

This is available only if the connector supports the ENDPOINT_TAGGING_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/endpoint-tags

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of tag names and their values.

  • 500—Unexpected error

  • 501—Connector does not support the ENDPOINT_TAGGING_INFO capability

Usage Example

Register a Listener

Use this request to register a listener to notify any updates from the group of endpoints tagged with a particular value. When changes occur, a POST call is invoked against postNotificationUrl using postNotificationAuthToken.

URI

/api/v2/connector/instances/{connectorId}/endpoint-tags/group-membership-listeners

HTTP method

POST

Content-Type

application/json

Status

  • 200—Returns a confirmation that the listener is registered successfully.

  • 500—Unexpected error

  • 501—Connector does not support the ENDPOINT_TAGGING_INFO capability

Usage Example

Get All Registered Listeners

Use this request to obtain the list of all currently registered endpoint tag listeners. Only available if the connector supports the ENDPOINT_TAGGING_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/endpoint-tags/group-membership-listeners

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of registered endpoint tag listeners

  • 500—Unexpected error

  • 501—Connector does not support the ENDPOINT_TAGGING_INFO capability

Usage Example

Get Details of a Listener by ID

Use this request to obtain information about the specified endpoint tag listener. Only available if the connector supports the ENDPOINT_TAGGING_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/endpoint-tags/group-membership-listeners/{listenerId}

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns information about the endpoint tag listener

  • 500—Unexpected error

Usage Example

Deregister a Listener by ID

Use this request to deregister an endpoint tag listener. This is available only if the connector supports the ENDPOINT_TAGGING_INFO capability.

URI

/api/v2/connector/instances/{connectorId}/endpoint-tags/group-membership-listeners/{listenerId}

HTTP method

DELETE

Content-Type

None

Status

  • 200—Listener is successfully deregistered.

  • 500—Unexpected error

Get a List of Controller Contexts

Use this request to query the specified controller for its list of contexts. This API is supported only for servers that require a controller context value to be specified when creating a connector instance.

URI

/api/v2/connector/controller-contexts

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns a list of controller contexts

  • 500—Server does not support controller contexts

Usage Example

Get More Information About a Controller

Use this request to query the specified controller for information, such as its set of entities implementing unique address spaces for endpoints.

URI

/api/v2/connector/controller-info

HTTP method

GET

Content-Type

application/json

Status

  • 200—Returns information about the specified controller.

Usage Example