API-capable plugins must handle JSON-based API requests. When a plugin is invoked through the authentication API endpoint, if it needs interaction from the user, the plugin sends a JSON-based response rather than rendering a template.

Adapter and selector plugins handle distinct kinds of requests and generate distinct kinds of responses. The main method you implement in adapters is lookupAuthN(). The main method you implement in selectors is selectContext().

Developing an API-capable plugin requires a dependency on the PingFederate authentication API SDK JAR file, pf-authn-api-sdk-version.jar. In the PingFederate installation package, you can find the SDK JAR file in the server/default/lib directory. Documentation for the classes are in the Javadocs for the standard PingFederate SDK, under sdk/doc/index.html in the PingFederate install package.