PingOne Advanced Identity Cloud

Remote proxy advanced usage

In addition to basic remote proxy calls, you can manage external configurations directly through the REST API. The following examples show how to use REST access paths to query data through the proxy, and how to list, view, and delete remote proxy configurations.

REST access paths

For PingIDM systems, the configuration file is named external.idm-<receiving-tenant-name>.json. Over REST, the configuration is always addressed as external.idm/<receiving-tenant-name>. The _id returned by /openidm/config queries always uses the slash form.

Use the slash form for configuration REST requests and when you access REST configuration at runtime.

For example:

Request
curl \
--header "Authorization: Bearer <access-token>" \
--header "Accept-API-Version: resource=1.0" \
--request GET \
"https://<originating-tenant-env-fqdn>/openidm/external/idm/<receiving-tenant-name>/managed/realm-name_user?_queryFilter=true"
Response
{
  "result": [
    {
      "_id": "95b2b43c-621e-4bca-8a97-efc768f17751",
      "_rev": "00000000f20217df",
      "userName": "testUser",
      "accountStatus": "active",
      "givenName": "Test",
      "sn": "User",
      "mail": "testUser@test.com"
    }
  ],
  "resultCount": 1,
  "pagedResultsCookie": null,
  "totalPagedResultsPolicy": "NONE",
  "totalPagedResults": -1,
  "remainingPagedResults": -1
}

List all external configurations

Request
curl \
--header "Authorization: Bearer <access-token>" \
--header "Accept-API-Version: resource=1.0" \
--request GET \
'https://<originating-tenant-env-fqdn>/openidm/config?_queryFilter=_id+sw+"external.idm"'
Response
{
  "result": [
    {
      "_id": "external.idm/<receiving-tenant-name>",
      "pid": "external.idm.29cd...f4a",
      "factoryPid": "external.idm"
    }
  ]
}

Get a specific external configuration

Request
curl \
--header "Authorization: Bearer <access-token>" \
--header "Accept-API-Version: resource=1.0" \
--request GET \
"https://<originating-tenant-env-fqdn>/openidm/config/external.idm/<receiving-tenant-name>"

Delete an external configuration

Request
curl \
--header "Authorization: Bearer <access-token>" \
--header "Accept-API-Version: resource=1.0" \
--request DELETE \
"https://<originating-tenant-env-fqdn>/openidm/config/external.idm/<receiving-tenant-name>"