# Client configurations

Manage Client Configurations

## Retrieving clients

> Retrieves a list of clients for a specified tenant.

```json
{"openapi":"3.0.0","info":{"title":"Configuration Service","version":"0.0.1"},"tags":[{"name":"Client configurations","description":"Manage Client Configurations"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["configuration.configuration_view"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"configuration.configuration_view":"","configuration.configuration_manage":""},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"responses":{"400_client":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403_client":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"schemas":{"ErrorMessage":{"title":"error","description":"Schema for API-specific errors.","type":"object","properties":{"status":{"minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code.","type":"integer"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `validation_failure`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."},"details":{"description":"List of problems causing the error.","type":"array","items":{"type":"object","title":"errorDetail","description":"Specific error cause.","properties":{"field":{"description":"Element in request data which is causing the error, for example `category.name`.\nIf the violation was not field-specific, this field will be empty.","type":"string"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the specific error cause. This value should always be interpreted within the context of the general error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `missing_value`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."}}}}}}}},"paths":{"/configuration/{tenant}/clients":{"get":{"summary":"Retrieving clients","tags":["Client configurations"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"$ref":"#/components/responses/400_client"},"403":{"$ref":"#/components/responses/403_client"}},"operationId":"GET-configuration-list-clients","description":"Retrieves a list of clients for a specified tenant."}}}}
```

## Retrieving client configurations

> Retrieves a list of configurations for a specified client.

