PingOne Platform APIs

Sign-On Policies Operations

The sign-on policies endpoints provide common operations to create and manage sign-on policies resources.

You need the Environment Admin role to perform operations on sign-on policy resources.

Sign-on policies data model

Property Type Required Mutable Description

createdAt

Date

N/A

Read-only

The time the resource was created.

default

Boolean

Required

Mutable

Indicates whether this sign-on policy is the environment’s default that is used by applications that do not have application-specific sign-on policy assignments. This property can only be set to true, in which case the isDefault property of all other sign-on policies are set to false.

description

String

Optional

Mutable

The description of the sign-on policy.

environment.id

String

Required

Immutable

The environment resource’s unique identifier associated with the sign-on policy.

id

String

N/A

Read-only

The sign-on policy resource’s unique identifier.

name

String

Required

Mutable

Rhe resource name. The name must be unique within the environment, and can consist of either a string of alphanumeric letters, underscore, hyphen, period: ^[a-zA-Z0-9_.-]+$ or an absolute URI if the string contains a ":" character.

updatedAt

Date

N/A

Read-only

The time the resource was last updated.

Sign-on policies events generated

Refer to Audit Reporting Events for the events generated.

Response codes

Code Message

200

Successful operation.

201

Successfully created.

204

Successfully removed. No content.

400

The request could not be completed.

404

The requested resource was not found.

Sign-on policy errors

In addition to the general error codes, sign-on policy operations can return the following errors:

HTTP status Top‑level code Detail code When it happens and what the response contains

400

INVALID_DATA

EMPTY_VALUE or OUT_OF_RANGE or INVALID_VALUE

Message: Validation Error : [<property> <message>]

When and details

When: A POST /signOnPolicies or PUT /signOnPolicies/{policyID} request omits the required name property, supplies a name containing spaces, supplies a name that is empty or longer than 256 characters, supplies a name containing characters other than Unicode letters, marks, numbers, forward slashes, dots, apostrophes, underscores, or hyphens and that does not contain a colon to form an absolute URI, or a POST request sets default to true

Details: Describes the failing property, such as must not be null for an omitted name (detail EMPTY_VALUE), cannot contain spaces for a name containing spaces (detail INVALID_VALUE), size must be between 1 and 256 (with rangeMinimumValue and rangeMaximumValue inner errors) for an empty or over-256-character name (detail OUT_OF_RANGE), must contain only Unicode letters, marks, numbers, forward slashes, dots, apostrophes, underscores, or hyphens or if name contains a colon, policy name URI must be absolute and must not contain a fragment component (detail INVALID_VALUE), or Cannot set a Sign-On Policy to default on create for a POST request setting default to true (detail INVALID_VALUE, target default), for example Validation Error : [name cannot contain spaces]

400

INVALID_DATA

UNIQUENESS_VIOLATION

Message: The request could not be completed. One or more validation errors were in the request.

When and details

When: A POST /signOnPolicies request creates a sign-on policy with a name that duplicates another sign-on policy in the environment, or a PUT /signOnPolicies/{policyID} request renames the sign-on policy to one that does

Details: name already exists with target name and an existingId inner error carrying the duplicate policy’s ID

400

REQUEST_FAILED

CONSTRAINT_VIOLATION

Message: The request could not be completed. There was an issue processing the request.

When and details

When: A POST /signOnPolicies request creates the hundred‑first sign-on policy in the environment (a maximum of 100 policies per environment is enforced, raised to 150 for environments with the increased-limit feature enabled), a PUT request sets the policy’s default property to true when the policy has no actions, a PUT request changes an environment’s default policy to a policy that requires MFA when the actor has MFA disabled or no valid registered devices, or a DELETE /signOnPolicies/{policyID} request deletes the environment’s default policy or would leave the actor locked out of a platform application

Details: Cannot create more than 100 policies per environment (or Cannot create more than 150 policies per environment for feature-enabled environments), An environment must have a default policy (a PUT request clearing the current default policy’s default flag), Cannot set a policy without actions as the default policy., Cannot set an MFA policy as the default policy when you have MFA disabled or no valid registered device., Cannot delete a default policy, or

Cannot delete the sign on policy because you have MFA disabled or no valid registered devices, and the remaining sign on policies for a platform application (or the default policy if none remain) require MFA.

400

INVALID_REQUEST

None

Message: The request could not be completed. The request was malformed or invalid.

When and details

When: A path identifier cannot be parsed as a UUID, or the request body cannot be deserialized

Details: For a JSON field conversion error, the detail is Invalid value for attribute. with target = the field path. Otherwise no detail is returned.

403

ACCESS_FAILED

None

Message: The actor attempting to perform the request is not authorized.

When and details

When: The actor lacks the authn:create:signOnPolicy permission (POST), the authn:read:signOnPolicy permission (GET operations), the authn:update:signOnPolicy permission (PUT), or the authn:delete:signOnPolicy permission (DELETE)

Details: None.

404

NOT_FOUND

None

Message: The request could not be completed. The requested resource was not found.

When and details

When: GET, PUT, or DELETE /signOnPolicies/{policyID} references a sign-on policy that does not exist in the environment

Details: None.