PingOne Platform APIs

Create Store (PingOne)

 

POST {{apiPath}}/environments/{{envID}}/propagation/stores

The POST {{apiPath}}/environments/{{envID}}/propagation/stores operation adds a new identity store to the specified environment.

Prerequisites

Request Model
Property Type Required?

configuration.CLIENT_ID

String

Optional

configuration.CLIENT_SECRET

String

Optional

configuration.CREATE_USERS_PROV_OPT (deprecated)

Boolean

Optional

configuration.CREATE_USERS

Boolean

Optional

configuration.DEFAULT_AUTH_METHOD

String

Optional

configuration.DISABLE_USERS

Boolean

Optional

configuration.ENVIRONMENT_ID

Sring

Required

configuration.MFA_USER_DEVICE_MANAGEMENT

String

Optional

configuration.PROVISION_DISABLED_USERS_PROV_OPT

Boolean

Optional

configuration.REGION

String

Required

configuration.REMOVE_ACTION

String

Optional

configuration.REMOVE_USERS_PROV_OPT (deprecated)

Boolean

Optional

configuration.UPDATE_USERS_PROV_OPT (deprecated)

Boolean

Optional

configuration.UPDATE_USERS

Boolean

Optional

description

String

Optional

image.href

String

Optional

managed

Boolean

Optional

name

String

Required

status

String

Optional

type

String

Required

This operation sends and returns the connection properties for an identity store with "type":"PingOne". For information on the available and required keys in the configuration object of the request body, review connectionProfiles[].connectionAttributes[] and attributeMetadata.capabilities[] in the response to POST Identity Propagation Store Metadata (PingOne).

Headers

Authorization      Bearer {{accessToken}}

Content-Type      application/json

Body

raw ( application/json )