```json
{"openapi":"3.0.0","info":{"title":"Configuration Service","version":"0.0.1"},"tags":[{"name":"Client configurations","description":"Manage Client Configurations"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["configuration.configuration_view"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"configuration.configuration_view":"","configuration.configuration_manage":""},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"ClientConfiguration":{"allOf":[{"$ref":"#/components/schemas/BaseConfiguration"},{"type":"object","properties":{"_id":{"type":"string","description":"The client configuration unique identifier.","minLength":1},"client":{"type":"string","description":"The client to which the configuration applies.","minLength":1}}}]},"BaseConfiguration":{"title":"BaseConfiguration","type":"object","properties":{"key":{"type":"string","description":"Configuration key.","minLength":1},"value":{"description":"Configuration value. It can be any valid JSON object.","oneOf":[{"type":"object"},{"type":"string"},{"type":"array","items":{"type":"object"}},{"type":"boolean"}]},"version":{"type":"integer","description":"Configuration version."},"description":{"type":"string","description":"Describes purpose of the configuration."},"secured":{"type":"boolean","description":"Flag indicating whether the configuration should be encrypted. It works only if `value` field is of `string` type.","default":false},"restricted":{"type":"boolean","description":"Flag indicating whether the configuration should be restricted. When configuration is rectricted then it cannot be deleted. When this property is set to `true` then it cannot be unset.","default":false},"readOnly":{"type":"boolean","description":"Flag indicating whether the configuration should be readOnly. When configuration is readOnly then it cannot be updated.","default":false},"schemaUrl":{"type":"string","format":"uri","description":"URL of Json Schema for validation purpose. When configuration is created this value can be provided and then each update operation will be validated against this schema. This property cannot be updated so once set it cannot be unset. The Json Schema should contain one root property named `value` in order to work correctly. An example of a valid schema: `{ \"$schema\": \"http://json-schema.org/draft-07/schema#\", \"type\": \"object\", \"required\": [\"value\"], \"properties\": { \"value\": { \"type\": \"boolean\" } } }` "}},"required":["key","value"]}}},"paths":{"/configuration/{tenant}/clients/{client}/configurations":{"get":{"summary":"Retrieving client configurations","tags":["Client configurations"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientConfiguration"}}}}}},"operationId":"GET-configuration-list-client-config","parameters":[{"schema":{"type":"string"},"in":"query","name":"keys"}],"description":"Retrieves a list of configurations for a specified client."}}}}
```

## Creating client configurations

> Creates a new client configuration.

```json
{"openapi":"3.0.0","info":{"title":"Configuration Service","version":"0.0.1"},"tags":[{"name":"Client configurations","description":"Manage Client Configurations"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["configuration.configuration_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"configuration.configuration_view":"","configuration.configuration_manage":""},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"ClientConfiguration":{"allOf":[{"$ref":"#/components/schemas/BaseConfiguration"},{"type":"object","properties":{"_id":{"type":"string","description":"The client configuration unique identifier.","minLength":1},"client":{"type":"string","description":"The client to which the configuration applies.","minLength":1}}}]},"BaseConfiguration":{"title":"BaseConfiguration","type":"object","properties":{"key":{"type":"string","description":"Configuration key.","minLength":1},"value":{"description":"Configuration value. It can be any valid JSON object.","oneOf":[{"type":"object"},{"type":"string"},{"type":"array","items":{"type":"object"}},{"type":"boolean"}]},"version":{"type":"integer","description":"Configuration version."},"description":{"type":"string","description":"Describes purpose of the configuration."},"secured":{"type":"boolean","description":"Flag indicating whether the configuration should be encrypted. It works only if `value` field is of `string` type.","default":false},"restricted":{"type":"boolean","description":"Flag indicating whether the configuration should be restricted. When configuration is rectricted then it cannot be deleted. When this property is set to `true` then it cannot be unset.","default":false},"readOnly":{"type":"boolean","description":"Flag indicating whether the configuration should be readOnly. When configuration is readOnly then it cannot be updated.","default":false},"schemaUrl":{"type":"string","format":"uri","description":"URL of Json Schema for validation purpose. When configuration is created this value can be provided and then each update operation will be validated against this schema. This property cannot be updated so once set it cannot be unset. The Json Schema should contain one root property named `value` in order to work correctly. An example of a valid schema: `{ \"$schema\": \"http://json-schema.org/draft-07/schema#\", \"type\": \"object\", \"required\": [\"value\"], \"properties\": { \"value\": { \"type\": \"boolean\" } } }` "}},"required":["key","value"]},"ErrorMessage":{"title":"error","description":"Schema for API-specific errors.","type":"object","properties":{"status":{"minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code.","type":"integer"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `validation_failure`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."},"details":{"description":"List of problems causing the error.","type":"array","items":{"type":"object","title":"errorDetail","description":"Specific error cause.","properties":{"field":{"description":"Element in request data which is causing the error, for example `category.name`.\nIf the violation was not field-specific, this field will be empty.","type":"string"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the specific error cause. This value should always be interpreted within the context of the general error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `missing_value`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."}}}}}}}},"paths":{"/configuration/{tenant}/clients/{client}/configurations":{"post":{"summary":"Creating client configurations","operationId":"POST-configuration-create-client-config","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientConfiguration"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientConfiguration"}}}},"description":""},"description":"Creates a new client configuration.","tags":["Client configurations"]}}}}
```

## Retrieving a client configuration

> Retrieves a specified client configuration.

```json
{"openapi":"3.0.0","info":{"title":"Configuration Service","version":"0.0.1"},"tags":[{"name":"Client configurations","description":"Manage Client Configurations"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["configuration.configuration_view"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"configuration.configuration_view":"","configuration.configuration_manage":""},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"ClientConfiguration":{"allOf":[{"$ref":"#/components/schemas/BaseConfiguration"},{"type":"object","properties":{"_id":{"type":"string","description":"The client configuration unique identifier.","minLength":1},"client":{"type":"string","description":"The client to which the configuration applies.","minLength":1}}}]},"BaseConfiguration":{"title":"BaseConfiguration","type":"object","properties":{"key":{"type":"string","description":"Configuration key.","minLength":1},"value":{"description":"Configuration value. It can be any valid JSON object.","oneOf":[{"type":"object"},{"type":"string"},{"type":"array","items":{"type":"object"}},{"type":"boolean"}]},"version":{"type":"integer","description":"Configuration version."},"description":{"type":"string","description":"Describes purpose of the configuration."},"secured":{"type":"boolean","description":"Flag indicating whether the configuration should be encrypted. It works only if `value` field is of `string` type.","default":false},"restricted":{"type":"boolean","description":"Flag indicating whether the configuration should be restricted. When configuration is rectricted then it cannot be deleted. When this property is set to `true` then it cannot be unset.","default":false},"readOnly":{"type":"boolean","description":"Flag indicating whether the configuration should be readOnly. When configuration is readOnly then it cannot be updated.","default":false},"schemaUrl":{"type":"string","format":"uri","description":"URL of Json Schema for validation purpose. When configuration is created this value can be provided and then each update operation will be validated against this schema. This property cannot be updated so once set it cannot be unset. The Json Schema should contain one root property named `value` in order to work correctly. An example of a valid schema: `{ \"$schema\": \"http://json-schema.org/draft-07/schema#\", \"type\": \"object\", \"required\": [\"value\"], \"properties\": { \"value\": { \"type\": \"boolean\" } } }` "}},"required":["key","value"]},"ErrorMessage":{"title":"error","description":"Schema for API-specific errors.","type":"object","properties":{"status":{"minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code.","type":"integer"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `validation_failure`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."},"details":{"description":"List of problems causing the error.","type":"array","items":{"type":"object","title":"errorDetail","description":"Specific error cause.","properties":{"field":{"description":"Element in request data which is causing the error, for example `category.name`.\nIf the violation was not field-specific, this field will be empty.","type":"string"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the specific error cause. This value should always be interpreted within the context of the general error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `missing_value`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."}}}}}}},"responses":{"404_client":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"paths":{"/configuration/{tenant}/clients/{client}/configurations/{propertyKey}":{"get":{"summary":"Retrieving a client configuration","tags":["Client configurations"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientConfiguration"}}}},"404":{"$ref":"#/components/responses/404_client"}},"operationId":"GET-configuration-retrieve-client-config","description":"Retrieves a specified client configuration."}}}}
```

## Updating a client configuration

> Updates a specified client configuration.

```json
{"openapi":"3.0.0","info":{"title":"Configuration Service","version":"0.0.1"},"tags":[{"name":"Client configurations","description":"Manage Client Configurations"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["configuration.configuration_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"configuration.configuration_view":"","configuration.configuration_manage":""},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"Configuration":{"allOf":[{"$ref":"#/components/schemas/BaseConfiguration"},{"type":"object"}]},"BaseConfiguration":{"title":"BaseConfiguration","type":"object","properties":{"key":{"type":"string","description":"Configuration key.","minLength":1},"value":{"description":"Configuration value. It can be any valid JSON object.","oneOf":[{"type":"object"},{"type":"string"},{"type":"array","items":{"type":"object"}},{"type":"boolean"}]},"version":{"type":"integer","description":"Configuration version."},"description":{"type":"string","description":"Describes purpose of the configuration."},"secured":{"type":"boolean","description":"Flag indicating whether the configuration should be encrypted. It works only if `value` field is of `string` type.","default":false},"restricted":{"type":"boolean","description":"Flag indicating whether the configuration should be restricted. When configuration is rectricted then it cannot be deleted. When this property is set to `true` then it cannot be unset.","default":false},"readOnly":{"type":"boolean","description":"Flag indicating whether the configuration should be readOnly. When configuration is readOnly then it cannot be updated.","default":false},"schemaUrl":{"type":"string","format":"uri","description":"URL of Json Schema for validation purpose. When configuration is created this value can be provided and then each update operation will be validated against this schema. This property cannot be updated so once set it cannot be unset. The Json Schema should contain one root property named `value` in order to work correctly. An example of a valid schema: `{ \"$schema\": \"http://json-schema.org/draft-07/schema#\", \"type\": \"object\", \"required\": [\"value\"], \"properties\": { \"value\": { \"type\": \"boolean\" } } }` "}},"required":["key","value"]},"ErrorMessage":{"title":"error","description":"Schema for API-specific errors.","type":"object","properties":{"status":{"minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code.","type":"integer"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `validation_failure`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."},"details":{"description":"List of problems causing the error.","type":"array","items":{"type":"object","title":"errorDetail","description":"Specific error cause.","properties":{"field":{"description":"Element in request data which is causing the error, for example `category.name`.\nIf the violation was not field-specific, this field will be empty.","type":"string"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the specific error cause. This value should always be interpreted within the context of the general error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `missing_value`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."}}}}}},"ClientConfiguration":{"allOf":[{"$ref":"#/components/schemas/BaseConfiguration"},{"type":"object","properties":{"_id":{"type":"string","description":"The client configuration unique identifier.","minLength":1},"client":{"type":"string","description":"The client to which the configuration applies.","minLength":1}}}]}}},"paths":{"/configuration/{tenant}/clients/{client}/configurations/{propertyKey}":{"put":{"summary":"Updating a client configuration","operationId":"PUT-configuration-update-client-config","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientConfiguration"}}}},"tags":["Client configurations"],"description":"Updates a specified client configuration."}}}}
```

## Deleting a client configuration

> Deletes a specified client configuration.

```json
{"openapi":"3.0.0","info":{"title":"Configuration Service","version":"0.0.1"},"tags":[{"name":"Client configurations","description":"Manage Client Configurations"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["configuration.configuration_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"configuration.configuration_view":"","configuration.configuration_manage":""},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"ErrorMessage":{"title":"error","description":"Schema for API-specific errors.","type":"object","properties":{"status":{"minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code.","type":"integer"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `validation_failure`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."},"details":{"description":"List of problems causing the error.","type":"array","items":{"type":"object","title":"errorDetail","description":"Specific error cause.","properties":{"field":{"description":"Element in request data which is causing the error, for example `category.name`.\nIf the violation was not field-specific, this field will be empty.","type":"string"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the specific error cause. This value should always be interpreted within the context of the general error type.\n**Note:** The error type should be written in lowercase and include underscores, for example `missing_value`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."}}}}}}}},"paths":{"/configuration/{tenant}/clients/{client}/configurations/{propertyKey}":{"delete":{"summary":"Deleting a client configuration","operationId":"DELETE-configuration-remove-client-config","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"tags":["Client configurations"],"description":"Deletes a specified client configuration."}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.emporix.io/api-references-1/readme/api-reference-8/client-configurations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
