From looking at the PingFederate Administrative API docs, there does not appear to be any way to create an Authentication Policy via the PingFederate Admin API. There are options to "Get/Set the Authentication Policy settings" and to "Get/Set the default Authentication Policy", but I am not seeing any mechanism to create or update a custom Authentication Policy.
You can create a new Authentication Policy using the /authenticationPolicies/default
endpoint with a PUT
operation.
It's a bit confusing because the entire policy (or all authentication policies as they appear in the administrative console) is under the "default" section. In a future release we (disclaimer: I'm on the PingFederate engineering team) may offer the ability to modify or create individual items within the policy.