PingOne Platform APIs

Identity Propagation Store Metadata (LdapGateway)

 

POST {{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway

The POST {{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway endpoint returns metadata from the specified LDAP Gateway identity store.

A request body is required but should contain only the type of LDAP gateway. Any other content is ignored. LDAP gateways do not support dynamic metadata.

Request Model

Refer to the configuration object of Propagation store LDAP Gateway data model for full property descriptions.

Property Type Required?

LDAP_TYPE

String

Required

Currently, the only valid LDAP_TYPE values are PingDirectory and Microsoft Active Directory.

Headers

Authorization      Bearer {{accessToken}}

Content-Type      application/json

Body

raw ( application/json )

{
    "LDAP_TYPE": "Microsoft Active Directory"
}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff '{{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
    "LDAP_TYPE": "Microsoft Active Directory"
}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway")
{
  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" +
@"    ""LDAP_TYPE"": ""Microsoft Active Directory""" + "\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/storeMetadata/LdapGateway"
  method := "POST"

  payload := strings.NewReader(`{
    "LDAP_TYPE": "Microsoft Active Directory"
}`)

  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/storeMetadata/LdapGateway HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}

{
    "LDAP_TYPE": "Microsoft Active Directory"
}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"LDAP_TYPE\": \"Microsoft Active Directory\"\n}");
Request request = new Request.Builder()
  .url("{{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway")
  .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/storeMetadata/LdapGateway",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
  "data": JSON.stringify({
    "LDAP_TYPE": "Microsoft Active Directory"
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'POST',
  'url': '{{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  },
  body: JSON.stringify({
    "LDAP_TYPE": "Microsoft Active Directory"
  })

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

url = "{{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway"

payload = json.dumps({
  "LDAP_TYPE": "Microsoft Active Directory"
})
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/storeMetadata/LdapGateway');
$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    "LDAP_TYPE": "Microsoft Active Directory"\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/storeMetadata/LdapGateway")

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({
  "LDAP_TYPE": "Microsoft Active Directory"
})

response = http.request(request)
puts response.read_body
let parameters = "{\n    \"LDAP_TYPE\": \"Microsoft Active Directory\"\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/propagation/storeMetadata/LdapGateway")!,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

200 OK

{
    "information": {
        "imageUrl": "",
        "key": "LdapGateway",
        "version": "1.0",
        "displayName": "LDAP Gateway Connector",
        "identityProvider": false,
        "baseURLRequired": false,
        "connectionInformationRequired": false
    },
    "connectionProfiles": [
        {
            "connectionAttributes": [
                {
                    "key": "GATEWAY_BASE_URL",
                    "displayLabel": "PingOne gateway service base URL",
                    "description": "PingOne gateway service base URL",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "ENVIRONMENT_ID",
                    "displayLabel": "Environment ID",
                    "description": "Environment ID",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "GATEWAY_ID",
                    "displayLabel": "Gateway ID",
                    "description": "Gateway ID",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "OAUTH_URL",
                    "displayLabel": "OAuth URL",
                    "description": "OAuth URL",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "CLIENT_ID",
                    "displayLabel": "Client ID",
                    "description": "Client ID",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "CLIENT_SECRET",
                    "displayLabel": "Client secret",
                    "description": "Client secret",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "LDAP_TYPE",
                    "displayLabel": "LDAP type",
                    "description": "LDAP type",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "BASE_DN",
                    "displayLabel": "Base DN",
                    "description": "Base DN",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "RDN_ATTRIBUTE",
                    "displayLabel": "Naming attribute for user DN",
                    "description": "Naming attribute for user DN",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "ATTRIBUTE_METADATA",
                    "displayLabel": "User-defined attribute metadata",
                    "description": "User-defined attribute metadata",
                    "required": false,
                    "sensitive": false
                }
            ],
            "primary": false
        }
    ],
    "attributeMetadata": {
        "capabilities": [
            {
                "type": "GET_CONNECTION_PROFILES",
                "maxResources": 1
            },
            {
                "type": "GET_USERS",
                "maxResources": 1
            },
            {
                "type": "GET_INFO",
                "maxResources": 1
            },
            {
                "type": "UPDATE_USERS",
                "maxResources": 1
            },
            {
                "type": "DELETE_USERS",
                "maxResources": 1
            },
            {
                "type": "CHECK_CONNECTION",
                "maxResources": 1
            },
            {
                "type": "GET_ATTRIBUTES",
                "maxResources": 1
            },
            {
                "type": "CREATE_USERS",
                "maxResources": 1
            }
        ],
        "userAttributes": {
            "st": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "st",
                "key": "st"
            },
            "telephoneNumber": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Telephone Number",
                "key": "telephoneNumber"
            },
            "c": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Country Abbreviation",
                "key": "c"
            },
            "mail": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Mail",
                "key": "mail"
            },
            "sAMAccountName": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": true,
                "creatable": true,
                "updateable": true,
                "displayName": "sAMAccountName",
                "key": "sAMAccountName"
            },
            "displayName": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Display Name",
                "key": "displayName"
            },
            "givenName": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Given Name",
                "key": "givenName"
            },
            "postalCode": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Postal Code",
                "key": "postalCode"
            },
            "mobile": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Mobile Number",
                "key": "mobile"
            },
            "active": {
                "type": "BOOLEAN",
                "attributeType": "BOOLEAN",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Active",
                "key": "active",
                "defaultValue": false
            },
            "cn": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "cn",
                "key": "cn"
            },
            "title": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Title",
                "key": "title"
            },
            "l": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "l",
                "key": "l"
            },
            "streetAddress": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Street Address",
                "key": "streetAddress"
            },
            "sn": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "sn",
                "key": "sn"
            }
        }
    },
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/envID/propagation/storeMetadata/LdapGateway"
        }
    }
}

