PingOne Platform APIs

Propagation Mappings

Identity propagation mapping entities represent the attribute mappings associated with identity propagation rules. A mapping entity identified an attribute in the source identity store that is mapped to an attribute in the target identity store.

To reflect the propagation mappings API changes in the PingOne Admin Console, you must create a new propagation revision.

The examples that follow show common actions to find and manage identity propagation mapping resources. You need the Environment Admin role to perform operations on identity propagation mapping entities.

Propagation mapping data model

Property Type Required Mutable Description

attributeMappingType

Boolean

Optional

Mutable

Categorizes the attribute mapping as either group or user attribute mapping.

environment.id

String

N/A

Read-only

Identifier (UUID) of the PingOne environment for the propagation mapping

expression

String

Required/Optional

Mutable

PingOne Expression Language (PEL) expression to create the target attribute, such as supply a literal value, reformat the source value, or combine source user attributes. Either expression or sourceAttribute is required but not both. For more information on PEL, refer to PingOne expression language

id

String

N/A

Read-only

Identifier (UUID) of the propagation mapping

name

String

Required

Mutable

Unique name of the propagation mapping

rule.id

String

Required

Immutable

Identifier (UUID) of the rule to which this mapping applies

sourceAttribute

String

Required/Optional

Mutable

Source attribute for the mapping. Either expression or sourceAttribute is required but not both.

targetAttribute

String

Required

Mutable

Target attribute for the mapping

Response codes

Code Message

200

Successful operation.

204

Successfully removed. No content.

400

The request could not be completed.

401

You do not have access to this resource.

404

The requested resource was not found.

Propagation mapping errors

In addition to the general error codes, propagation mapping 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

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

When and details

When: A POST or PUT request omits the rule property, supplies neither sourceAttribute nor expression, or omits targetAttribute

Details: rule is required, sourceAttribute is required, or targetAttribute is required

400

INVALID_DATA

INVALID_VALUE

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

When and details

When: A POST or PUT request references a rule that does not exist in the environment

Details: rule not found

400

INVALID_DATA

INVALID_VALUE

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

When and details

When: A POST or PUT request references a rule that has no source or target store, or a DELETE request removes the last mapping of an active rule

Details: mappings cannot be created for rules with empty source or target store references or mapping cannot be deleted for a rule marked as active

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 or PUT request duplicates a mapping that already exists on the rule (same sourceAttribute and targetAttribute)

Details: duplicate mapping already saved

400

INVALID_DATA

INVALID_VALUE

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

When and details

When: A POST or PUT request maps a targetAttribute that a different mapping on the rule already maps

Details: targetAttribute exists in different Mapping

400

INVALID_DATA

SIZE_LIMIT_EXCEEDED

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

When and details

When: A POST or PUT request supplies an expression over 1024 characters

Details: expression length is over max character limit

400

INVALID_DATA

INVALID_VALUE or None

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

When and details

When: A POST or PUT request supplies an attributeMappingType other than the supported user or group attribute mapping types, or an expression that fails expression syntax validation

Details: <value> is unknown attribute mapping type, or the expression verifier’s error message.

400

INVALID_DATA

INVALID_VALUE

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

When and details

When: A POST or PUT request excludes the Email target attribute from update on a Salesforce or Salesforce Leads and Contacts store

Details: email mapping cannot be excluded from the target attribute for salesforce/salesforceContacts stores

429

REQUEST_LIMITED

QUOTA_EXCEEDED

Message: The request could not be completed. A rate or quota limit was reached. Please try again later.

When and details

When: A POST request would exceed the environment’s mapping limit

Details: The request will exceed your quota.

403

ACCESS_FAILED

None

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

When and details

When: The actor lacks the osmosis:read:mapping permission (the GET operations), the osmosis:update:mapping permission (the POST and PUT operations), or the osmosis:delete:mapping permission (the DELETE operation). Mapping writes additionally require the dir:read:schema and dir:read:population permissions when the mixed‑permissions feature is enabled for the environment

Details: None.

404

NOT_FOUND

None

Message: Resource not found: {environmentId=<envID>, id=<mappingID>} for a missing mapping, or The request could not be completed. The requested resource was not found. for a missing rule

When and details

When: A GET, PUT, or DELETE request references a mapping ID that does not exist in the environment, or a GET …​/rules/{ruleID}/mappings request references a rule that does not exist

Details: None.