PingOne DaVinci
PingOne DaVinci is an orchestration platform that lets you create flows to guide users through authorization and authentication activities.
In DaVinci, a flow is a set of paths that define a user's journey through a given IAM process, such as registration or authentication, using a set of logically linked nodes. These nodes can prompt the user for input or take an action on the backend, and these actions are determined by logical decision operators that sit between the nodes, enabling you to control how a user progresses based on the information they provide, existing user information, or other parameters. After you create a flow, you add it to an application and create a flow policy to control how and when the flow gets used.
This document describes the DaVinci Admin APIs to configure flows, flow versions, variables, applications, connectors, and connector instances. For information about executing DaVinci flows using the PingOne authorize endpoint, refer to DaVinci Flow Executions.
DaVinci Admin APIs
The PingOne DaVinci Admin APIs provide access to DaVinci operations through the PingOne API resource server. These services are called using the api.pingone.com
domain (or api.pingone.ca
, api.pingone.eu
, api.pingone.com.au
, api.pingone.sg
, and api.pingone.asia
for other geographic regions) to manage DaVinci workflow configuration.
At this time, the following services are supported on the PingOne API resource server:
-
Endpoints for managing DaVinci variables and their context.
-
Endpoints for creating and managing DaVinci flows.
-
Endpoints for managing DaVinci flow versions.
-
DaVinci Admin Connector Instances
Endpoints for managing DaVinci connector instances, which provide access to DaVinci connector capabilities.
-
Endpoints for managing DaVinci applications.
-
DaVinci Admin Application Flow Policies
Endpoints for managing DaVinci application flow policies.
-
Endpoints for managing DaVinci connectors.
-
Endpoints for managing DaVinci UI templates.
DaVinci Admin Variables
PingOne DaVinci Admin Variables service provides endpoints to create, read, update, and delete DaVinci variables. Variables are values that can be read and modified during a flow. Every variable has a context, which determines how widely its value is shared.
The options for the variable's context types are:
-
flow
The variable is tied to a specific flow and has a single, persistent value until that value is changed.
-
flowInstance
The variable can be used in multiple flows.
-
If the variable's value is set within a flow, the variable instance in that flow gets the value set by the flow's execution.
-
If the variable's value is not set within a flow, the variable instance in that flow inherits the value.
-
-
user
The variable has a separate value for each user. If you use a variable with this context in a flow, the user must be identified.
-
company
The variable has a single value for the company. This value is used in all flows and for all users.
DaVinci Admin variable data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
createdAt |
Date | N/A | Read only | The time when the variable was created. |
context |
String | Required | Immutable | The context or type of the variable. Options are flow , flowInstance , user , or company . |
dataType |
String | Required | Mutable | Data type of the variable. Can be STRING , BOOLEAN , NUMBER , SECRET , or OBJECT . The context property must be set to company to use SECRET as the value for the dataType property. |
displayName |
String | Optional | Mutable | A human-readable variable name set in the request. |
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. |
flow |
Object | Immutable | Optional | The flow object specifying the DaVinci flow associated with the variable. This is a required property when context is set to flow . It is ignored when context is set to any other option. |
flow.id |
String | Immutable | Optional | The flow ID of the DaVinci flow associated with the variable. This is a required property when context is set to flow . It is ignored when context is set to any other option. |
id |
String | N/A | Read only | The variable ID. |
max |
Integer | Optional | Mutable | The maximum value of the variable. The default value is 2000. |
min |
Integer | Optional | Mutable | The minimum value of the variable. The default value is 0. |
mutable |
Boolean | Optional | Mutable | Specifies whether the variable is mutable, which allows nodes within a flow to change the value of the variable. If the value property is null, this property is required. |
name |
String | Required | Immutable | The variable name. |
updatedAt |
Date | N/A | Read only | The time when the variable was modified. |
value |
String/Number/Boolean/Object | Optional | Mutable | An internally stored value that is part of a HashMap/Object. If the mutable property is set to false , this property is required. If mutable is not set on the request, it defaults to true . |
Limiting and filtering data
These SCIM operators can be applied to the following attributes:
-
eq
(equals)Supports attributes of type
STRING
andBOOLEAN
. -
sw
(starts with)Supports attributes of type
STRING
. -
ew
(ends with)Supports attributes of type
STRING
. -
co
(contains)Supports attributes of type
STRING
. -
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.
For information about paging and ordering the response for Read All DaVinci Variables, refer to Paging, ordering, and filtering collections.
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. |
Create DaVinci Variable
Read All DaVinci Variables
Read One DaVinci Variable
Update DaVinci Variable
Delete DaVinci Variable
DaVinci Admin Connectors
PingOne DaVinci Admin Connector service provides endpoints to read DaVinci connector resources. Connectors give DaVinci the ability to integrate third party technologies, HTML pages, and other tools to create a sign-on flow. They define the capabilities that you can use as nodes in a flow. For example, an HTTP connector provides the capability to present an HTML form to collect and submit user information or make REST API calls.
DaVinci admin connector data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
description |
String | Optional | Mutable | The connector 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 connector ID (for example, httpConnector ). |
metadata |
Object | N/A | Read only | Represents the metadata information about the connector, such as type, color, and logo. |
metadata.type |
String | N/A | Read only | The type of connector. Options are core , ping , or service . |
metadata.vendor |
String | N/A | Read only | The ID of a vendor (for example,microsoft or amazon ). |
metadata.colors |
Object | N/A | Read only | An object that specifies the colors on the canvas. |
metadata.colors.canvas |
String | N/A | Read only | A hexadecimal representation of the canvas color. |
metadata.colors.canvasText |
String | N/A | Read only | A hexadecimal representation of the canvas text color. |
metadata.colors.dark |
String | N/A | Read only | A hexadecimal representation of the shade of darkness. |
metadata.logos |
String | N/A | Read only | The image name of the connector logo file. |
metadata.logos.canvas |
Object | N/A | Read only | An object that specifies the canvas. |
metadata.logos.imageFileName |
String | N/A | Read only | The name of the connector logo image. |
name |
String | Required | Mutable | The connector name (for example, HTTP ). |
version |
String | N/A | Read only | The version number of the connector. |
DaVinci admin connectors details data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
accountConfigView |
Object[] | Optional | Mutable | Represents the account configuration of the connector. For details, refer to Core connectors. |
accountConfigView.componentViewSize |
String | Optional | Mutable | The size of the configuration window. |
accountConfigView.items |
Array | Optional | Mutable | An array of configurable properties. |
accountConfigView.items.propertyName |
String | Optional | Mutable | The name of the configurable property. |
accountConfigView.items.items |
Array | Optional | Mutable | An array of sub-property names under the top level property. |
accountConfigView.items.items.propertyName |
Array | Optional | Mutable | The name of the sub-property under the top level property. |
capabilities |
Object[] | Optional | Mutable | A list of all connector capabilities and their input properties. For more information, refer to Core connectors. |
createdAt |
Date | N/A | Read only | The time when the connector was created. |
credentialsView |
Object | Optional | Mutable | Represents the credentials view of the connector. |
credentialsView |
Object | Optional | Mutable | The fields that will be part of the connector configuration specific to credentials. |
credentialsView.items |
Array | Optional | Mutable | An array of configurable properties. |
credentialsView.items.propertyName |
String | Optional | Mutable | The name of the property. |
flowSections |
Object[] | Optional | Mutable | Represents the flow section to which the connector can be categorized. |
flowSections.name |
String | Optional | Mutable | The name of the section being shown. |
flowSections.value |
String | Optional | Mutable | A pointer to the flow section name referenced by other sections in the manifest. |
properties |
Object | Optional | Mutable | A list of properties that will be used by the capabilities. For more information, refer to Core connectors. |
sections |
Object[] | Optional | Mutable | An array of sections shown in Connector Configuration. For more information, refer to Core connectors. |
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. |
Read All DaVinci Connectors
Read One DaVinci Connector
Read DaVinci Connector Details
DaVinci Admin Connector Instances
PingOne DaVinci Admin Connector Instances service provides endpoints to create, read, update, and delete DaVinci connector instances. A DaVinci connector instance is one instance of a DaVinci connector (the connection configuration specifies a connector by name). You can then use the capabilities provided by the connector inside a flow, and launch the flow through an application.
This service also includes an action to clone connector instance resources.
DaVinci admin connector instances data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
connector |
Object | Required | Immutable | The connector object. |
connector.id |
String | Required | Immutable | The connector object name (for example, httpConnector ). |
createdAt |
Date | N/A | Read only | The time when the connection was created. |
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 connector instance resource ID. |
name |
String | Required | Mutable | The connector instance name. |
properties |
Object | Optional | Mutable | The configuration of the connector object. This field is not applicable to all connectors and is omitted in the output if empty or null. If the specified connector requires configuration, see the Connector configuration section of the connector documentation for the connector specified in connector.id . |
updatedAt |
Date | N/A | Read only | The time when the connector instance was updated. |
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. |
Create DaVinci Connector Instance
Clone DaVinci Connector Instance
Read All DaVinci Connector Instances
Read One DaVinci Connector Instance
Update DaVinci Connector Instance
Delete DaVinci Connector Instance
DaVinci Admin Flows
DaVinci flows are constructed, logical paths that specify the workflow for the user's authorization and authentication experiences.
Flows consist of one or more nodes joined together. Each node performs a specific task, using one of the capabilities of your connectors. After completing the task, the flow determines which task to perform next until the flow is complete.
The PingOne DaVinci Admin Flows service provides endpoints to create, read, update, and delete DaVinci flows. This service also includes endpoints to enable, deploy, import, and clone flows.
DaVinci admin flow data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
color |
String | Optional | Mutable | The color of the flow. |
connectors |
Array[object] | Optional | Mutable | An array of connectors that apply to the flow. An optional query parameter can toggle behavior, either the names of the connectors are returned or the connection objects themselves are returned as embedded objects. |
connectors.id |
String | Optional | Mutable | The connector ID (or IDs) associated with the flow. Example connectors are httpConnector , functionsConnector , pingOneVerifyConnector , and annotationConnector . |
createdAt |
Time | N/A | Read only | The timestamp when the flow was created. |
currentVersion |
Integer | Optional | Immutable | The saved version of the flow. |
deployedAt |
Time | N/A | Read only | The stamp when the flow was last deployed. |
description |
String | Optional | Mutable | The description of the flow. |
enabled |
Boolean | Optional | Immutable | The state of the flow. This can be stored as its own value in the database or it can reflect an existing flowStatus . |
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. |
graphData |
Object | Optional | Mutable | The graph-based representation of the flow depicted in the UI. |
id |
String | N/A | Read only | The flow ID. |
inputSchema |
Array[object] | Optional | Mutable | The flow input parameters in an array of JSONschema objects. If the trigger.type property is AUTHENTICATION , then the flow is a PingOne flow, and the input schema properties are listed in this table. If the trigger.type property is not AUTHENTICATION , then the flow is not a PingOne flow and the input schema properties are described in Input schema for non-PingOne flows data model properties. |
inputSchema.propertyName |
String | Required | Mutable | If inputSchema is set, the input schema property name is a required property. |
inputSchema.description |
String | Optional | Mutable | The description for an input schema property. |
inputSchema.isExpanded |
Boolean | Optional | Mutable | Specifies whether the input schema is expanded in the response. |
inputSchema.preferredDataType |
String | Required | Mutable | If inputSchema is set, the data type of the input schema property is required. Options are string , number , integer , boolean , array , and object . |
inputSchema.preferredControlType |
String | Optional | Mutable | The control type of the input schema property. Options are textField . |
inputSchema.required |
Boolean | Optional | Mutable | Specifies whether the input schema property is required for the flow. |
name |
String | Required | Mutable | The name of the flow. |
outputSchema |
Object | Optional | Mutable | The JSONschema output object of the flow. |
outputSchema.output |
Object | Optional | Mutable | The output object of the output schema. |
outputSchema.output.type |
String | Optional | Mutable | The output type. |
outputSchema.output.additionalProperties |
Boolean | Optional | Mutable | Specifies whether the output has additional properties. |
outputSchema.output.properties |
Object | Optional | Mutable | A JSON object that specifies the output schema's properties. |
outputSchema.output.properties.{{propName}} |
Object | Optional | Mutable | An output schema property definition. |
outputSchema.output.properties.{{propName}}.type |
Object | Optional | Mutable | An output schema property's data type. |
publishedVersion |
Integer | Optional | Immutable | The currently deployed version of the flow. |
settings |
Object | Optional | Mutable | Flow settings saved by the user. Refer to the Settings property data model table for details. |
trigger |
Object | Optional | Mutable | The flow trigger object. |
trigger.type |
String | Optional | Mutable | If the trigger type is set to AUTHENTICATION , you invoke the flow through PingOne OpenID Connect or SAML endpoints. The AUTHENTICATION trigger type overwrites the inputSchema values with the default authentication schema. |
trigger.configuration |
Object | Optional | Mutable | The configuration object for session reuse. |
trigger.configuration.pwd |
Object | Optional | Mutable | The configuration object for password session reuse. |
trigger.configuration.pwd.enabled |
Boolean | Optional | Mutable | Specifies whether this configuration must be used to check for existing sessions. |
trigger.configuration.pwd.lastSignOn |
Integer | Optional | Mutable | An integer that specifies the duration (in seconds) that an active session can be reused. |
trigger.configuration.mfa |
Object | Optional | Mutable | The configuration object for MFA session reuse. |
trigger.configuration.mfa.enabled |
Boolean | Optional | Mutable | Specifies whether this configuration must be used to check for existing sessions. |
trigger.configuration.mfa.lastSignOn |
Integer | Optional | Mutable | An integer that specifies the duration (in seconds) that an active session can be reused. |
updatedAt |
Date | N/A | Read only | The timestamp when the flow was updated or saved. |
Settings property data model
The following table lists the supported flow settings properties that can be used in the settings
property.
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
csp |
String | Optional | Mutable | Content Security Policy content to which a Content-Security-Policy meta tag will be added. If you use a custom Javascript flow player, it is required. |
css |
String | Optional | Mutable | The CSS styling rules to be applied to the flow version. |
cssLinks |
Array | Optional | Mutable | A list of URL locations of CSS files to apply to the flow version. |
customErrorScreenBrandLogoUrl |
String | Optional | Mutable | The URL of the logo to use for the error page, such as "https://example.com/logo.png". |
customErrorShowFooter |
Boolean | Optional | Mutable | Show footer in the error screen. |
customFaviconLink |
String | Optional | Mutable | The URL of the favicon image to use for the page. This image is displayed in the title bar of the browser and in saved bookmarks. |
customLogoUrlSelection |
String | Optional | Mutable | The URL location of the logo to show on error pages. |
customTitle |
String | Optional | Mutable | The title of the page. This title is displayed in the title bar of the browser and used for the page title in search engine results. |
doNotSubstituteUnreplacedFields |
Boolean | Optional | Mutable | By default, unreplaced parameterized fields will be substituted with an empty string. This parameter overrides that behavior if set to true. |
flowHttpTimeoutInSeconds |
Number | Optional | Mutable | Timeout period for every node's execution time. A response must be returned by a node before this timeout. The default value is 15 seconds. If set to 0, the default timeout value is used. |
flowTimeoutInSeconds |
Number | Optional | Mutable | The period after which a particular flow execution becomes inactive. The default value is 300 seconds. If set to 0, the default timeout value is used. |
intermediateLoadingScreenCss |
String | Optional | Mutable | The CSS rules to use for the intermediate page. This setting applies only when the show intermediate page setting is enabled (useIntermediateLoadingScreen ). |
intermediateLoadingScreenHtml |
String | Optional | Mutable | The HTML content of the intermediate page. Applies only when the show intermediate page is enabled (useIntermediateLoadingScreen ). |
jsLinks |
Array | Optional | Mutable | The location of JavaScript files to apply to the flow. |
logLevel |
String | Optional | Mutable | The log level for flow analytics. Options are None , Info , or Debug . |
pingOneFlow |
Boolean | Optional | Mutable | PingOne runs this flow for OIDC or SAML authentication. When a flow is invoked, PingOne sends input parameters to be made available for any node in the flow. |
requireAuthenticationToInitiate |
Boolean | Optional | Mutable | Flow invocation via OpenID requires authentication. Use the /sdktoken endpoint to retrieve the accessToken value, which can be sent in the query parameter &accessToken=<accessToken> . |
scrubSensitiveInfo |
Boolean | Optional | Mutable | Remove sensitive information from analytics. |
sensitiveInfoFields |
Array | Optional | Mutable | These fields will be masked with ****** in Flow analytics. |
useCsp |
Boolean | Optional | Mutable | Enable and add a content security policy if you are adding additional scripts. |
useCustomCss |
Boolean | Optional | Mutable | When enabled, DaVinci uses the CSS rules in the custom CSS field. |
useCustomScript |
Boolean | Optional | Mutable | When enabled, DaVinci uses the JavaScript files in the JavaScript files field. |
useIntermediateLoadingScreen |
Boolean | Optional | Mutable | When enabled, DaVinci shows a custom user-facing page between each node in the flow. |
Input schema for non-PingOne flows data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
inputSchema.propertyName |
String | Required | Mutable | An input schema property name. |
inputSchema.description |
String | Optional | Mutable | The description for an input schema property. |
inputSchema.isExpanded |
Boolean | Optional | Mutable | Specifies whether the input schema is expanded in the response. |
inputSchema.preferredDataType |
String | Required | Mutable | The data type of the input schema property. Options are string , number , integer , boolean , array , and object . |
inputSchema.preferredControlType |
String | Optional | Mutable | The control type of the input schema property. Options are textField . |
inputSchema.required |
Boolean | Optional | Mutable | Specifies whether the input schema property is required for the flow. |
Limiting and filtering data
You can limit the number of results returned on the Read DaVinci Flows and Read One DaVinci Flow requests with the attributes
parameter. This parameter filters the response data returned by the request. The query accepts top-level DaVinci admin flow data model properties as a list of comma separated values. The query returns only the specified property values; it removes all other properties from the response. For example, the following request uses the attributes
query parameter:
/environments/{{envID}}/flows/{{davinciFlowID}}?attributes=name,description
The response returns the following flow data:
{
"_links": {...},
"id": "{{resourceID}}",
"name": "SomeFlow,
"description": "A brief description"
}
SCIM operators
These SCIM operators can be applied to the following attributes:
-
eq
(equals)Supports attributes of type
STRING
,DATE
,NUMBER
, andBOOLEAN
. -
gt
(greater than)Supports attributes of type
DATE
andNUMBER
. -
ge
(greater than or equal to)Supports attributes of type
DATE
andNUMBER
. -
lt
(less than)Supports attributes of type
DATE
andNUMBER
. -
le
(less than or equal to)Supports attributes of type
DATE
andNUMBER
. -
sw
(starts with)Supports attributes of type
STRING
. -
ew
(ends with)Supports attributes of type
STRING
. -
co
(contains)Supports attributes of type
STRING
. -
within
(within a specified date)Supports attributes of type
DATE
. -
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.
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. |
Create DaVinci Flow
Deploy a DaVinci Flow
Clone a DaVinci Flow
Import DaVinci Flow
Import DaVinci Legacy Flow
Read One DaVinci Flow
Read All DaVinci Flows
Enable a DaVinci Flow
Update DaVinci Flow
Delete DaVinci Flow
DaVinci Admin Flow Versions
The PingOne DaVinci Admin Flow Versions service provides endpoints to read, update, and delete DaVinci flow versions. This service also includes endpoints to export, revert, and see details about a flow version.
DaVinci admin flow versions data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
alias |
String | Optional | Mutable | The user defined flow version alias. |
clonedFrom |
Number | Optional | Immutable | The version number from which this flow version was cloned or created. |
connectors |
Array[object] | Optional | Mutable | An array of connectors that apply to the flow. |
connectors[].id |
String | Optional | Mutable | The connector ID (or IDs) associated with the flow. Example connectors are httpConnector , functionsConnector , pingOneVerifyConnector , and annotationConnector . |
createdAt |
Time | N/A | Read only | The timestamp when the flow was created. |
deployedAt |
Time | N/A | Read only | The stamp when the flow was last deployed. |
description |
String | Optional | Mutable | The description of the flow. |
enabled |
Boolean | Optional | Immutable | Specifies the state of the flow. This can be stored as its own value in the database or it can reflect an existing flowStatus . |
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. |
graphData |
Object | Optional | Mutable | The graph-based representation of the flow depicted in the UI. Refer to the Flow versions graph data property data model table for details. |
flow |
Object | Required | Immutable | The flow object associated with this flow version. |
flow.id |
String | Required | Immutable | The flow ID of the flow associated with this flow version. |
flow.name |
String | Required | Immutable | The name of the flow associated with this flow version. |
includeSubFlows |
Boolean | Optional | Mutable | Specifies whether the exported flow version should include subflows. |
includeVariableValues |
Boolean | Optional | Mutable | Specifies whether the exported flow version should include variable values. |
outputSchema |
Object | Required | Mutable | The JSONschema output object of the flow. |
updatedAt |
Date | N/A | Read only | The timestamp when the flow was updated or saved. |
version |
Number | Required | Mutable | The version number of the flow instance represented by this object. |
Flow versions details property data model
The following table lists the supported flow versions details settings properties.
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
color |
String | Optional | Mutable | The color of the flow. |
connectors |
Array[object] | Optional | Mutable | An array of connectors that apply to the flow. |
connectors.id |
String | Optional | Mutable | The connector ID (or IDs) associated with the flow. |
description |
String | Optional | Mutable | The description of the flow. |
enabled |
Boolean | Optional | Immutable | Specifies the state of the flow. |
graphData |
Object | Optional | Mutable | The graph-based representation of the flow depicted in the UI. Refer to the Flow versions graph data property data model table for details. |
inputSchema |
Array[object] | Optional | Mutable | The flow input parameters in an array of JSONschema objects. |
name |
String | Required | Mutable | The name of the flow. |
outputSchema |
Object | Required | Mutable | The JSONschema output object of the flow. |
settings |
Object | Optional | Mutable | Flow settings saved by the user. Refer to the Settings property data model table for details. |
trigger |
Object | Optional | Mutable | The flow trigger object. |
trigger.type |
String | Optional | Mutable | If the trigger type is set to AUTHENTICATION , you invoke the flow through PingOne OpenID Connect or SAML endpoints. |
trigger.configuration |
Object | Optional | Mutable | The configuration object for session reuse. |
trigger.configuration.pwd |
Object | Optional | Mutable | The configuration object for password session reuse. |
trigger.configuration.pwd.enabled |
Boolean | Optional | Mutable | Specifies whether this configuration must be used to check for existing sessions. |
trigger.configuration.pwd.lastSignOn |
Integer | Optional | Mutable | An integer that specifies the duration (in seconds) that an active session can be reused. |
trigger.configuration.mfa |
Object | Optional | Mutable | The configuration object for MFA session reuse. |
trigger.configuration.mfa.enabled |
Boolean | Optional | Mutable | Specifies whether this configuration must be used to check for existing sessions. |
trigger.configuration.mfa.lastSignOn |
Integer | Optional | Mutable | An integer that specifies the duration (in seconds) that an active session can be reused. |
updates |
Array | N/A | Read only | String of actions taken to generate this version from the previous version. |
Flow versions graph data property data model
The following table lists the supported flow versions graph data settings properties.
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
graphData |
Object | Optional | Mutable | The graph-based representation of the flow depicted in the UI. |
graphData.elements |
Object | Required | Mutable | If graphData is set, the graphData.elements object must be defined. |
graphData.elements.nodes[] |
Array[Object] | Required | Mutable | If graphData.elements is set, the graphData.elements.nodes[] object must be defined. |
graphData.elements.nodes[].data |
Object | Required | Mutable | The node item data associated with the flow version. If graphData.elements.nodes[] is set, the graphData.elements.nodes[]].data object must be defined. |
graphData.elements.nodes[].data.nodeType |
String | Required | Mutable | The node type associated with the node item. |
graphData.elements.nodes[].data.connectionId |
String | Optional | Mutable | The connection ID associated with the node item. |
graphData.elements.nodes[].data.connectorId |
String | Optional | Mutable | The connector ID associated with the node item. |
graphData.elements.nodes[].data.name |
String | Optional | Mutable | The name of the node item. |
graphData.elements.nodes[].data.label |
String | Optional | Mutable | The label associated with the node item. |
graphData.elements.nodes[].data.status |
String | Optional | Mutable | The status of the node item. |
graphData.elements.nodes[].data.capabilityName |
String | Optional | Mutable | The name of the capability associated with the node item. |
graphData.elements.nodes[].data.type |
String | Optional | Mutable | The type associated with the node item. |
graphData.elements.nodes[].data.properties |
Object | Optional | Mutable | The properties associated with the node item. |
graphData.elements.nodes[].data.properties.nodeTitle |
Object | Optional | Mutable | The node title object. |
graphData.elements.nodes[].data.properties.nodeTitle.value |
String | Required | Mutable | The node title text. |
graphData.elements.nodes[].data.properties.code |
Object | Optional | Mutable | The node item code object. |
graphData.elements.nodes[].data.properties.code.value |
String | Required | Mutable | The code associated with the node item. |
graphData.elements.nodes[].data.properties.type |
Object | Optional | Mutable | The node type object. |
graphData.elements.nodes[].data.properties.type.value |
String | Required | Mutable | The node type. |
graphData.elements.nodes[].data.properties.customCSS |
Object | Optional | Mutable | The node's stylesheet object. |
graphData.elements.nodes[].data.properties.customCSS.value |
String | Required | Mutable | The node's CSS. |
graphData.elements.nodes[].data.properties.customHTML |
Object | Optional | Mutable | The node's HTML object. |
graphData.elements.nodes[].data.properties.customHTML.value |
String | Required | Mutable | The node's custom HTML. |
graphData.elements.nodes[].data.properties.customScript |
Object | Optional | Mutable | The node's script object. |
graphData.elements.nodes[].data.properties.customScript.value |
String | Required | Mutable | The node's custom scripts. |
graphData.elements.nodes[].data.properties.backgroundColor |
Object | Optional | Mutable | The node's background color object. |
graphData.elements.nodes[].data.properties.backgroundColor.value |
String | Required | Mutable | The node's background color. |
graphData.elements.nodes[].data.properties.inputSchema |
Object | Optional | Mutable | The node's input schema object. |
graphData.elements.nodes[].data.properties.inputSchema.value |
String | Required | Mutable | The node's input schema. |
graphData.elements.nodes[].data.properties.outputSchema |
Object | Optional | Mutable | The node's output schema object. |
graphData.elements.nodes[].data.properties.outputSchema.value |
String | Required | Mutable | The node's output schema. |
graphData.elements.nodes[].data.properties.message |
Object | Optional | Mutable | The node's message object. |
graphData.elements.nodes[].data.properties.message.value |
String | Required | Mutable | The node's message text. |
graphData.elements.nodes[].data.properties.showContinueButton |
Object | Optional | Mutable | The node's show continue button object. |
graphData.elements.nodes[].data.properties.showContinueButton.value |
Boolean | Required | Mutable | Specifies whether to show the node's continue text. |
graphData.elements.nodes[].data.properties.saveVariables |
Object | Optional | Mutable | The node's save variables object. |
graphData.elements.nodes[].data.properties.saveVariables.value |
Array[Object] | Required | Mutable | An array of variables that are saved. |
graphData.elements.nodes[].data.properties.formFieldList |
Object | Optional | Mutable | The node's form fields object. |
graphData.elements.nodes[].data.properties.formFieldsList.value |
Array[Object] | Required | Mutable | An array of form fields associated with the node. |
graphData.elements.nodes[].data.properties.variableInputList |
Object | Optional | Mutable | The node's variable input list object. |
graphData.elements.nodes[].data.properties.variableInputList.value |
Array[Object] | Required | Mutable | An array of input variables associated with the node. |
graphData.elements.nodes[].data.properties.additionalProperties |
Array[Object] | Optional | Mutable | An array of additional properties allowed by the node. |
graphData.elements.nodes[].data.additionalProperties |
Array[Object] | Optional | Mutable | An array of additional properties allowed in the Item definition. |
graphData.elements.nodes[].position |
Object | Required | Mutable | The node's position object. |
graphData.elements.nodes[].position.x |
Number | Required | Mutable | The node's x-axis position. |
graphData.elements.nodes[].position.y |
Number | Required | Mutable | The node's y-axis position. |
graphData.elements.nodes[].group |
String | Required | Mutable | The node's group. |
graphData.elements.nodes[].removed |
Boolean | Required | Mutable | Specifies whether the node can be removed. |
graphData.elements.nodes[].selected |
Boolean | Required | Mutable | Specifies whether the node can be selected. |
graphData.elements.nodes[].selectable |
Boolean | Required | Mutable | Specifies whether the node is selectable. |
graphData.elements.nodes[].locked |
Boolean | Required | Mutable | Specifies whether the node is locked. |
graphData.elements.nodes[].grabbable |
Boolean | Required | Mutable | Specifies whether the node is grabbable. |
graphData.elements.nodes[].pannable |
Boolean | Required | Mutable | Specifies whether the node can be moved. |
graphData.elements.nodes[].classes |
String | Optional | Mutable | The classes associated with the node. |
graphData.elements.edges[] |
Array[Object] | Required | Mutable | The object that describes the graph data element edges. |
graphData.elements.edges[].data |
Object | Required | Mutable | The object that describes the edges data. |
graphData.elements.edges[].data.id |
String | Required | Mutable | The edges element ID. |
graphData.elements.edges[].data.source |
String | Required | Mutable | The edges element source. |
graphData.elements.edges[].data.target |
String | Required | Mutable | The edges element target. |
graphData.elements.edges[].position |
Object | Required | Mutable | The edge's position object. |
graphData.elements.edges[].position.x |
Number | Required | Mutable | The edge's x-axis position. |
graphData.elements.edges[].position.y |
Number | Required | Mutable | The edge's y-axis position. |
graphData.elements.edges[].group |
String | Required | Mutable | The edge's group. |
graphData.elements.edges[].removed |
Boolean | Required | Mutable | Specifies whether the edge can be removed. |
graphData.elements.edges[].selected |
Boolean | Required | Mutable | Specifies whether the edge can be selected. |
graphData.elements.edges[].selectable |
Boolean | Required | Mutable | Specifies whether the node is selectable. |
graphData.elements.edges[].locked |
Boolean | Required | Mutable | Specifies whether the edge is locked. |
graphData.elements.edges[].grabbable |
Boolean | Required | Mutable | Specifies whether the edge is grabbable. |
graphData.elements.edges[].pannable |
Boolean | Required | Mutable | Specifies whether the edge can be moved. |
graphData.elements.edges[].classes |
String | Optional | Mutable | The classes associated with the item. |
graphData.elements.data |
String | Required | Mutable | The data associated with the element. |
graphData.elements.zoomingEnabled |
Boolean | Required | Mutable | Specifies whether zooming is enabled for the element. |
graphData.elements.userZoomingEnabled |
Boolean | Required | Mutable | Specifies whether user zooming is enabled for the element. |
graphData.elements.zoom |
Number | Required | Mutable | The zoom number. |
graphData.elements.minZoom |
Number | Required | Mutable | The minimum zoom number. |
graphData.elements.maxZoom |
Number | Required | Mutable | The maximum zoom number. |
graphData.elements.panningEnabled |
Boolean | Required | Mutable | Specifies whether the element can be moved. |
graphData.elements.userPanningEnabled |
Boolean | Required | Mutable | Specifies whether the element can be moved by the user. |
graphData.elements.pan |
Object | Required | Mutable | The panning object. |
graphData.elements.pan.x |
Number | Required | Mutable | The element's x-axis position. |
graphData.elements.pan.y |
Number | Required | Mutable | The element's y-axis position. |
graphData.elements.boxSelectionEnabled |
Boolean | Required | Mutable | Specifies whether box selection is enabled. |
graphData.elements.renderer |
Object | Required | Mutable | The renderer object. |
graphData.elements.renderer.name |
String | Required | Mutable | The renderer name. |
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. |
Read All DaVinci Flow Versions
Read One DaVinci Flow Version
Read DaVinci Flow Version Details
Revert DaVinci Flow Version
Export a DaVinci Flow Version
Add a DaVinci Flow Version Alias
Delete DaVinci Flow Version
DaVinci Admin Applications
PingOne DaVinci Admin Applications service provides endpoints to create, read, update, and delete DaVinci applications. This service also includes endpoints to rotate the application key and application secret values.
A DaVinci application configuration is the link between your site and the sign-on flows you have created in DaVinci. The application configuration contains settings to determine how external sites can send requests for flows, what flows can be requested, and how users and resources from other sites are managed.
DaVinci Admin applications data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
apiKey |
Object | Optional | Mutable | The collection of API keys associated with this application resource. |
apiKey.enabled |
Boolean | Optional | Mutable | Specifies whether the API key for this appliction is enabled. |
apiKey.value |
String | Optional | Mutable | The value of the API key. |
createdAt |
Date | N/A | Read only | The time when the application was created. |
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 application ID. |
name |
String | Required | Mutable | The application name. |
oauth |
Object | Optional | Mutable | The OAuth configuration for this application resource. |
oauth.clientSecret |
String | Optional | Mutable | The client secret used by this application resource. |
oauth.redirectUris |
Array | Optional | Mutable | The list of redirect URIs configured for this application resource. |
oauth.logoutURIs |
Array | Optional | Mutable | The list of logout URIs configured for this application resource. |
oauth.scopes |
Array | Optional | Mutable | The list of OAuth scopes configured for this application resource. |
oauth.grantTypes |
Array | Optional | Mutable | The list of OAuth grant types configured for this application resource. |
oauth.spjwksUrl |
String | Optional | Mutable | A URL to retrieve JWKS keys to verify the authorization request signature. This option takes precedence over spjwksOpenid property if both are set. |
oauth.spJwksOpenid |
String | Optional | Mutable | A set of JWKS keys to verify the authorization request signature. This property is ignored if spjwksUrl is set. |
updatedAt |
Date | N/A | Read only | The time when the application was last modified. |
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. |
Create DaVinci Application
Rotate DaVinci Application Key
Rotate DaVinci Application Secret
Read DaVinci Applications
Read One DaVinci Application
Update DaVinci Application
Delete DaVinci Application
DaVinci Admin Application Flow Policies
PingOne DaVinci Admin Application Flow Policies service provides endpoints to create, read, update, and delete DaVinci application flow policies. Application flow policies specify which flows are run through the application. A flow policy is an entity that points to one or more flows or versions of flows.
DaVinci Admin application flow policies data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
createdAt |
Date | N/A | Read only | The time when the flow policy was created. |
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 flow policy ID. |
name |
String | Required | Mutable | The flow policy name. |
flowDistributions |
Array | Optional | Immutable | An array of flow distribution properties that are a part of this flow policy. |
flowDistributions.id |
String | Optional | Immutable | The flow ID associated with this flow policy. |
flowDistributions.weight |
Number | Optional | Mutable | The weight that is assigned to the current flow in the flow policy. |
flowDistributions.version |
String | Optional | Mutable | The version of the flow to be used in the flow policy. |
flowDistributions.successNodes |
Array | Optional | Mutable | An array of node IDs in the flow that indicate a successful execution of the flow policy. |
flowDistributions.successNodes.id |
Array | Optional | Mutable | The node ID. |
flowDistributions.ip |
Array | Optional | Mutable | An array of IP addresses to create a whitelist of IP addresses from which flow executions can be performed. |
status |
String | Optional | Mutable | The status of the flow policy. Options are Enabled and Disabled . |
trigger |
Object | Optional | Immutable | The trigger associated with the flow. |
trigger.type |
String | Optional | Immutable | If the trigger type is set to AUTHENTICATION , you invoke the flow through PingOne OpenID Connect or SAML endpoints. |
updatedAt |
Date | N/A | Read only | The time when the flow policy was modified. |
DaVinci Admin application flow policy event data model properties
Property | Type? | Required? | Mutable? | Description |
---|---|---|---|---|
environment |
Object | N/A | Read only | The environment object. |
environment.id |
String | N/A | Read only | The DaVinci company ID, which is the PingOne environment ID. |
events |
Object | N/A | Read only | The DaVinci event object. |
events.id |
String | N/A | Read only | The DaVinci event ID. |
events.timestamp |
Date | N/A | Read only | A UTC timestamp that specifies when the event was logged. |
flow |
Object | N/A | Read only | The DaVinci flow object. |
flow.id |
String | N/A | Read only | The DaVinci flow ID. |
flow.version |
Number | N/A | Read only | The DaVinci flow version number. |
totalCount |
Number | N/A | Read only | The total number of flow executions. |
successCount |
Number | N/A | Read only | The total count of success nodes reached in flow executions. |
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. |
Create DaVinci Application Flow Policies
Read DaVinci Application Flow Policies
Read DaVinci Application Flow Policy Events
Read One DaVinci Application Flow Policy
Update DaVinci Application Flow Policy
Delete DaVinci Application Flow Policy
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.
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. |
Create DaVinci UI Template
Read DaVinci UI Templates
Read One DaVinci UI Template
Delete DaVinci UI Template
Working with PingOne APIs
If you want to start building your own workflows with PingOne APIs, the Workflow Library provides step-by-step workflows with linked Postman collections to help you start using the PingOne APIs in your Postman environment. For information about how PingOne secures APIs, resources, and data, and what you can do to implement security measures for your PingOne deployment and applications, refer to Platform security.
If you're new to PingOne and have not set up your test environment, refer to PingOne for Developers Getting Started. This guide helps you get an admin access token, which is required to make API calls to DaVinci Admin API resources.
PingOne API domains
This section discusses how PingOne API regional endpoints are entered in the domain name system (DNS). In DNS, and in our endpoints, the domain part of the uniform resource locator (URL) comprises three parts separated by periods, such as api.pingone.com
: one of our service-specific subdomains
, our PingOne domain name of pingone
, and one of our top level domains
.
We use Postman variables to manage this variety of domain parts in PingOne API endpoints. The later discussion is correct regarding the domain part that the variables evaluate to. However, to ease maintenance, the Postman environment template you get when you download a collection uses variables to isolate the TLD from the rest of the domain part and to isolate the domain part from the rest of the endpoint.
The environment template has a path variable for each subdomain. Each path variable uses another variable, {{tld}}
, for the top level domain (TLD). Such as https://api.pingone.{{tld}}/v1
for {{apiPath}}
. The tld
variable is first in the environment template that you downloaded.
The table below shows the top level domain value for each region. To change your region, simply change the default {{tld}}
value from com
to your region's TLD.
Region | Code | Top level domain |
---|---|---|
North America region (excluding Canada) | NA | com (default) |
Canada region | CA | ca |
European Union region | EU | eu |
Australia region | AU | com.au |
Singapore region | SG | sg |
Asia-Pacific region | AP | asia |
The PingOne API includes the following domains:
Domain | Postman path variable | Description |
---|---|---|
api.pingone.{{tld}} |
{{apiPath}} |
The primary domain for calling PingOne Management API resource server. |
auth.pingone.{{tld}} |
{{authPath}} |
The authorization and authentication server domain called to request the access token required to authenticate PingOne API requests. |
orchestrate-api.pingone.{{tld}} |
{{orchestratePath}} |
The primary domain for calling the PingOne DaVinci Management API resource server. |
scim-api.pingone.{{tld}} |
{{scimPath}} |
PingOne API service for Cross-domain Identity Management (SCIM). |
The {{...Path}}
variable in the sample requests stand for the PingOne service endpoint. Refer to Public endpoints in the PingOne for Developers Foundations guide for more information.
The Try a Request feature
Our documentation for the PingOne APIs includes an interactive Try a Request feature. Try a Request enables you to configure and send a PingOne API request and get a response from within the documentation. This is a quick way to interactively test a PingOne API request without needing to use either Postman or the command line.
Requests in Authentication and Authorization APIs do not have the Try a Request feature due to a Cross-Origin Resource Sharing (CORS) constraint.
Calling the PingOne APIs from the command line
Each PingOne API request in the documentation includes an example request and response. By default, the example request is displayed using cURL. However, a number of coding languages are available in the associated drop-down list. If you want to run a request from the command line, you can select the coding language and copy the displayed request. You'll need to replace any variables in the request with the appropriate values before running the request.
Using Postman collection-level authorization
Most APIs require authorization to ensure that client requests access data securely. Postman can pass along whatever authorization details necessary for the method demanded by the endpoint. You can manually include authorization data in the header, body, or as parameters to a request. However, the easiest way is to use the Authorization tab in Postman. Select an authorization Type on that tab and Postman offers a dialog to gather the information required by that Type. When you run a request, Postman uses the information from the Authorization tab to automatically add the necessary authorization header, body, or parameters to the request. Postman offers the Authorization tab on requests, folders, and collections.
In PingOne collections, the authorization method is defined at the collection level. Only those requests that require a specific authorization method have authorization defined on the request (roughly 10% of PingOne requests). This allows you to easily change the authorization used for most requests. Refer to Postman Collection-Level Authorization for more information.
Postman and the PingOne APIs
We use Postman to create our PingOne DaVinci Admin API docs, and have supplied our Postman collections for you to download. There's also an accompanying Postman Environment template already populated with the variables used in the collections.
If you aren't currently using Postman, you can install the free version. Refer to Download Postman to install Postman, either locally, or in your browser.
Refer to The PingOne DaVinci Admin API Postman collections for the collections you can download or fork.
For more information about our Postman environment variables, refer to The PingOne Postman environment template.
You'll also find all of the Postman collections for our documented PingOne use cases in our Workflow Library.
The PingOne Postman collections
You can get the PingOne DaVinci Admin API Postman collection by following either of these methods for retrieving a Postman collection into your workspace:
-
Fork the collection into your workspace. Postman retains an association between the source and your fork. If we update the source collection, you can pull those changes into the fork in your workspace.
-
Import the collection into your workspace. This is a one-time transfer and retains no association to the source collection.
To retrieve a collection
Refer to The PingOne DaVinci Admin API collections on this page.
-
Click the collection's Run In Postman button.
-
At the prompt, click Fork Collection at the bottom of the dialog or click import a copy near the bottom of the dialog.
-
Follow the on-screen instructions to fork or import the collection. You're prompted to select a Postman workspace for the retrieved collection.
When you fork a Postman collection, you create a copy of it in a selected workspace. Forking a collection creates a linked version that synchronizes with its source collection. This synchronization is apparent when you click the three dots icon on the forked collection - you'll see Pull changes on the context menu. When you click Pull changes, Postman compares the fork to the source collection. If changes are available, you can pull those changes into your fork. If you also elect to watch the collection, you'll receive notifications when the source changes.
If you import a collection, a copy is created in the selected workspace with no link back to the source. The collection is static. This may be desirable for some use cases. For example, if you intend to keep and use only some requests in a collection, a link back to the source is not needed.
You're not limited to choosing one method or the other. You can fork a copy to track the source and import a copy for experimentation, if you like.
The PingOne DaVinci Admin API collections
These Postman collections include requests for all create, read, update, and delete (CRUD) operations for the PingOne DaVinci Admin APIs.
For more information about the Postman environment variables included when you download or fork one of our Postman collections, refer to The PingOne Postman environment template.
The PingOne Postman environment template
Our Postman collections use variables in the request URLs to specify the UUIDs for PingOne resources. When you click the Run in Postman button for a collection, these environment variables are included in your download or fork. Use these environment variables as a template to assign your PingOne resource UUIDs with the common variables used in many of the requests.
For more information about using Postman environments, refer to the following topic in the Postman documentation: Environments in Postman.
POST requests in the PingOne DaVinci Admin API Postman collections that create a resource and return a resource ID include a Postman script. This script automatically adds a resource variable to your active Postman environment, and uses the newly created ID as the value.
For example, the following request creates a new DaVinci variable. This request URL contains variables for the API path and environment ID:
POST {{apiPath}}/environments/{{envID}}/variables
To run this request, you must ensure the {{apiPath}}
in the Postman environment template has the regional top-level domain (TLD) associated with your organization. Refer to Variables you must value for more information.
Almost every request in PingOne requires an environment ID. If you are working primarily in one environment for testing purposes, you'll want to add your environment's UUID to your active Postman environment as the value for the {{envID}}
variable.
Requests to PingOne Management API endpoints require a valid access token to authenticate the request. In the PingOne Postman collections, the token value is represented in the Postman environment template as the variable {{accessToken}}
.
With the {{tld}}
and {{envID}}
variables defined in your Postman template, and with a valid token value defined in the {{accessToken}}
variable, you can run the request shown above:
POST {{apiPath}}/environments/{{envID}}/variables
If the request is successful, Postman adds a {{variableID}}
variable to the current Postman environment automatically, and associates the new user's id
property value (the UUID of the new user) with this variable.
Notes about environment variables and security
It's important to understand how Postman allows you to Store and reuse values using variables. Postman has two values for each environment variable: an Initial value and a Current value. You'll want to pay particular attention to differences between Initial and current values. Initial values are saved to Postman's cloud, and available to anyone who has access to the environment. Current values are saved only locally and available only to you. Postman uses only the current value in requests. If an environment variable has an initial value but no current value, Postman doesn't copy it to the current value or use the initial value in the request, the request simply fails. In this case, you need to manually copy the initial value to the current value.
When you create a new variable with an initial value and save the environment, Postman autofills the current value. However, that is the only time that Postman autofills the current value. If you subsequently delete the current value, the variable is no longer valued in a request.
Saving initial values to the Postman cloud impacts security. These initial values are available to anyone who has access to the workspace. If a workspace is public, you have a security issue.
Postman's recommended solution to exposing secrets is to Store secrets in your Postman Vault. Remember that Postman uses only current values in requests.
Variables you must value
When you download or fork a PingOne Postman collection, your workspace receives a set of Postman environment variables for you to use as a template. The variables that represent a resource in PingOne automatically receive a value when you create a new PingOne resource using Postman. Our script associated with the request (shown on the request's Scripts tab) inserts the identifier of the resource it creates as the value of the variable associated with that resource. However, some variables essential to using Postman with PingOne do not have their values inserted automatically. You must manually add the correct value to these variables before making any requests in Postman:
Postman variable | PingOne resource |
---|---|
adminAppID |
The Client ID of the Worker app you created Create an admin Worker app connection. |
adminAppSecret |
The Client Secret of the Worker app created. |
adminEnvID |
The ID for the environment in which your Worker app resides. |
envID |
The ID for the environment in which you are running your Postman API requests. |
orgID |
The ID for your organization. In the PingOne admin console, select Environment and click Properties to view your organization ID. |
tld |
The top-level domain to use for your environment. This is used in URLs containing apiPath , authPath , orchestratePath , and scimPath . |
apiPath |
The regional domain for the PingOne management server (https://api.pingone.{{tld}}/v1 ). |
authPath |
The regional domain for the PingOne authorization and authentication server (https://auth.pingone.{{tld}} ). |
orchestratePath |
The regional domain for the PingOne DaVinci management server (https://orchestrate-api.pingone.{{tld}}/v1 ). |
scimPath |
The regional domain for the PingOne SCIM management server (https://scim-api.pingone.{{tld}} ). |