Example Response

200 OK

{
    "information": {
        "imageUrl": "",
        "key": "LdapGateway",
        "version": "1.0",
        "displayName": "LDAP Gateway Connector",
        "identityProvider": false,
        "baseURLRequired": false,
        "connectionInformationRequired": false
    },
    "connectionProfiles": [
        {
            "connectionAttributes": [
                {
                    "key": "GATEWAY_BASE_URL",
                    "displayLabel": "PingOne gateway service base URL",
                    "description": "PingOne gateway service base URL",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "ENVIRONMENT_ID",
                    "displayLabel": "Environment ID",
                    "description": "Environment ID",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "GATEWAY_ID",
                    "displayLabel": "Gateway ID",
                    "description": "Gateway ID",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "OAUTH_URL",
                    "displayLabel": "OAuth URL",
                    "description": "OAuth URL",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "CLIENT_ID",
                    "displayLabel": "Client ID",
                    "description": "Client ID",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "CLIENT_SECRET",
                    "displayLabel": "Client secret",
                    "description": "Client secret",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "LDAP_TYPE",
                    "displayLabel": "LDAP type",
                    "description": "LDAP type",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "BASE_DN",
                    "displayLabel": "Base DN",
                    "description": "Base DN",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "RDN_ATTRIBUTE",
                    "displayLabel": "Naming attribute for user DN",
                    "description": "Naming attribute for user DN",
                    "required": true,
                    "sensitive": false
                },
                {
                    "key": "ATTRIBUTE_METADATA",
                    "displayLabel": "User-defined attribute metadata",
                    "description": "User-defined attribute metadata",
                    "required": false,
                    "sensitive": false
                }
            ],
            "primary": false
        }
    ],
    "attributeMetadata": {
        "capabilities": [
            {
                "type": "DELETE_USERS",
                "maxResources": 1
            },
            {
                "type": "CHECK_CONNECTION",
                "maxResources": 1
            },
            {
                "type": "CREATE_USERS",
                "maxResources": 1
            },
            {
                "type": "GET_CONNECTION_PROFILES",
                "maxResources": 1
            },
            {
                "type": "UPDATE_USERS",
                "maxResources": 1
            },
            {
                "type": "GET_USERS",
                "maxResources": 1
            },
            {
                "type": "GET_INFO",
                "maxResources": 1
            },
            {
                "type": "GET_ATTRIBUTES",
                "maxResources": 1
            }
        ],
        "userAttributes": {
            "st": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "st",
                "key": "st"
            },
            "preferredLanguage": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Preferred Language",
                "key": "preferredLanguage"
            },
            "telephoneNumber": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Telephone Number",
                "key": "telephoneNumber"
            },
            "mail": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Mail",
                "key": "mail"
            },
            "givenName": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Given Name",
                "key": "givenName"
            },
            "postalCode": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Postal Code",
                "key": "postalCode"
            },
            "mobile": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Mobile Phone",
                "key": "mobile"
            },
            "active": {
                "type": "BOOLEAN",
                "attributeType": "BOOLEAN",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Active",
                "key": "active",
                "defaultValue": false
            },
            "cn": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "cn",
                "key": "cn"
            },
            "title": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Title",
                "key": "title"
            },
            "l": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "l",
                "key": "l"
            },
            "uid": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": true,
                "creatable": true,
                "updateable": true,
                "displayName": "uid",
                "key": "uid"
            },
            "street": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "Street Address",
                "key": "street"
            },
            "sn": {
                "type": "STRING",
                "attributeType": "STRING",
                "distinguishingAttribute": false,
                "creatable": true,
                "updateable": true,
                "displayName": "sn",
                "key": "sn"
            }
        }
    },
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/envID/propagation/storeMetadata/LdapGateway"
        }
    }
}