---
title: Relationship between the Configuration API and the dsconfig tool
description: The Configuration API is designed to mirror the dsconfig tool, using the same names for properties and object types.
component: pingdirectory
version: 9.3
page_id: pingdirectory:pingdatametrics_server_administration_guide:pd_met_rel_config_api_dsconfig
canonical_url: https://docs.pingidentity.com/pingdirectory/9.3/pingdatametrics_server_administration_guide/pd_met_rel_config_api_dsconfig.html
revdate: September 13, 2023
---

# Relationship between the Configuration API and the dsconfig tool

The Configuration API is designed to mirror the dsconfig tool, using the same names for properties and object types.

Property names are presented as hyphen case in `dsconfig` and as camel-case attributes in the API. In API requests that specify property names, case is not important. Therefore, `baseDN` is the same as `baseDn`. Object types are represented in hyphen case. API paths mirror what is in `dsconfig`. For example, the `dsconfig list-connectionhandlers` command is analogous to the API's `/config/connection-handlers` path. Object types that appear in the schema URNs adhere to a `type:subtype` syntax. For example, a Local DB Backend's schema URN is` urn:unboundid:schemas:configuration:2.0:backend:localdb`. Like the `dsconfig` tool, all configuration updates made through the API are recorded in `logs/config-audit.log`.

The API includes the filter, sort, and pagination query parameters described by the System for Cross-domain Identity Management (SCIM) specification. Specific attributes can be requested using the attributes query parameter, whose value must be a comma-delimited list of properties to be returned, for example `attributes=baseDN,description`. Likewise, attributes can be excluded from responses by specifying the `excludedAttributes` parameter.

Operations supported by the API are those typically found in REST APIs:

| HTTP Method | Description                                                                                                                                                                                                                                                                                                                                                                                       | Related dsconfig Example                                         |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| `GET`       | Lists the attributes of an object when used with a path representing an object, such as `/config/globalconfiguration`or `/config/backends/userRoot`. Can also list objects when used with a path representing a parent relation, such as `/config/backends`.                                                                                                                                      | `get-backend-prop``list-backends``get-global-configuration-prop` |
| `POST`      | Creates a new instance of an object when used with a relation parent path, such as `config/backends`.                                                                                                                                                                                                                                                                                             | `create-backend`                                                 |
| `PUT`       | Replaces the existing attributes of an object. A PUT operation is similar to a PATCH operation, except that the PATCH is determined by determining the difference between an existing target object and a supplied source object. Only those attributes in the source object are modified in the target object. The target object is specified using a path, such as `/config/backends/userRoot`. | `set-backend-prop``set-global-configuration-prop`                |
| `PATCH`     | Updates the attributes of an existing object when used with a path representing an object, such as `/config/backends/userRoot`.                                                                                                                                                                                                                                                                   | `set-backend-prop``set-global-configuration-prop`                |
| `DELETE`    | Deletes an existing object when used with a path representing an object, such as `/config/backends/userRoot`.                                                                                                                                                                                                                                                                                     | `delete-backend`                                                 |

|   |                                                                                                  |
| - | ------------------------------------------------------------------------------------------------ |
|   | The OPTIONS method can also be used to determine the operations permitted for a particular path. |

Object names, such as `userRoot` in the Description column, must be URL-encoded in the `path` segment of a URL. For example, `%20` must be used in place of spaces, and `%25` is used in place of the percent (%) character. So the URL for accessing the HTTP Connection Handler object is:

```
/config/connection-handlers/http%20connection%20handler
```
