User operations
The users endpoint provides operations to create, read, update, and delete users. It includes an import operation that gives privileged applications the ability to create a new user and set the user’s password as part of the user create operation. It also includes endpoints for user verification actions.
Users data model
|
User schema attribute names follow these case sensitivity rules:
|
| Property | Type | Required? | Mutable? | Description |
|---|---|---|---|---|
|
Boolean |
Required |
Mutable |
Whether the user can authenticate. If the value is set to |
|
Date |
N/A |
Read-only |
The time the specified user account was locked. This property might be absent if the account is unlocked or if the account was locked out automatically by failed password attempts. |
|
Integer |
N/A |
Read-only |
The number of seconds until the user’s account is unlocked. This property is absent if the account is unlocked, or if it will not automatically unlock (and must be unlocked by an administrator). |
|
String |
Required |
Mutable |
The account locked state. Options are |
|
Date |
N/A |
Read-only |
The time the specified user account will be unlocked. This property is absent if the account is unlocked, or if it will not automatically unlock and must be unlocked by an administrator. |
|
String |
Optional |
Mutable |
The country name component. When specified, the value must be in ISO 3166-1 "alpha-2" code format. For example, the country codes for the United States and Sweden are "US" and "SE", respectively. Valid characters consist of two upper-case letters (regex: |
|
String |
Optional |
Mutable |
The city or locality component of the address. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Optional |
Mutable |
The ZIP code or postal code component of the address. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Optional |
Mutable |
The state, province, or region component of the address. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Optional |
Mutable |
The full street address component, which may include house number, street name, P.O. box, and multi-line extended street address information. This attribute may contain newlines (regex: |
|
Date |
Required |
Mutable |
Used to define a period during which the user can bypass MFA. For details, refer to Allow MFA Bypass for User. |
|
Boolean |
N/A |
Read-only |
Indicates whether the user currently has permission to bypass MFA. |
|
Date |
N/A |
Read-only |
The time the resource was created. |
|
String |
Required |
Mutable |
The user’s email address, which must be provided and valid. For more information about email address formatting, refer to section 3.4 of RFC 2822, Internet Message Format. |
|
Boolean |
Optional |
Mutable |
Whether the user’s email is verified, either as part of account verification (refer to |
|
Boolean |
N/A |
Read-only |
Whether the user is enabled. This attribute is set to 'true' by default when the user is created. |
|
String |
N/A |
Read-only |
The environment resource’s unique identifier associated with the user. |
|
String |
Optional |
Mutable |
An identifier for the user resource as defined by the provisioning client. This may be explicitly set to null when updating a user to unset it. The |
|
String |
Optional |
Immutable |
Whether the user is a member of a group through direct assignment or indirect filtering: |
|
String |
N/A |
Read-Only |
The user resource’s unique identifier. |
|
String |
Required/Optional |
Mutable |
Identifies the external identity provider used to authenticate the user. If not provided, PingOne is the identity provider. This attribute is required if the identity provider is authoritative for just-in-time user provisioning. |
|
String |
N/A |
Read-Only |
Identifies the type of identity provider used to authenticate the user. Possible values are |
|
Object |
N/A |
Read-only |
The invitation resource. Applicable only when a user record represents an invite. |
|
String |
N/A |
Read-only |
Date value for when the invite expires. |
|
Date |
N/A |
Read-only |
The time of the last successful login of the user through the PingOne flow API. |
|
String |
N/A |
Read-only |
The IP address of the last successful login of the user through the PingOne flow API. |
|
String |
Optional |
Mutable |
The status of the account lifecycle. Options are |
|
Boolean |
Optional |
Write-Only |
Used when importing a user and the |
|
String |
Optional |
Mutable |
The user’s default location. This may be explicitly set to null when updating a user to unset it. This is used for purposes of localizing such items as currency, date time format, or numerical representations. If provided, it must be a valid language tag as defined in RFC 5646. The following are example tags: fr, en-US, es-419, az-Arab, man-Nkoo-GN. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
Array |
Optional |
Read-only |
A list of groups with admin roles that include the user. Only returned when the |
|
Object[] |
Optional |
Mutable |
This is used only for Just In Time (JIT) creation of external groups. |
|
String |
Required |
Mutable |
The name of the external group as it exists in the source. |
|
String |
Required |
Mutable |
The ID of the external group as it exists in the source (generally a UUID). |
|
String |
Required |
Mutable |
The type of the external group as it exists in the source. Currently, this can be only "GATEWAY" or "IDP". |
|
Array |
Optional |
Read-only |
IDs for the groups the user is a member of. This property is returned for |
|
Array |
Optional |
Read-only |
Names for the groups the user is a member of. This property is returned for |
|
Boolean |
Optional |
Mutable |
Whether multi-factor authentication is enabled. This attribute is set to |
|
String |
Optional |
Mutable |
The user’s native phone number. This might also match the |
|
String |
Optional |
Mutable |
The family name of the user, or Last in most Western languages (for example, 'Jensen' given the full name 'Ms. Barbara J Jensen, III'). This may be explicitly set to null when updating a name to unset it. Valid characters consist of any Unicode letter, mark (for example, accent, umlaut), space, dot, apostrophe, or hyphen (regex: |
|
String |
Optional |
Mutable |
The fully formatted name of the user (for example 'Ms. Barbara J Jensen, III'). This can be explicitly set to null when updating a name to unset it. Valid characters consist of any Unicode letter, mark (for example, accent, umlaut), space, dot, apostrophe, or hyphen (regex: |
|
String |
Optional |
Mutable |
The given name of the user, or First in most Western languages (for example, 'Barbara' given the full name 'Ms. Barbara J Jensen, III'). This may be explicitly set to null when updating a name to unset it. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Optional |
Mutable |
The honorific prefix(es) of the user, or title in most Western languages (for example, 'Ms.' given the full name 'Ms. Barbara Jane Jensen, III'). This can be explicitly set to null when updating a name to unset it. |
|
String |
Optional |
Mutable |
The honorific suffix(es) of the user, or suffix in most Western languages (for example, 'III' given the full name 'Ms. Barbara Jane Jensen, III'). This can be explicitly set to null when updating a name to unset it. |
|
String |
Optional |
Mutable |
The the middle name(s) of the user (for exmple, 'Jane' given the full name 'Ms. Barbara Jane Jensen, III'). This can be explicitly set to null when updating a name to unset it. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Optional |
Mutable |
The user’s nickname. This can be explicitly set to null when updating a user to unset it. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
Array |
Optional |
Mutable |
A JSON array that specifies modifications to users schema attributes in a SCIM |
|
String |
Optional |
Mutable |
The update operation type. Options are |
|
String |
Optional |
Mutable |
The users schema attribute to be modified. |
|
String |
Optional |
Mutable |
The updated value for the users schema attribute that is modified. |
|
Object |
Optional |
Immutable |
An object that specifies the user’s password. This property is never returned in the response. |
|
Boolean |
Optional |
Mutable |
Whether the user is forced to change the password on the next log in. If not provided, the property is set to |
|
String |
Optional |
Immutable |
The user’s password value. The string is either in cleartext or pre-encoded format. |
|
Object |
Optional |
Immutable |
Maps the information relevant to the user’s password, and its association to external directories. |
|
Object |
Optional |
Mutable |
Contains the gateway properties. When this is value is specified, the user’s password is managed in an external directory. You can set the user password using Create User (Import) or Update Password (Set). |
|
String |
Optional |
Immutable |
The UUID of the linked gateway that references the remote directory. |
|
Enumeration |
Optional |
Mutable |
Indicates one of the supported gateway types. For the supported types, refer to |
|
String |
Optional |
Mutable |
A reference to a |
|
String |
Optional |
Immutable |
The UUID of a user type in the list of |
|
Object |
Optional |
Mutable |
Maps the external LDAP directory attributes to PingOne attributes. PingOne uses the |
|
String |
Optional |
Mutable |
The URI that is a uniform resource locator (as defined in Section 1.1.3 of RFC 3986) that points to a resource location representing the user’s image. This can be removed from a user by setting the photo attribute to null. If provided, the resource must be a file (for example, a GIF, JPEG, or PNG image file) rather than a web page containing an image. It must be a valid URL that starts with the HTTP or HTTPS scheme. |
|
String |
Optional |
Immutable |
The identifier of the population resource associated with the user. This property cannot be updated using |
|
String |
Optional |
Mutable |
The user’s preferred written or spoken languages. This may be explicitly set to null when updating a user to unset it. If provided, the format of the value must be a valid language range and the same as the HTTP Accept-Language header field (not including |
|
String |
Optional |
Mutable |
The user’s primary phone number. This might also match the |
|
String |
Optional |
Mutable |
The user’s time zone. This can be explicitly set to null when updating a user to unset it. If provided, it must conform with the IANA Time Zone database format RFC 6557, also known as the "Olson" time zone database format Olson-TZ for example, "America/Los_Angeles" (regex: |
|
String |
Optional |
Mutable |
The user’s title, such as "Vice President". This can be explicitly set to null when updating a user to unset it. The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Optional |
Mutable |
The user’s type, which is optional. This can be explicitly set to null when updating a user to unset it. This attribute is organization-specific and has no special meaning within the PingOne platform. It could have values of "Contractor", "Employee", "Intern", "Temp", "External", and "Unknown". The string can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
Date |
N/A |
Read-only |
The time the resource was last updated. |
|
String |
Required |
Mutable* |
The user name, which must be unique within an environment. This must either be a well-formed email address or another string. The string is case-insensitive, and can contain any letters, numbers, combining characters, math and currency symbols, dingbats and drawing characters, and invisible whitespace (regex: |
|
String |
Required |
Mutable |
Indicates whether ID verification can be done for the user. This value can be: |
Limiting and Filtering data
You can limit the number of results returned on the Read User or Users request with the limit parameter:
https://api.pingone.com/v1/environments/5caa81af-ec05-41ff-a709-c7378007a99c/users?limit=200
Refer to Pagination for more information about use of the limit parameter, as well as other methods of controlling pagination.
You can filter response data by applying a SCIM filtering expression to the Read User or Users request. For large collections, a filtering expression appended to the query returns a targeted, more useful data set. For example, this URL-encoded SCIM filter returns up to 200 members of the population with an ID of 60971d3b-cc5a-4601-9c44-2be541f91bf1:
https://api.pingone.com/v1/environments/5caa81af-ec05-41ff-a709-c7378007a99c/users?limit=200&filter=population.id eq "60971d3b-cc5a-4601-9c44-2be541f91bf1"
|
The page size in the |
SCIM operators
These SCIM operators can be applied to the following attributes:
-
eq(equals)Supported attributes:
accountId,address.streetAddress,address.locality,address.region,address.postalCode,address.countryCode,email,enabled,endDate,externalId,locale,mobilePhone,name.formatted,name.given,name.middle,name.family,name.honorificPrefix,name.honorificSuffix,nickname,population.id,photo.href,preferredLanguage,primaryPhone,startDate,timezone,title,type,username, and custom attributes of typeSTRING -
sw(starts with)Supported attributes:
accountId,address.streetAddress,address.locality,address.region,address.postalCode,address.countryCode,email,enabled,externalId,locale,mobilePhone,name.formatted,name.given,name.middle,name.family,name.honorificPrefix,name.honorificSuffix,nickname,photo.href,preferredLanguage,primaryPhone,timezone,title,type,username, and custom attributes of typeSTRING -
ew(ends with)Supported attributes:
name.given,name.family,email(only for the domain specified in the address, starting with and including the symbol "@", such as "@example.com"). -
and(logical AND)Logical AND for building compound expressions in which both expressions are true.
-
or(logical OR)Logical OR for building compound expressions if either expression is true.
-
co(contains)Supported attributes:
name.given,name.family.
These SCIM operators are not supported: ne (not equal), pr (present, is a non-empty or non-null value), gt (greater than), ge (greater than or equal to), lt (less than), le (less than or equal to), not (logical NOT). The API does not support empty strings in a sw filtering expression. If empty strings are submitted in the request, the response returns a 400 FAILED_REQUEST with an INVALID_FILTER detail error.
You can also use custom user schema string attributes in a filtering expression to fine-tune the user response data. For more information about custom attributes, refer to Schemas. For more information about SCIM syntax and operators, refer to Conventions.
|
To filter user results for group membership or linked accounts, refer to GET Read User or Users. For more information on groups, refer to Groups. For more information on linked accounts, refer to Linked Accounts. |
Expanding user population information
The GET {{apiPath}}/environments/{{envID}}/users and GET {{apiPath}}/environments/{{envID}}/users/{{userID}} endpoints allow an expand query parameter on the population embedded resource. A query that expands population returns information about a user’s associated population as an _embedded resource.
Users events generated
Refer to Audit Reporting Events for the events generated.