Step 2: Read all flow policies
GET {{apiPath}}/environments/{{envID}}/flowPolicies
This example shows the GET /{{envID}}/flowPolicies operation to list all available flow policies. These are the flow policies that you defined in the DaVinci Flow Studio UI. The flowPolicies endpoint identifies the DaVinci flow policy resources defined in the specified environment.
In this request:
-
{{envID}}represents your environment ID. -
The request returns an embedded list of flow policies, showing the policy
nameandidproperties. You’ll need to copy the flow policy ID value for use in the next step.
Example Request
-
cURL
-
C#
-
Go
-
HTTP
-
Java
-
jQuery
-
NodeJS
-
Python
-
PHP
-
Ruby
-
Swift
curl --location --globoff '{{apiPath}}/environments/{{envID}}/flowPolicies' \
--header 'Authorization: Bearer {{accessToken}}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/flowPolicies")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Get);
request.AddHeader("Authorization", "Bearer {{accessToken}}");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{apiPath}}/environments/{{envID}}/flowPolicies"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer {{accessToken}}")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
GET /environments/{{envID}}/flowPolicies HTTP/1.1
Host: {{apiPath}}
Authorization: Bearer {{accessToken}}
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{apiPath}}/environments/{{envID}}/flowPolicies")
.method("GET", body)
.addHeader("Authorization", "Bearer {{accessToken}}")
.build();
Response response = client.newCall(request).execute();
var settings = {
"url": "{{apiPath}}/environments/{{envID}}/flowPolicies",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer {{accessToken}}"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require('request');
var options = {
'method': 'GET',
'url': '{{apiPath}}/environments/{{envID}}/flowPolicies',
'headers': {
'Authorization': 'Bearer {{accessToken}}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
url = "{{apiPath}}/environments/{{envID}}/flowPolicies"
payload = {}
headers = {
'Authorization': 'Bearer {{accessToken}}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/flowPolicies');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'Bearer {{accessToken}}'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "net/http"
url = URI("{{apiPath}}/environments/{{envID}}/flowPolicies")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer {{accessToken}}"
response = http.request(request)
puts response.read_body
var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/flowPolicies")!,timeoutInterval: Double.infinity)
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Example Response
200 OK
{
"_links": {
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies"
}
},
"_embedded": {
"flowPolicies": [
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/ff5d4b1a72b98a00598df1a7124409ef"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "P1 Flow Policy 4 P1 App",
"enabled": true,
"application": {
"name": "P1 Flow Policy App",
"id": "5055baa1a470bf20f97ebb99b972af02"
},
"trigger": {
"type": "AUTHENTICATION"
},
"id": "ff5d4b1a72b98a00598df1a7124409ef"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/325af0d98cf77ed6614ea9b3b511287b"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Davinci Flow Policy 1673550780",
"enabled": true,
"application": {
"name": "DaVinci Use Case App 1673550768",
"id": "50d75ffd6d0083239341a6c35cd36c68"
},
"id": "325af0d98cf77ed6614ea9b3b511287b"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/8f8e7967fa6d8f8d461f8e5b51617e4f"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "New Policy",
"enabled": true,
"application": {
"name": "DaVinci Use Case App 1673550768",
"id": "50d75ffd6d0083239341a6c35cd36c68"
},
"trigger": {
"type": "AUTHENTICATION"
},
"id": "8f8e7967fa6d8f8d461f8e5b51617e4f"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/831534fda10cdc0d17b0188e31d1fd75"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Sign On and Registration",
"enabled": true,
"application": {
"name": "Test App",
"id": "890bf14a5609b6bdaeae310efb3188bf"
},
"id": "831534fda10cdc0d17b0188e31d1fd75"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/04171ed8aa1080e1f3616979e57bd49d"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Davinci Flow Policy 1671037981",
"enabled": true,
"application": {
"name": "DaVinci Use Case App 1671037916",
"id": "c503694c97cfa60f027cb0045ad73307"
},
"id": "04171ed8aa1080e1f3616979e57bd49d"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/fcc129c809d1bfda93bb7a70c4a03af4"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Davinci Flow Policy 1673566497",
"enabled": true,
"application": {
"name": "DaVinci Use Case App 1673566491",
"id": "ed451bc3f3200e56bf5e60b8ae293fd8"
},
"id": "fcc129c809d1bfda93bb7a70c4a03af4"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/f833ad139ac2237f732adcaf38be73aa"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Sign on and Password Reset",
"enabled": true,
"application": {
"name": "New Test App 8-19",
"id": "ee94ed4c3c4a86e172ec424edc9fee64"
},
"id": "f833ad139ac2237f732adcaf38be73aa"
},
{
"_links": {
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/flowPolicies/71d062276254bd16b2d8776e966ef84c"
}
},
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Davinci Flow Policy 1670890757",
"enabled": true,
"application": {
"name": "DaVinci Use Case App 1670890747",
"id": "fb33c2afb98f1d908ba1edfb44bd8988"
},
"id": "71d062276254bd16b2d8776e966ef84c"
}
]
},
"size": 8
}