PingOne Platform APIs

DaVinci Admin UI Templates

You can create user interface (UI) templates that match your company style and branding, which you can include in flows using an HTTP connector. The PingOne DaVinci Admin UI Templates service provides endpoints to create, read, and delete DaVinci UI templates.

Assigning admin roles and permissions to this service

Admin role assignments determine access to PingOne APIs. When assigning admin roles to this service, refer to PingOne Permissions by Service for the service-specific permissions.

You can also choose to assign admin roles based on particular service resources. Refer to PingOne Permissions by Resource when assigning admin roles per service resources.

Admin assignments to roles are set by:

Refer to Roles Management for more information.

DaVinci Admin UI templates data model properties

Property Type Required Mutable Description

createdAt

Date

N/A

Read only

A UTC string that specifies the time when the DaVinci UI template was created.

description

String

Optional

Mutable

The UI template description.

environment

Object

N/A

Read only

The DaVinci company ID (environment ID) object.

environment.id

String

N/A

Read only

The DaVinci company ID, which is the PingOne environment ID.

id

String

N/A

Read only

The DaVinci UI template ID.

name

String

Required

Mutable

The UI template name.

inputSchema

String

Optional

Mutable

A JSON representation of the input schema defined in this template.

outputSchema

String

Optional

Mutable

A JSON representation of the output schema defined in this template.

script

String

Optional

Mutable

Javascript code utilized by this template.

style

String

Optional

Mutable

The CSS used in flows that are associated with this template.

template

String

Optional

Mutable

The HTML template to me rendered.

updatedAt

Date

N/A

Read only

A UTC string that specifies the time when the UI template was last modified.

validationRules

Array

Optional

Mutable

The validation rules object.

validationRules.propertyName

String

Required

Mutable

The name of the property to which the validation rule applies.

validationRules.rules

Array

Required

Mutable

The rules object in which the validation rules elements are defined.

validationRules.rules.ruleName

String

Required

Mutable

The name of the rule. Options are presence, email, length, format, and equality.

validationRules.rules.message

String

Optional

Mutable

The rule message that displays if the required property is not present or if the property is not a valid email. For length rules, enter a minimum, maximum, or exact value for the property and a validation message that is displayed for each length restriction that is not met. For format rules, enter the regex that defines the required format and the validation message that displays if the property does not match the format. For equality rules, enter the other property that this property must match, and the validation message that displays if the properties do not match.

validationRules.rules.attribute

String

Optional

Mutable

The property to check when applying the equality rule.

validationRules.rules.pattern

String

Optional

Mutable

The pattern to match when applying the format rule.

Response codes

Code Message

200

Successful operation.

201

Successfully created.

204

Successfully removed. No content.

400

The request could not be completed.

401

You do not have access to this resource.

403

You do not have permissions or are not licensed to make this request.

404

The requested resource was not found.

DaVinci UI template errors

In addition to the general error codes, DaVinci UI template operations can return the following errors:

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

400

INVALID_DATA

REQUIRED_VALUE, EMPTY_VALUE, INVALID_VALUE, or OUT_OF_RANGE

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

When and details

When: A POST /environments/{envID}/uiTemplates or a PUT /environments/{envID}/uiTemplates/{davinciTemplateID} request supplies a body that violates the data model: an omitted name, a name or a validationRules entry propertyName longer than 100 characters, a blank name, a name or propertyName whose first non-whitespace character is outside the allowed set or that contains a < or a ${ sequence, a description longer than 3000 characters, a name or description value that is not a string, a validationRules entry without a propertyName, a validationRules.rules array with no entries, or a validationRules.rules entry without a ruleName or with a ruleName other than presence, email, length, format, or equality

Details: One detail per validation error, each with the failing property path as the target. must have required property 'name' with target name when the request omits name. must NOT have more than 100 characters for a name or propertyName longer than 100 characters and must NOT have more than 3000 characters for a description longer than 3000 characters. must not be empty or blank for a blank name. must match pattern "<pattern>", where the pattern is the JSON schema pattern for the property, for a name or a validationRules entry propertyName whose first non-whitespace character is outside the allowed set or that contains a < or a ${ sequence. must be string for a property of the wrong JSON type. must have required property 'propertyName' with the entry path as the target, for example validationRules.0, when an entry omits propertyName. must NOT have fewer than 1 items for an empty validationRules.rules array. must have required property 'ruleName' with the rule path as the target, for example validationRules.0.rules.0, when a rule omits ruleName. must be one of the values: presence or email or length or format or equality for an unknown ruleName value.

400

INVALID_DATA

INVALID_PARAMETER or INVALID_VALUE

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

When and details

When: A GET all UI templates request or a GET one UI template request supplies an expand query parameter longer than 100 characters or a filter query parameter longer than 256 characters, or a DELETE request includes any query parameter

Details: For an overlong query parameter on a GET request, detail code INVALID_PARAMETER with message must NOT have more than 100 characters for expand or must NOT have more than 256 characters for filter, with the overlong parameter as the target. For any query parameter on a DELETE request, detail code INVALID_VALUE with message must NOT have additional properties and the rejected parameter as the target.

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 request creates a UI template after the environment has reached the maximum number of UI templates allowed for the environment

Details: Detail code CONSTRAINT_VIOLATION with message Cannot create more than 100 UI templates. No target is returned.

400

REQUEST_FAILED

INVALID_PARAMETER or INVALID_FILTER

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

When and details

When: A GET all UI templates request supplies a filter query parameter that references an attribute other than createdBy.user.id, createdBy.client.id, createdBy.environment.id, updatedBy.user.id, updatedBy.client.id, or updatedBy.environment.id, or an operator other than eq, and, or or, when actor metadata is enabled for the environment. When actor metadata is disabled, every filter value is rejected

Details: Detail code INVALID_PARAMETER with message The filter attribute was invalid or does not support filtering. and the invalid attribute as the target, or message The filter operator was invalid or not supported. and the invalid operator as the target. A filter that is not a well-formed SCIM expression returns detail code INVALID_FILTER with message The specified filter was invalid. and no target.

403

ACCESS_FAILED

None

Message: The request could not be completed. You do not have access to this resource.

When and details

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

Details: None

404

NOT_FOUND

None

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

When and details

When: A GET one, a PUT, or a DELETE request references a UI template ID that does not exist in the environment

Details: None