{
  "openapi": "3.0.1",
  "info": {
    "title": "Configurations",
    "description": "Provide access to configurations.",
    "version": "9.1.20.0",
    "x-introduced": "9.1.0.0"
  },
  "servers": [
    {
      "url": "https://{hostname}:{port}/rest/admin/v2",
      "variables": {
        "port": {
          "default": "443",
          "enum": [
            "443",
            "8000"
          ]
        },
        "hostname": {
          "default": "localhost",
          "enum": [
            "localhost",
            "test.hcl.com"
          ]
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Configurations",
      "description": "Provide RESTful services to manage configurations."
    }
  ],
  "paths": {
    "/configurations": {
      "get": {
        "operationId": "getConfigurations",
        "tags": [
          "Configurations"
        ],
        "summary": "Get all configurations.",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationCollection"
                }
              }
            },
            "x-entity-path": "dataArea/configuration"
          }
        },
        "x-expression-template": "/Configuration",
        "x-facade-client-class": "com.ibm.commerce.infrastructure.facade.client.InfrastructureFacadeClient",
        "x-facade-client-method": "getConfiguration",
        "x-request-bod-class": "com.ibm.commerce.infrastructure.facade.datatypes.GetConfigurationType"
      }
    },
    "/configurations/{id}": {
      "get": {
        "operationId": "getConfigurationsById",
        "tags": [
          "Configurations"
        ],
        "summary": "Get a configuration by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The identifier or name for identifying the attribute.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Configuration"
                }
              }
            },
            "x-entity-path": "dataArea/configuration[1]"
          }
        },
        "x-expression-template": "/Configuration[ConfigurationIdentifier[(UniqueID='{id}')]]",
        "x-facade-client-class": "com.ibm.commerce.infrastructure.facade.client.InfrastructureFacadeClient",
        "x-facade-client-method": "getConfiguration",
        "x-request-bod-class": "com.ibm.commerce.infrastructure.facade.datatypes.GetConfigurationType"
      }
    }
  },
  "components": {
    "schemas": {
      "Configuration": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "description": "A collection of configuration attributes.",
            "items": {
              "$ref": "#/components/schemas/ConfigurationAttribute"
            },
            "x-entity-path": "configurationAttribute"
          },
          "description": {
            "type": "string",
            "x-entity-path": "description/value"
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for this configuration.",
            "x-entity-path": "configurationIdentifier/uniqueID"
          },
          "languageId": {
            "type": "integer",
            "format": "int32",
            "x-entity-path": "description/language"
          }
        },
        "description": "A configuration.",
        "x-entity-class": "com.ibm.commerce.infrastructure.facade.datatypes.ConfigurationType"
      },
      "ConfigurationAttribute": {
        "type": "object",
        "properties": {
          "additionalValues": {
            "type": "array",
            "description": "A collection of configuration values.",
            "items": {
              "$ref": "#/components/schemas/ConfigurationValue"
            },
            "x-entity-path": "additionalValue"
          },
          "primaryValue": {
            "$ref": "#/components/schemas/ConfigurationValue"
          }
        },
        "description": "A configuration attribute. Can be a primary value or an additional value.",
        "x-entity-class": "com.ibm.commerce.infrastructure.facade.datatypes.ConfigurationAttributeType"
      },
      "ConfigurationCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "string"
          },
          "items": {
            "$ref": "#/components/schemas/Configuration"
          }
        },
        "description": "A collection of configurations."
      },
      "ConfigurationValue": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "description": "A configuration name-value pair.",
        "x-entity-class": "com.ibm.commerce.infrastructure.facade.datatypes.ConfigurationValueType"
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-components": {}
}