{
    "type": "PingOne",
    "name": "PingOneTest",
    "configuration": {
        "ENVIRONMENT_ID": "{{envID}}",
        "REGION": "North America",
        "DEFAULT_AUTH_METHOD": "Email 1",
        "CREATE_USERS": true,
        "UPDATE_USERS": true,
        "DISABLE_USERS": true,
        "REMOVE_ACTION": "Disable",
        "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
        "PROVISION_DISABLED_USERS_PROV_OPT": true,
        "CLIENT_ID": "yourClientId",
        "CLIENT_SECRET": "yourClientSecret"
    },
    "image": {
        "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    }
}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff '{{apiPath}}/environments/{{envID}}/propagation/stores' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
    "type": "PingOne",
    "name": "PingOneTest",
    "configuration": {
        "ENVIRONMENT_ID": "{{envID}}",
        "REGION": "North America",
        "DEFAULT_AUTH_METHOD": "Email 1",
        "CREATE_USERS": true,
        "UPDATE_USERS": true,
        "DISABLE_USERS": true,
        "REMOVE_ACTION": "Disable",
        "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
        "PROVISION_DISABLED_USERS_PROV_OPT": true,
        "CLIENT_ID": "yourClientId",
        "CLIENT_SECRET": "yourClientSecret"
    },
    "image": {
        "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    }
}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/propagation/stores")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Post);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@"    ""type"": ""PingOne""," + "\n" +
@"    ""name"": ""PingOneTest""," + "\n" +
@"    ""configuration"": {" + "\n" +
@"        ""ENVIRONMENT_ID"": ""{{envID}}""," + "\n" +
@"        ""REGION"": ""North America""," + "\n" +
@"        ""DEFAULT_AUTH_METHOD"": ""Email 1""," + "\n" +
@"        ""CREATE_USERS"": true," + "\n" +
@"        ""UPDATE_USERS"": true," + "\n" +
@"        ""DISABLE_USERS"": true," + "\n" +
@"        ""REMOVE_ACTION"": ""Disable""," + "\n" +
@"        ""MFA_USER_DEVICE_MANAGEMENT"": ""Merge with devices in PingOne""," + "\n" +
@"        ""PROVISION_DISABLED_USERS_PROV_OPT"": true," + "\n" +
@"        ""CLIENT_ID"": ""yourClientId""," + "\n" +
@"        ""CLIENT_SECRET"": ""yourClientSecret""" + "\n" +
@"    }," + "\n" +
@"    ""image"": {" + "\n" +
@"        ""href"": ""https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png""" + "\n" +
@"    }" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/environments/{{envID}}/propagation/stores"
  method := "POST"

  payload := strings.NewReader(`{
    "type": "PingOne",
    "name": "PingOneTest",
    "configuration": {
        "ENVIRONMENT_ID": "{{envID}}",
        "REGION": "North America",
        "DEFAULT_AUTH_METHOD": "Email 1",
        "CREATE_USERS": true,
        "UPDATE_USERS": true,
        "DISABLE_USERS": true,
        "REMOVE_ACTION": "Disable",
        "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
        "PROVISION_DISABLED_USERS_PROV_OPT": true,
        "CLIENT_ID": "yourClientId",
        "CLIENT_SECRET": "yourClientSecret"
    },
    "image": {
        "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    }
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  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))
}
POST /environments/{{envID}}/propagation/stores HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}

{
    "type": "PingOne",
    "name": "PingOneTest",
    "configuration": {
        "ENVIRONMENT_ID": "{{envID}}",
        "REGION": "North America",
        "DEFAULT_AUTH_METHOD": "Email 1",
        "CREATE_USERS": true,
        "UPDATE_USERS": true,
        "DISABLE_USERS": true,
        "REMOVE_ACTION": "Disable",
        "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
        "PROVISION_DISABLED_USERS_PROV_OPT": true,
        "CLIENT_ID": "yourClientId",
        "CLIENT_SECRET": "yourClientSecret"
    },
    "image": {
        "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    }
}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"type\": \"PingOne\",\n    \"name\": \"PingOneTest\",\n    \"configuration\": {\n        \"ENVIRONMENT_ID\": \"{{envID}}\",\n        \"REGION\": \"North America\",\n        \"DEFAULT_AUTH_METHOD\": \"Email 1\",\n        \"CREATE_USERS\": true,\n        \"UPDATE_USERS\": true,\n        \"DISABLE_USERS\": true,\n        \"REMOVE_ACTION\": \"Disable\",\n        \"MFA_USER_DEVICE_MANAGEMENT\": \"Merge with devices in PingOne\",\n        \"PROVISION_DISABLED_USERS_PROV_OPT\": true,\n        \"CLIENT_ID\": \"yourClientId\",\n        \"CLIENT_SECRET\": \"yourClientSecret\"\n    },\n    \"image\": {\n        \"href\": \"https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png\"\n    }\n}");
Request request = new Request.Builder()
  .url("{{apiPath}}/environments/{{envID}}/propagation/stores")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/environments/{{envID}}/propagation/stores",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
  "data": JSON.stringify({
    "type": "PingOne",
    "name": "PingOneTest",
    "configuration": {
      "ENVIRONMENT_ID": "{{envID}}",
      "REGION": "North America",
      "DEFAULT_AUTH_METHOD": "Email 1",
      "CREATE_USERS": true,
      "UPDATE_USERS": true,
      "DISABLE_USERS": true,
      "REMOVE_ACTION": "Disable",
      "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
      "PROVISION_DISABLED_USERS_PROV_OPT": true,
      "CLIENT_ID": "yourClientId",
      "CLIENT_SECRET": "yourClientSecret"
    },
    "image": {
      "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    }
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'POST',
  'url': '{{apiPath}}/environments/{{envID}}/propagation/stores',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  },
  body: JSON.stringify({
    "type": "PingOne",
    "name": "PingOneTest",
    "configuration": {
      "ENVIRONMENT_ID": "{{envID}}",
      "REGION": "North America",
      "DEFAULT_AUTH_METHOD": "Email 1",
      "CREATE_USERS": true,
      "UPDATE_USERS": true,
      "DISABLE_USERS": true,
      "REMOVE_ACTION": "Disable",
      "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
      "PROVISION_DISABLED_USERS_PROV_OPT": true,
      "CLIENT_ID": "yourClientId",
      "CLIENT_SECRET": "yourClientSecret"
    },
    "image": {
      "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
import json

url = "{{apiPath}}/environments/{{envID}}/propagation/stores"

payload = json.dumps({
  "type": "PingOne",
  "name": "PingOneTest",
  "configuration": {
    "ENVIRONMENT_ID": "{{envID}}",
    "REGION": "North America",
    "DEFAULT_AUTH_METHOD": "Email 1",
    "CREATE_USERS": True,
    "UPDATE_USERS": True,
    "DISABLE_USERS": True,
    "REMOVE_ACTION": "Disable",
    "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
    "PROVISION_DISABLED_USERS_PROV_OPT": True,
    "CLIENT_ID": "yourClientId",
    "CLIENT_SECRET": "yourClientSecret"
  },
  "image": {
    "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
  }
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/propagation/stores');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n    "type": "PingOne",\n    "name": "PingOneTest",\n    "configuration": {\n        "ENVIRONMENT_ID": "{{envID}}",\n        "REGION": "North America",\n        "DEFAULT_AUTH_METHOD": "Email 1",\n        "CREATE_USERS": true,\n        "UPDATE_USERS": true,\n        "DISABLE_USERS": true,\n        "REMOVE_ACTION": "Disable",\n        "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",\n        "PROVISION_DISABLED_USERS_PROV_OPT": true,\n        "CLIENT_ID": "yourClientId",\n        "CLIENT_SECRET": "yourClientSecret"\n    },\n    "image": {\n        "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"\n    }\n}');
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 "json"
require "net/http"

url = URI("{{apiPath}}/environments/{{envID}}/propagation/stores")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
  "type": "PingOne",
  "name": "PingOneTest",
  "configuration": {
    "ENVIRONMENT_ID": "{{envID}}",
    "REGION": "North America",
    "DEFAULT_AUTH_METHOD": "Email 1",
    "CREATE_USERS": true,
    "UPDATE_USERS": true,
    "DISABLE_USERS": true,
    "REMOVE_ACTION": "Disable",
    "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
    "PROVISION_DISABLED_USERS_PROV_OPT": true,
    "CLIENT_ID": "yourClientId",
    "CLIENT_SECRET": "yourClientSecret"
  },
  "image": {
    "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
  }
})

response = http.request(request)
puts response.read_body
let parameters = "{\n    \"type\": \"PingOne\",\n    \"name\": \"PingOneTest\",\n    \"configuration\": {\n        \"ENVIRONMENT_ID\": \"{{envID}}\",\n        \"REGION\": \"North America\",\n        \"DEFAULT_AUTH_METHOD\": \"Email 1\",\n        \"CREATE_USERS\": true,\n        \"UPDATE_USERS\": true,\n        \"DISABLE_USERS\": true,\n        \"REMOVE_ACTION\": \"Disable\",\n        \"MFA_USER_DEVICE_MANAGEMENT\": \"Merge with devices in PingOne\",\n        \"PROVISION_DISABLED_USERS_PROV_OPT\": true,\n        \"CLIENT_ID\": \"yourClientId\",\n        \"CLIENT_SECRET\": \"yourClientSecret\"\n    },\n    \"image\": {\n        \"href\": \"https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png\"\n    }\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/propagation/stores")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "POST"
request.httpBody = postData

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

201 Created

{
    "id": "4c7d38cf-e3dc-4210-a9c3-d19209333874",
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "createdAt": "2022-11-28T19:43:36.206Z",
    "updatedAt": "2022-11-28T19:43:36.206Z",
    "image": {
        "href": "https://d1oekt4jpdthse.cloudfront.net/branding/market/cb933bfe-8282-405a-a780-0a19b97edc02.png"
    },
    "type": "PingOne",
    "status": "INACTIVE",
    "configuration": {
        "ENVIRONMENT_ID": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6",
        "REGION": "North America",
        "DEFAULT_AUTH_METHOD": "Email 1",
        "CREATE_USERS": true,
        "UPDATE_USERS": true,
        "DISABLE_USERS": true,
        "REMOVE_ACTION": "Disable",
        "MFA_USER_DEVICE_MANAGEMENT": "Merge with devices in PingOne",
        "PROVISION_DISABLED_USERS_PROV_OPT": true,
        "CLIENT_ID": "yourClientId",
        "CLIENT_SECRET": "yourClientSecret"
    },
    "name": "PingOneTest",
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/propagation/stores/4c7d38cf-e3dc-4210-a9c3-d19209333874"
        },
        "update": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/propagation/stores/4c7d38cf-e3dc-4210-a9c3-d19209333874"
        },
        "delete": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/propagation/stores/4c7d38cf-e3dc-4210-a9c3-d19209333874"
        }
    }
}