---
title: Remote proxy advanced usage
description: Use the PingIDM REST access paths to query data and the REST API to list, view, and delete remote proxy configurations for external PingIDM systems
component: pingoneaic
page_id: pingoneaic:idm-objects:remote-proxy-advanced-usage
canonical_url: https://docs.pingidentity.com/pingoneaic/idm-objects/remote-proxy-advanced-usage.html
llms_txt: https://docs.pingidentity.com/pingoneaic/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Data Object Model", "Synchronization"]
section_ids:
  remote-proxy-rest-access-paths: REST access paths
  remote-proxy-list-configs: List all external configurations
  remote-proxy-get-config: Get a specific external configuration
  remote-proxy-delete-config: Delete an external configuration
---

# 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

```none
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

```json
{
  "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

```none
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

```json
{
  "result": [
    {
      "_id": "external.idm/<receiving-tenant-name>",
      "pid": "external.idm.29cd...f4a",
      "factoryPid": "external.idm"
    }
  ]
}
```

## Get a specific external configuration

Request

```none
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

```none
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>"
```
