PingDirectory

The Configuration API and the dsconfig tool relationship

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. 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-connection-handlers 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 database backend’s schema URN is urn:unboundid:schemas:configuration:2.0:backend:local-db. 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. Request specific attributes using the attributes query parameter, whose value must be a comma-delimited list of properties to be returned, such as attributes=baseDN,description. You can exclude attributes from responses by specifying the excludedAttributes parameter.

Configuration API operations supported in REST APIs
HTTP Method Description Related dsconfig Example

GET

Lists the properties of an object when used with a path representing an object, such as /config/global-configuration 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 properties of an object. A PUT operation is similar to a PATCH operation, except that the PATCH identifies the difference between an existing target object and a supplied source object. Only those properties 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 properties 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 for use 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. The following URL is for accessing the HTTP Connection Handler object.

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