---
title: Server configuration
description: IDM stores configuration objects in the repository, and exposes them under the context path /openidm/config. Single instance configuration objects are exposed under /openidm/config/object-name.
component: pingidm
version: 8.1
page_id: pingidm:rest-api-reference:endpoints/rest-server-config
canonical_url: https://docs.pingidentity.com/pingidm/8.1/rest-api-reference/endpoints/rest-server-config.html
keywords: ["REST API", "Setup &amp; Configuration"]
---

# Server configuration

IDM stores configuration objects in the repository, and exposes them under the context path `/openidm/config`. Single instance configuration objects are exposed under `/openidm/config/object-name`.

Multiple instance configuration objects are exposed under `/openidm/config/object-name/instance-name`. The following table outlines these configuration objects and how they can be accessed through the REST interface.

| URI                                                  | HTTP Operation | Description                                                                                                                       |
| ---------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| /openidm/config                                      | GET            | Returns a list of configuration objects.                                                                                          |
| /openidm/config/access                               | GET            | Returns the current access configuration.                                                                                         |
| /openidm/config/audit                                | GET            | Returns the current audit configuration.                                                                                          |
| /openidm/config/provisioner.openicf/provisioner-name | GET            | Returns the configuration of the specified connector.                                                                             |
| /openidm/config/router                               | PUT            | Changes the router configuration. Modifications are provided with the `--data` option, in JSON format.                            |
| /openidm/config/object                               | PATCH          | Changes one or more fields of the specified configuration object. Modifications are provided as a JSON array of patch operations. |
| /openidm/config/object                               | DELETE         | Deletes the specified configuration object.                                                                                       |
| /openidm/config/object?\_queryFilter=query           | GET            | Queries the specified configuration object. You cannot create custom predefined queries to query the configuration.               |

IDM supports REST operations to create, read, update, query, and delete configuration objects.

For command-line examples of managing the configuration over REST, refer to [Configure the server over REST](../../setup-guide/configuring-over-rest.html).

One entry is returned for each configuration object. To obtain additional information on the configuration object, include its `pid` or `_id` in the URL. The following example displays configuration information on the `sync` object, based on a deployment using the `sync-with-csv` sample:

```
curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--header "Accept-API-Version: resource=1.0" \
--request GET \
"http://localhost:8080/openidm/config/sync"
{
  "_id": "sync",
  "mappings": [
    {
      "name": "systemCsvfileAccounts_managedUser",
      "source": "system/csvfile/account",
      "target": "managed/user",
      "correlationQuery": {
        "type": "text/javascript",
        "source": "var query = {'_queryId' : 'for-userName', 'uid' : source.name};query;"
      },
      "properties": [
        {
          "source": "email",
          "target": "mail"
        },
        {
          "source": "firstname",
          "target": "givenName"
        },
        {
          "source": "lastname",
          "target": "sn"
        },
        {
          "source": "description",
          "target": "description"
        },
        {
          "source": "_id",
          "target": "_id"
        },
        {
          "source": "name",
          "target": "userName"
        },
        {
          "default": "Passw0rd",
          "target": "password"
        },
        {
          "source": "mobileTelephoneNumber",
          "target": "telephoneNumber"
        },
        {
          "source": "roles",
          "transform": {
            "type": "text/javascript",
            "source": "var _ = require('lib/lodash'); _.map(source.split(','), function(role)
            { return {'_ref': 'internal/role/' + role} });"
          },
          "target": "authzRoles"
        }
      ],
...
```
