PingOne Platform APIs

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.

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 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:

/v1/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, and BOOLEAN.

  • gt (greater than)

    Supports attributes of type DATE and NUMBER.

  • ge (greater than or equal to)

    Supports attributes of type DATE and NUMBER.

  • lt (less than)

    Supports attributes of type DATE and NUMBER.

  • le (less than or equal to)

    Supports attributes of type DATE and NUMBER.

  • 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.

DaVinci flow errors

In addition to the general error codes, DaVinci flow 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}/flows, a PUT /environments/{envID}/flows/{davinciFlowID}, or a PUT /environments/{envID}/flows/{davinciFlowID}/enabled request supplies a body that violates the data model: an omitted name property on create or update, an omitted enabled property on enable or disable, a trigger object without a type property, an inputSchema entry without a propertyName or preferredDataType property, an empty or blank name, a name or description value longer than 256 or 1024 characters respectively, a name value that starts with an unsupported character or contains a < or a ${ sequence, a trigger.type value other than AUTHENTICATION or SCHEDULE on create or update, a trigger.subtype value other than CIBA, an inputSchema.preferredDataType value other than string, number, boolean, array, or object, an inputSchema.preferredControlType value outside the supported control type list, an enabled value that is not a boolean, or a property whose value is not of the documented JSON type

Details: One detail per validation error, each with the failing property path as the target. must have required property 'name' with target name when a create or update request omits name, and must have required property 'enabled' with target enabled when an enable or disable request omits enabled. must have required property 'type' with target trigger when the trigger object omits type, and must have required property 'propertyName' or must have required property 'preferredDataType' with the entry path as the target, for example inputSchema.0, when an inputSchema entry omits either property. must not be empty or blank for an empty or blank name. must NOT have more than 256 characters for a name longer than 256 characters and must NOT have more than 1024 characters for a description longer than 1024 characters. must match pattern "<pattern>", where <pattern> is the schema pattern for the property, for a name or description value that starts with an unsupported character or contains a < or a ${ sequence. must be one of the values: AUTHENTICATION or SCHEDULE for an unknown trigger.type value, must be one of the values: CIBA for an unknown trigger.subtype value, must be one of the values: string or number or boolean or array or object for an unknown inputSchema.preferredDataType value, and the analogous must be one of the values: <allowed control types> literal for an unknown inputSchema.preferredControlType value. must be boolean for a non-boolean enabled or inputSchema.required value, must not be empty or blank for an enabled value of null, and must be string for a property of the wrong JSON type, for example with target name.

400

INVALID_DATA

INVALID_PARAMETER

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

When and details

When: A GET /environments/{envID}/flows or a GET /environments/{envID}/flows/{davinciFlowID} request supplies an attributes query parameter longer than 500 characters or an expand query parameter longer than 100 characters

Details: Detail code INVALID_PARAMETER with message must NOT have more than 500 characters and target attributes for an overlong attributes parameter, or message must NOT have more than 100 characters and target expand for an overlong expand parameter.

400

INVALID_DATA

INVALID_PARAMETER

Message: Invalid attribute provided for sorting

When and details

When: A GET /environments/{envID}/flows request supplies an order query parameter that names an attribute other than name, updatedAt, createdAt, deployedAt, enabled, trigger.type, settings.logLevel, publishedVersion, or currentVersion

Details: Detail code INVALID_PARAMETER with message:

Invalid attribute provided for sorting: valid parameters are name, updatedAt, createdAt, deployedAt, enabled, trigger.type, settings.logLevel, publishedVersion, currentVersion

and target order.

400

INVALID_DATA

INVALID_PARAMETER

Message: Invalid page size provided

When and details

When: A GET /environments/{envID}/flows request supplies a limit query parameter that is not a positive integer or is greater than 100

Details: Detail code INVALID_PARAMETER with message Invalid page size provided: page size ranges from 1 to 100 and target limit.

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 /environments/{envID}/flows or a PUT /environments/{envID}/flows/{davinciFlowID} request sets trigger.type to SCHEDULE or BATCH_PROCESSING_SUBFLOW in an environment where the corresponding scheduled flows or batch processing feature flag is disabled

Details: Detail code INVALID_VALUE with message must be one of the values: AUTHENTICATION and target trigger.type for a scheduled flow in an environment where scheduled flows are not enabled, or message must be one of the values: AUTHENTICATION, SCHEDULE and target trigger.type for a batch processing subflow in an environment where batch processing is not enabled.

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 /environments/{envID}/flows, a POST /environments/{envID}/flows/{davinciFlowID} clone request with a name property, or a flow import request uses a flow name that already exists in the environment. Import requests additionally return this error when two flows in the same import payload share a name, when a payload subflow name collides with the main flow name, or when a payload subflow name matches a flow that already exists in the environment

Details: Detail code UNIQUENESS_VIOLATION. Create, clone, and main-flow import collisions return message A flow with that name already exists, or the provided name isn’t valid. Check the flow names and try again. An import payload with two subflows of the same name returns message The import contains more than one subflow with the same name: "<name>". Rename one of the subflows and try again. A subflow whose name matches the main flow returns message The import contains a subflow with the same name as the main flow: "<name>". Rename one of them and try again. A subflow colliding with an existing environment flow returns message A flow with the name "<name>" already exists. Rename the subflow and try again.

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 /environments/{envID}/flows request supplies a filter query parameter that references an attribute outside the filterable set, an operator that the filtered attribute does not support, or an actor attribute such as createdBy.user.id when actor metadata is disabled for the environment. The filterable attributes are name, description, currentVersionAlias, publishedVersionAlias, enabled, trigger.type, createdAt, updatedAt, deployedAt, and settings.logLevel, plus the actor identifier attributes when actor metadata is enabled. String attributes support eq, and, or, sw, co, and ew, date attributes support eq, and, or, gt, ge, lt, and le, and boolean attributes and actor attributes support only eq combined through and or or

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 attribute that does not support the supplied 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.

400

REQUEST_FAILED

ITEM_LIMIT_EXCEEDED

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

When and details

When: A POST /environments/{envID}/flows create, clone, or import request runs after the environment has reached the maximum number of flows allowed for the environment

Details: Detail code ITEM_LIMIT_EXCEEDED with message Flow limit is exceeded and no target. The limit preflight runs ahead of the duplicate-name check, so an over-limit environment returns this error even when the request also reuses an existing flow name.

400

REQUEST_FAILED

CONSTRAINT_VIOLATION

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

When and details

When: A DELETE /environments/{envID}/flows/{davinciFlowID} request targets a flow that an application flow policy currently references

Details: Detail code CONSTRAINT_VIOLATION with message This Flow is in a Application Flow Policy and no target. Remove the flow from the application’s flow policy before deleting it.

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 /environments/{envID}/flows/{davinciFlowID} validate request targets a flow that has no graphData, or a PUT /environments/{envID}/flows/{davinciFlowID} request includes a flow graph whose subflow node references the flow being updated. A PUT request also returns this error when the stored previous flow version or the flow’s current version record cannot be found during the version diff

Details: Detail code CONSTRAINT_VIOLATION with message Flow is empty for a validate request on a flow without graphData, message Flow validation error for a self-referencing subflow graph, and message Flow version not found for a missing previous version record. None of these details carry a 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 PUT /environments/{envID}/flows/{davinciFlowID} update request or a POST /environments/{envID}/flows/{davinciFlowID}/versions/{davinciFlowVersionID} revert request is rejected on schedule-trigger transition grounds: a scheduled flow cannot be changed to a non-scheduled flow and a non-scheduled flow cannot be changed to a scheduled flow. A create, update, or import request that sets trigger.type to SCHEDULE also returns this error when the flow graph has no graphData, when the graph has no single START node, or when the START node has more than one connected edge

Details: Detail code CONSTRAINT_VIOLATION with message A schedule flow cannot be changed to a non-schedule flow or A non-schedule flow cannot be changed to a schedule flow and no target, or with message The flow graph cannot be empty with target graphData for a scheduled flow whose graph has no nodes, message There can only be one start node with target graphData for a graph whose START node count is not one, or message The start node can only have one edge connected to it with target graphData for a START node with more than one edge.

400

REQUEST_FAILED

CONSTRAINT_VIOLATION

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

When and details

When: A PUT /environments/{envID}/flows/{davinciFlowID} request changes the trigger type of a batch processing subflow away from BATCH_PROCESSING_SUBFLOW, or changes any other flow’s trigger type to BATCH_PROCESSING_SUBFLOW

Details: Detail code CONSTRAINT_VIOLATION with message A batch processing flow cannot be changed to a non-batch processing flow. or A non-batch processing flow cannot be changed to a batch processing flow. and no 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 DELETE /environments/{envID}/flows/{davinciFlowID} or a PUT /environments/{envID}/flows/{davinciFlowID} request targets a flow whose readOnly attribute is set, such as a flow exported by Ping Identity for a customer

Details: Detail code CONSTRAINT_VIOLATION with message Flow is read-only. and target readOnly.

400

REQUEST_FAILED

INVALID_VALUE

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

When and details

When: A PUT /environments/{envID}/flows/{davinciFlowID} request supplies flow settings that violate content security policy validation: enabling shouldEnforceCsp without an enforcedCsp value, enabling shouldReportCspViolations without a valid HTTPS cspReportUri, omitting reportOnlyCsp when violation reporting is enabled, supplying an enforcedCsp or reportOnlyCsp value that fails CSP linting, or supplying any CSP setting when the environment has no custom domain configured

Details: Detail code INVALID_VALUE with message A custom domain is required to modify content security policy settings. and target settings when the environment has no custom domain, with message Report destination URL must be a valid HTTPS URL or relative path when reporting CSP violations is enabled. and target settings.cspReportUri, with message Enforced CSP value is invalid: CSP linting failed. and target settings.enforcedCsp, or with message Report-only CSP value is invalid: CSP linting failed. and target settings.reportOnlyCsp. Detail code EMPTY_VALUE with message Enforced CSP Value is required when Enforce Content Security Policy is enabled. and target settings.enforcedCsp, or with message Report-only CSP value cannot be empty when reporting CSP violations is enabled. and target settings.reportOnlyCsp.

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 /environments/{envID}/flows create or import request or a PUT /environments/{envID}/flows/{davinciFlowID} update request includes a flow graph node whose variable name is the reserved JavaScript name proto, prototype, or constructor

Details: Detail code INVALID_VALUE with message Cannot create variable with this name and no target.

400

INVALID_DATA

REQUIRED_VALUE

Message: The request is missing a required value.

When and details

When: A flow import request supplies a payload without a flow object on the application/vnd.pingidentity.flow.import+json content type, or without a flowInfo or flowNameMapping object on the application/vnd.pingidentity.flow.import.legacy+json content type

Details: Detail code REQUIRED_VALUE with message must have required property 'flow' for the standard import content type, or must have required property 'flowInfo' or must have required property 'flowNameMapping' for the legacy import content type, each with the omitted property as the target.

400

INVALID_DATA

REQUIRED_VALUE or INVALID_VALUE

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

When and details

When: A flow import request fails against the imported flow’s contents: a connector ID listed in the payload does not identify a connector present in the environment, or the payload omits the connectorIds list

Details: Detail code REQUIRED_VALUE with message Flow template - no connectorIds found when the payload omits connectorIds. Detail code INVALID_VALUE with message Error importing flow. The Connectors are not present in environment [<connector id list>] for unavailable connectors.

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 flow import request includes a form whose name matches a form that already exists in the environment

Details: Detail code UNIQUENESS_VIOLATION with message Failed to import form: uniqueness violation and no target.

400

REQUEST_FAILED

ITEM_LIMIT_EXCEEDED

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

When and details

When: A flow import request would push the environment past the maximum number of forms allowed for the environment

Details: Detail code ITEM_LIMIT_EXCEEDED with message Failed to import forms: the maximum number of forms permitted in this environment would be exceeded. and no target.

403

ACCESS_FAILED

INSUFFICIENT_PERMISSIONS

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

When and details

When: A POST /environments/{envID}/flows create or import request sets trigger.type to SCHEDULE or BATCH_PROCESSING_SUBFLOW in an environment that is not licensed for scheduled flows. The create and import paths check the license; update, clone, and deploy requests do not

Details: Detail code INSUFFICIENT_PERMISSIONS with message You do not have permissions or are not licensed to make this request. and no target.

403

ACCESS_FAILED

INSUFFICIENT_PERMISSIONS

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

When and details

When: A flow import request includes forms that the environment lacks the permissions to import

Details: Detail code INSUFFICIENT_PERMISSIONS with message Failed to import flow with form(s): invalid permissions 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:dvFlows permission (POST operations), the davinci:read:dvFlows permission (GET operations), the davinci:update:dvFlows permission (PUT operations), or the davinci:delete:dvFlows 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, PUT, DELETE, POST clone, deploy, or validate request, or a PUT /environments/{envID}/flows/{davinciFlowID}/enabled request, references a flow ID that does not exist in the environment

Details: None

415

INVALID_REQUEST

None

Message:

The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.
When and details

When: A POST /environments/{envID}/flows/{davinciFlowID} request does not set the Content-Type header to one of application/vnd.pingidentity.flow.clone+json for clone, application/vnd.pingidentity.flow.deploy+json for deploy, or application/vnd.pingidentity.flow.validate+json for validate

Details: None

500

UNEXPECTED_ERROR

None

Message: There was an unexpected error with the service. Please try again later.

When and details

When: The service encounters an unexpected internal failure while processing a flow operation, including a create, clone, import, or update whose internal processing fails after validation, a POST validate request whose DV Linter evaluation returns no lint results, and a flow import request that supplies batch processing subflows or streaming capability nodes while the batch processing feature flag is disabled for the environment

Details: None