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-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 DB 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 SCIM specification. Specific attributes may 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 may 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 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 URL for accessing the HTTP Connection Handler object is:
/config/connection-handlers/http%20connection%20handler