{
    "openapi":"3.0",
    "info":{
        "description":"REST API for OAA Administration Tasks",
        "version":"2024.06.26",
        "title":"OAA Admin API",
        "contact":{
            "email":"ngssodev_us_grp@oracle.com"
        },
        "license":{
            "name":"Apache 2.0",
            "url":"http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "x-summary":"REST API for OAA Administration Tasks"
    },
    "tags":[
        {
            "name":"Agent",
            "description":"The operations from the Agent category."
        },
        {
            "name":"Configuration Properties",
            "description":"Configuration Properties Management API for OAA Service.",
            "externalDocs":{
                "description":"Find out more",
                "url":"http://oracle.com/oaa"
            }
        },
        {
            "name":"Group",
            "description":"The operations from the Group category."
        },
        {
            "name":"Policy",
            "description":"The operations from the Policy category."
        },
        {
            "name":"Policy Browser",
            "description":"The operations from the Policy Browser category."
        },
        {
            "name":"Policy Rule",
            "description":"The operations from the Policy Rule category."
        },
        {
            "name":"PolicyAggregation",
            "description":"The operations from the PolicyAggregation category."
        },
        {
            "name":"PolicyAssuranceLevel",
            "description":"The operations from the PolicyAssuranceLevel category."
        },
        {
            "name":"Snapshot",
            "description":"The operations from the Snapshot category."
        }
    ],
    "paths":{
        "/policy/config/property/v1":{
            "put":{
                "operationId":"setConfigProperties",
                "tags":[
                    "Configuration Properties"
                ],
                "summary":"Creates or updates configuration properties.",
                "description":"Creates or updates configuration properties and returns these properties.",
                "requestBody":{
                    "$ref":"#/components/requestBodies/ConfigPropertiesRequest"
                },
                "responses":{
                    "200":{
                        "description":"Success",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigPropertiesResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigPropertiesResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "406":{
                        "description":"Incorrect Data",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"policy-config-property-v1-put",
                "x-filename-id":"policy-config-property-v1-put"
            },
            "get":{
                "operationId":"getConfigProperties",
                "parameters":[
                    {
                        "name":"propertyName",
                        "description":"Property name to search. All properties that contain the input name are returned in the response.",
                        "in":"query",
                        "required":true,
                        "schema":{
                            "type":"string"
                        }
                    },
                    {
                        "name":"locale",
                        "description":"This optional parameter can be provided, if value of the property is desired in certain locale. If service implementation has value defined for that property in that locale then that value will be returned. If the locale is not provided or if locale specific value is not available for input property value, then property value in default locale (en_US) will be retuned.",
                        "in":"query",
                        "required":false,
                        "schema":{
                            "type":"string"
                        }
                    }
                ],
                "tags":[
                    "Configuration Properties"
                ],
                "summary":"Gets configuration properties.",
                "description":"Gets configuration properties whose name contains the input property name.\nIf there is no match, an empty property array will be returned.",
                "responses":{
                    "200":{
                        "description":"Success.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigPropertiesResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigPropertiesResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "406":{
                        "description":"Incorrect Data.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"policy-config-property-v1-get",
                "x-filename-id":"policy-config-property-v1-get"
            },
            "delete":{
                "operationId":"deleteConfigProperty",
                "parameters":[
                    {
                        "name":"propertyName",
                        "description":"Property name to delete. Property with name that is an exact match with the input will be deleted if possible.",
                        "in":"query",
                        "required":true,
                        "schema":{
                            "type":"string"
                        }
                    }
                ],
                "tags":[
                    "Configuration Properties"
                ],
                "summary":"Deletes configuration property.",
                "description":"Deletes the configuration property stored in the persistent store.",
                "responses":{
                    "200":{
                        "description":"Success. Whether the property to be deleted exists or not, a 200 response is returned. This API response contains empty array of properties.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "406":{
                        "description":"Incorrect Data",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ConfigAPIResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"policy-config-property-v1-delete",
                "x-filename-id":"policy-config-property-v1-delete"
            }
        },
        "/oaa-policy/agent/v1":{
            "post":{
                "tags":[
                    "Agent"
                ],
                "operationId":"createAgent",
                "summary":"Creates an agent",
                "requestBody":{
                    "$ref":"#/components/requestBodies/AgentRequest"
                },
                "responses":{
                    "201":{
                        "description":"Agent is created",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-agent-v1-post",
                "x-filename-id":"oaa-policy-agent-v1-post"
            },
            "get":{
                "parameters":[
                    {
                        "in":"query",
                        "name":"namefilter",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Returns the agent's name matching the namefilter."
                    },
                    {
                        "in":"query",
                        "name":"typefilter",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Returns the agent's type matching the typefilter."
                    }
                ],
                "tags":[
                    "Agent"
                ],
                "operationId":"getAllAgents",
                "summary":"Returns all agents",
                "responses":{
                    "200":{
                        "description":"Agents information",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllAgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllAgentResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllAgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllAgentResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-agent-v1-get",
                "x-filename-id":"oaa-policy-agent-v1-get"
            }
        },
        "/oaa-policy/aggregation/v1/":{
            "parameters":[
                {
                    "in":"query",
                    "name":"detailresponse",
                    "required":false,
                    "schema":{
                        "type":"boolean"
                    },
                    "description":"If the flag is true then all artifacts( agent, assurance level, policy, rule etc.) present for this request will be returned."
                }
            ],
            "post":{
                "tags":[
                    "PolicyAggregation"
                ],
                "operationId":"aggregate",
                "summary":"Creates a new agent and policy",
                "description":"Creates a new agent, assurance level, and policy with provided actions.",
                "requestBody":{
                    "$ref":"#/components/requestBodies/AggregationRequest"
                },
                "responses":{
                    "201":{
                        "description":"Agent along with all assurance level and policies are created.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AggregationResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AggregationResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AggregationResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AggregationResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-aggregation-v1--post",
                "x-filename-id":"oaa-policy-aggregation-v1-post"
            }
        },
        "/oaa-policy/agent/v1/{agentgid}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"agentgid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Identifier of the agent."
                }
            ],
            "put":{
                "tags":[
                    "Agent"
                ],
                "operationId":"updateAgent",
                "summary":"Updates an agent",
                "requestBody":{
                    "$ref":"#/components/requestBodies/AgentRequest"
                },
                "responses":{
                    "200":{
                        "description":"Update agent is successful",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-agent-v1-{agentgid}-put",
                "x-filename-id":"oaa-policy-agent-v1-agentgid-put"
            },
            "get":{
                "tags":[
                    "Agent"
                ],
                "operationId":"getAgent",
                "summary":"Gets an agent",
                "responses":{
                    "200":{
                        "description":"Agent information",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-agent-v1-{agentgid}-get",
                "x-filename-id":"oaa-policy-agent-v1-agentgid-get"
            },
            "delete":{
                "tags":[
                    "Agent"
                ],
                "operationId":"deleteAgent",
                "summary":"Deletes an agent",
                "responses":{
                    "200":{
                        "description":"Agent is deleted from the store.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AgentResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-agent-v1-{agentgid}-delete",
                "x-filename-id":"oaa-policy-agent-v1-agentgid-delete"
            }
        },
        "/oaa-policy/assuranceLevel/v1":{
            "post":{
                "tags":[
                    "PolicyAssuranceLevel"
                ],
                "operationId":"createAssuranceLevel",
                "summary":"Creates an Assurance Level",
                "requestBody":{
                    "$ref":"#/components/requestBodies/AssuranceLevel"
                },
                "responses":{
                    "201":{
                        "description":"AssuranceLevel is created.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-assuranceLevel-v1-post",
                "x-filename-id":"oaa-policy-assurancelevel-v1-post"
            },
            "get":{
                "tags":[
                    "PolicyAssuranceLevel"
                ],
                "parameters":[
                    {
                        "in":"query",
                        "name":"agentid",
                        "required":true,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Identifier of the agent."
                    }
                ],
                "operationId":"getAssuranceLevelsByAgentId",
                "summary":"Gets all Assurance Levels for the agent",
                "responses":{
                    "200":{
                        "description":"AssuranceLevels retrieved successfully.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-assuranceLevel-v1-get",
                "x-filename-id":"oaa-policy-assurancelevel-v1-get"
            }
        },
        "/oaa-policy/assuranceLevel/v1/{levelId}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"levelId",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Identifier of the assurance level."
                }
            ],
            "put":{
                "tags":[
                    "PolicyAssuranceLevel"
                ],
                "operationId":"updateAssuranceLevel",
                "summary":"Updates the Assurance Level",
                "requestBody":{
                    "$ref":"#/components/requestBodies/AssuranceLevel"
                },
                "responses":{
                    "200":{
                        "description":"Updates Assurance Level",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-assuranceLevel-v1-{levelId}-put",
                "x-filename-id":"oaa-policy-assurancelevel-v1-levelid-put"
            },
            "get":{
                "tags":[
                    "PolicyAssuranceLevel"
                ],
                "operationId":"getAssuranceLevel",
                "summary":"Gets the assurance level",
                "responses":{
                    "200":{
                        "description":"Assurance Level information retrieved",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-assuranceLevel-v1-{levelId}-get",
                "x-filename-id":"oaa-policy-assurancelevel-v1-levelid-get"
            },
            "delete":{
                "tags":[
                    "PolicyAssuranceLevel"
                ],
                "operationId":"deleteAssuranceLevel",
                "summary":"Deletes the assurance level",
                "responses":{
                    "200":{
                        "description":"Assurance Level is deleted",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-assuranceLevel-v1-{levelId}-delete",
                "x-filename-id":"oaa-policy-assurancelevel-v1-levelid-delete"
            }
        },
        "/oaa-policy/policy/v1":{
            "post":{
                "tags":[
                    "Policy"
                ],
                "operationId":"createPolicy",
                "summary":"Creates a policy",
                "description":"Policy definition API",
                "requestBody":{
                    "$ref":"#/components/requestBodies/PolicyRequest"
                },
                "responses":{
                    "201":{
                        "description":"Policy is created",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-post",
                "x-filename-id":"oaa-policy-policy-v1-post"
            },
            "get":{
                "tags":[
                    "Policy"
                ],
                "parameters":[
                    {
                        "in":"query",
                        "name":"levelId",
                        "required":true,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Identifier of the assurance level which controls the policies."
                    }
                ],
                "operationId":"getPolicyByAssuranceLevelId",
                "summary":"Gets all policies for the given assurance level",
                "responses":{
                    "200":{
                        "description":"Retrieves polices of a given assurance level.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllPolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllPolicyResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllPolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllPolicyResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-get",
                "x-filename-id":"oaa-policy-policy-v1-get"
            }
        },
        "/oaa-policy/policy/v1/expression":{
            "post":{
                "tags":[
                    "Policy"
                ],
                "operationId":"evaluatePolicyExpression",
                "summary":"Evaluates policy",
                "description":"Validate policy expression present in the request and return success if the expression can be evaluated true or false. If the expression cannot be evaluated due to syntax or compilation error, it will return error.",
                "requestBody":{
                    "$ref":"#/components/requestBodies/PolicyExpressionRequest"
                },
                "responses":{
                    "201":{
                        "description":"Policy expression validation response.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyExpressionResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyExpressionResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyExpressionResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyExpressionResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-expression-post",
                "x-filename-id":"oaa-policy-policy-v1-expression-post"
            }
        },
        "/oaa-policy/policy/v1/{policygid}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"policygid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Identifier of the policy."
                }
            ],
            "put":{
                "tags":[
                    "Policy"
                ],
                "operationId":"updatePolicy",
                "summary":"Updates the policy",
                "requestBody":{
                    "$ref":"#/components/requestBodies/PolicyRequest"
                },
                "responses":{
                    "201":{
                        "description":"Policy is updated",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-put",
                "x-filename-id":"oaa-policy-policy-v1-policygid-put"
            },
            "get":{
                "tags":[
                    "Policy"
                ],
                "operationId":"getPolicy",
                "summary":"Gets the policy",
                "responses":{
                    "201":{
                        "description":"Policy information",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-get",
                "x-filename-id":"oaa-policy-policy-v1-policygid-get"
            },
            "delete":{
                "tags":[
                    "Policy"
                ],
                "operationId":"deletePolicy",
                "summary":"Deletes the policy",
                "responses":{
                    "200":{
                        "description":"Policy is deleted",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-delete",
                "x-filename-id":"oaa-policy-policy-v1-policygid-delete"
            }
        },
        "/oaa-policy/policy/v1/{policygid}/rule":{
            "parameters":[
                {
                    "in":"path",
                    "name":"policygid",
                    "required":true,
                    "description":"Identifier of the policy",
                    "schema":{
                        "type":"string"
                    }
                }
            ],
            "post":{
                "tags":[
                    "Policy Rule"
                ],
                "operationId":"createRule",
                "summary":"Creates a rule under the policy",
                "requestBody":{
                    "$ref":"#/components/requestBodies/RuleRequest"
                },
                "responses":{
                    "201":{
                        "description":"Policy rule is created",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-rule-post",
                "x-filename-id":"oaa-policy-policy-v1-policygid-rule-post"
            },
            "get":{
                "tags":[
                    "Policy Rule"
                ],
                "operationId":"getAllRules",
                "summary":"Gets all rules in a policy",
                "responses":{
                    "201":{
                        "description":"Policy rule is created",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllRuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllRuleResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllRuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllRuleResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-rule-get",
                "x-filename-id":"oaa-policy-policy-v1-policygid-rule-get"
            }
        },
        "/oaa-policy/policy/v1/{policygid}/rule/{ruleid}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"policygid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Id of the policy"
                },
                {
                    "in":"path",
                    "name":"ruleid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Id of the rule"
                }
            ],
            "put":{
                "tags":[
                    "Policy Rule"
                ],
                "operationId":"updateRule",
                "summary":"Updates the rule in a policy",
                "requestBody":{
                    "$ref":"#/components/requestBodies/RuleRequest"
                },
                "responses":{
                    "200":{
                        "description":"Policy rule is updated.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-rule-{ruleid}-put",
                "x-filename-id":"oaa-policy-policy-v1-policygid-rule-ruleid-put"
            },
            "get":{
                "tags":[
                    "Policy Rule"
                ],
                "operationId":"getRule",
                "summary":"Gets the rule in the policy",
                "responses":{
                    "201":{
                        "description":"Policy rule information.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-rule-{ruleid}-get",
                "x-filename-id":"oaa-policy-policy-v1-policygid-rule-ruleid-get"
            },
            "delete":{
                "tags":[
                    "Policy Rule"
                ],
                "operationId":"deleteRule",
                "summary":"Deletes the rule from the policy.",
                "responses":{
                    "200":{
                        "description":"Policy rule is deleted.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/RuleResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-policy-v1-{policygid}-rule-{ruleid}-delete",
                "x-filename-id":"oaa-policy-policy-v1-policygid-rule-ruleid-delete"
            }
        },
        "/oaa-policy/group/v1":{
            "post":{
                "tags":[
                    "Group"
                ],
                "operationId":"createGroup",
                "summary":"Creates a group.",
                "description":"Group Definition API",
                "requestBody":{
                    "$ref":"#/components/requestBodies/GroupRequest"
                },
                "responses":{
                    "201":{
                        "description":"Group is created",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-group-v1-post",
                "x-filename-id":"oaa-policy-group-v1-post"
            },
            "get":{
                "parameters":[
                    {
                        "in":"query",
                        "name":"agentid",
                        "required":true,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Id of the agent."
                    },
                    {
                        "in":"query",
                        "name":"grouptype",
                        "required":false,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Comma separated group types that can be used to filter groups."
                    }
                ],
                "tags":[
                    "Group"
                ],
                "operationId":"getAllGroups",
                "summary":"Gets groups for the agent.",
                "description":"Retrieves all groups for an agent.",
                "responses":{
                    "201":{
                        "description":"All Group information",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllGroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllGroupResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllGroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllGroupResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-group-v1-get",
                "x-filename-id":"oaa-policy-group-v1-get"
            }
        },
        "/oaa-policy/group/v1/{groupid}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"groupid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Unique global identifier of the group"
                }
            ],
            "get":{
                "tags":[
                    "Group"
                ],
                "operationId":"getGroup",
                "summary":"Get the group by groupid",
                "description":"Gets group details.",
                "responses":{
                    "200":{
                        "description":"Group information",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-group-v1-{groupid}-get",
                "x-filename-id":"oaa-policy-group-v1-groupid-get"
            },
            "put":{
                "tags":[
                    "Group"
                ],
                "operationId":"updateGroup",
                "summary":"Updates the group",
                "description":"Updates Group API",
                "requestBody":{
                    "$ref":"#/components/requestBodies/UpdateGroupRequest"
                },
                "responses":{
                    "200":{
                        "description":"Group is updated",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-group-v1-{groupid}-put",
                "x-filename-id":"oaa-policy-group-v1-groupid-put"
            },
            "delete":{
                "tags":[
                    "Group"
                ],
                "operationId":"deleteGroup",
                "summary":"Deletes the group",
                "description":"Deletes Group API",
                "responses":{
                    "200":{
                        "description":"Group is deleted",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/GroupResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"oaa-policy-group-v1-{groupid}-delete",
                "x-filename-id":"oaa-policy-group-v1-groupid-delete"
            }
        },
        "/policy/risk/v1/policies/{policygid}":{
            "description":"APIs to update the policy attributes for the policies in Policy Browser. The GET API can be used to form the body for the update.",
            "parameters":[
                {
                    "in":"path",
                    "name":"policygid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Identifier of the policy."
                }
            ],
            "put":{
                "tags":[
                    "Policy Browser"
                ],
                "operationId":"updatePolicyForPolicyBrowser",
                "summary":"Updates the policy for Policy Browser",
                "description":"Policy Browser is intended for migration customers who wishes to see the old policies created in their system. If they wish to update any attributes of those policies this API can be used.",
                "requestBody":{
                    "$ref":"#/components/requestBodies/PolicyRequest"
                },
                "responses":{
                    "201":{
                        "description":"Policy is updated",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-policies-{policygid}-put",
                "x-filename-id":"policy-risk-v1-policies-policygid-put"
            },
            "get":{
                "tags":[
                    "Policy Browser"
                ],
                "operationId":"getPolicyForPolicyBrowser",
                "summary":"Gets the policy with trigger combinations",
                "description":"Policy Browser is intended for migration customers who wishes to see the old policies created in their system. This API can be used to form the trigger combination body if its required to update a trigger combination.",
                "parameters":[
                    {
                        "in":"path",
                        "name":"policygid",
                        "required":true,
                        "schema":{
                            "type":"string"
                        },
                        "description":"Identifier of the policy."
                    }
                ],
                "responses":{
                    "200":{
                        "description":"Policy information",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyDetailedResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyDetailedResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-policies-{policygid}-get",
                "x-filename-id":"policy-risk-v1-policies-policygid-get"
            }
        },
        "/policy/risk/v1/policies/{policygid}/trigger-combinations":{
            "parameters":[
                {
                    "in":"path",
                    "name":"policygid",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Identifier of the policy."
                }
            ],
            "put":{
                "tags":[
                    "Policy Browser"
                ],
                "operationId":"updateTriggerCombination",
                "summary":"Updates the trigger combination associated with a policy.",
                "description":"Policy Browser is intended for migration customers who wishes to see the old policies created in their system. This API can be used to update a trigger combination.",
                "requestBody":{
                    "$ref":"#/components/requestBodies/TriggerCombinationsObject"
                },
                "responses":{
                    "200":{
                        "description":"Policy is updated",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyDetailedResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/PolicyDetailedResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-policies-{policygid}-trigger-combinations-put",
                "x-filename-id":"policy-risk-v1-policies-policygid-trigger-combinations-put"
            }
        },
        "/policy/risk/v1/snapshots":{
            "description":"APIs to perform snaphot related operations.",
            "get":{
                "tags":[
                    "Snapshot"
                ],
                "operationId":"getAllSnapshots",
                "summary":"Gets all the snapshots available",
                "responses":{
                    "200":{
                        "description":"Snapshots information.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllSnapshotsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/AllSnapshotsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-snapshots-get",
                "x-filename-id":"policy-risk-v1-snapshots-get"
            },
            "post":{
                "tags":[
                    "Snapshot"
                ],
                "operationId":"generateSnapshotInDB",
                "summary":"Stores snapshot in DB.",
                "description":"Snapshot can be stored in DB by generating it directly in the system or by uploading it as a binary/zip file.",
                "requestBody":{
                    "content":{
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/SnapshotData"
                            }
                        },
                        "application/octet-stream":{
                            "schema":{
                                "format":"binary"
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"Snapshot information.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/SnapshotsResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/SnapshotsResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-snapshots-post",
                "x-filename-id":"policy-risk-v1-snapshots-post"
            }
        },
        "/policy/risk/v1/snapshots/{snapshotId}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"snapshotId",
                    "required":true,
                    "schema":{
                        "type":"string"
                    },
                    "description":"Identifier of the snapshot."
                }
            ],
            "get":{
                "tags":[
                    "Snapshot"
                ],
                "operationId":"getSnapshotZip",
                "summary":"Gets a snapshot zip file",
                "description":"The given snapshot id can be downloaded as a zip file. This zip can be utilized to replicate in a different machine by uploading the same there.",
                "responses":{
                    "200":{
                        "description":"Snapshot information.",
                        "content":{
                            "application/octet-stream":{
                                "schema":{
                                    "format":"zip"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-snapshots-{snapshotId}-get",
                "x-filename-id":"policy-risk-v1-snapshots-snapshotid-get"
            },
            "delete":{
                "tags":[
                    "Snapshot"
                ],
                "operationId":"deleteSnapshot",
                "summary":"Deletes a snapshot",
                "description":"The given snapshot id can be deleted.",
                "responses":{
                    "200":{
                        "description":"Snapshot delete.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "format":"object"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-snapshots-{snapshotId}-delete",
                "x-filename-id":"policy-risk-v1-snapshots-snapshotid-delete"
            },
            "post":{
                "tags":[
                    "Snapshot"
                ],
                "operationId":"applySnapshot",
                "summary":"Applies a snapshot",
                "description":"Snapshot that is available in the system can be applied using this API.",
                "responses":{
                    "200":{
                        "description":"Snapshot apply.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "format":"object"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"policy-risk-v1-snapshots-{snapshotId}-post",
                "x-filename-id":"policy-risk-v1-snapshots-snapshotid-post"
            }
        }
    },
    "components":{
        "schemas":{
            "ConfigAPIResponse":{
                "type":"object",
                "required":[
                    "responseCode",
                    "responseMessage"
                ],
                "properties":{
                    "responseCode":{
                        "type":"string"
                    },
                    "responseMessage":{
                        "type":"string"
                    }
                }
            },
            "NameValPair":{
                "type":"object",
                "description":"Name-value pair which can be used generically.",
                "required":[
                    "name",
                    "value"
                ],
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"Property name."
                    },
                    "value":{
                        "type":"string",
                        "description":"Property Value String."
                    }
                }
            },
            "NameValSource":{
                "type":"object",
                "description":"Name-value and source of the property.",
                "required":[
                    "name",
                    "value",
                    "source"
                ],
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"Property name."
                    },
                    "value":{
                        "type":"string",
                        "description":"Property value string."
                    },
                    "source":{
                        "type":"string",
                        "description":"Source where the property is loaded from. This can be file(product files of service implementation), environment(where service is running)  or database(persistent store used by the service)."
                    }
                }
            },
            "ConfigPropertiesRequest":{
                "description":"The object is used to create or update configuration properties.",
                "type":"array",
                "items":{
                    "$ref":"#/components/schemas/NameValPair"
                }
            },
            "ConfigPropertiesResponse":{
                "description":"Contains configuration properties returned from API.",
                "type":"array",
                "items":{
                    "$ref":"#/components/schemas/NameValSource"
                }
            },
            "Pagination2":{
                "description":"Object determines pagination of results.",
                "type":"object",
                "properties":{
                    "pageNum":{
                        "type":"number"
                    },
                    "pageSize":{
                        "type":"number"
                    },
                    "totalRecords":{
                        "type":"number"
                    }
                }
            },
            "AssuranceLevelsAPIResponse":{
                "type":"object",
                "description":"Response for the assurance level API.",
                "properties":{
                    "responseCode":{
                        "type":"string"
                    },
                    "responseMessage":{
                        "type":"string"
                    }
                }
            },
            "AssuranceLevelsResponse":{
                "type":"object",
                "description":"Contains a list of a user's assurance levels.",
                "properties":{
                    "assuranceLevels":{
                        "type":"array",
                        "description":"Array of assurance levels",
                        "items":{
                            "$ref":"#/components/schemas/AssuranceLevel"
                        }
                    },
                    "pageInfo":{
                        "$ref":"#/components/schemas/Pagination2"
                    },
                    "message":{
                        "$ref":"#/components/schemas/AssuranceLevelsAPIResponse"
                    }
                }
            },
            "AssuranceLevel":{
                "type":"object",
                "description":"Details for a single assurance level.",
                "required":[
                    "name",
                    "description",
                    "agentid"
                ],
                "properties":{
                    "id":{
                        "type":"string",
                        "description":"Assurance level identifier"
                    },
                    "name":{
                        "type":"string",
                        "description":"Name of the assurance level"
                    },
                    "description":{
                        "type":"string",
                        "description":"Description of the assurance level"
                    },
                    "agentid":{
                        "type":"string",
                        "description":"Agent identifier to which the assurance level belongs"
                    }
                }
            },
            "DateTime":{
                "type":"string",
                "format":"date-time",
                "description":"\"Date time string in the format rfc3339 sec 5.6.  https://tools.ietf.org/html/rfc3339#section-5.6\""
            },
            "Agent":{
                "type":"object",
                "description":"Details of the agent",
                "required":[
                    "agentName",
                    "clientType"
                ],
                "properties":{
                    "agentName":{
                        "type":"string",
                        "description":"Unique name of the agent"
                    },
                    "description":{
                        "type":"string",
                        "description":"Description of the agent"
                    },
                    "clientId":{
                        "type":"string",
                        "description":"Client id of the agent used to identify agents"
                    },
                    "clientSecret":{
                        "type":"string",
                        "description":"Client secret used for the authenticating client"
                    },
                    "clientType":{
                        "type":"string",
                        "description":"Client type. Possible value for this field is OAM, Radius or API."
                    },
                    "agentgid":{
                        "type":"string",
                        "description":"Unique identifier of the agent."
                    },
                    "privateKey":{
                        "type":"string",
                        "description":"String representation of the private key of the agent which can be used to encrypt/decrypt the request parameters."
                    },
                    "privateKeyPassword":{
                        "type":"string",
                        "description":"Base64 encoded password of the private key."
                    },
                    "privateKeyFile":{
                        "type":"string",
                        "description":"File name of the private key."
                    },
                    "createTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"Time when agent was created."
                    },
                    "updateTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"Time when agent was updated."
                    }
                }
            },
            "AgentResponse":{
                "type":"object",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "agentgid":{
                        "type":"string",
                        "description":"Global identifier of the agent which can be used in the subsequent request."
                    },
                    "agent":{
                        "description":"Original request object which was used for creating the agent",
                        "$ref":"#/components/schemas/Agent"
                    }
                }
            },
            "AllAgentResponse":{
                "type":"object",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "agents":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/Agent"
                        },
                        "description":"Information of all agents matching the filter."
                    }
                }
            },
            "Policy":{
                "type":"object",
                "required":[
                    "agentgid",
                    "assuranceLevelId",
                    "name",
                    "description",
                    "status"
                ],
                "description":"Policy object for creating, modifying and fetching policy.",
                "properties":{
                    "agentgid":{
                        "type":"string",
                        "description":"Identifier of the agent to which the policy belongs"
                    },
                    "assuranceLevelId":{
                        "type":"string",
                        "description":"Identifier of the assurance level which is associated with the policy"
                    },
                    "name":{
                        "type":"string",
                        "description":"Policy Name."
                    },
                    "description":{
                        "type":"string",
                        "description":"Policy description."
                    },
                    "status":{
                        "type":"string",
                        "description":"Status of the policy. It can be one of the following values. Active, Disabled or Deleted."
                    },
                    "scoringEngine":{
                        "type":"string",
                        "description":"Engine used for scoring the policy (Aggregated, Average, Maximum, Minimum, Weighted Average, Weighted Maximum, Weighted Minimum)"
                    },
                    "weight":{
                        "type":"integer",
                        "description":"Number between 0 to 100 to define the weight of the policy if there are multiple policies in the assurance level."
                    },
                    "policygid":{
                        "type":"string",
                        "description":"Identifier of the policy"
                    }
                }
            },
            "AllPolicyResponse":{
                "type":"object",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "assuranceLevelId":{
                        "type":"string",
                        "description":"Identifier of the assurance level for which the policies were requested."
                    },
                    "policies":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/Policy"
                        }
                    }
                }
            },
            "PolicyResponse":{
                "type":"object",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "policygid":{
                        "type":"string",
                        "description":"Identifier of the policy."
                    },
                    "policy":{
                        "$ref":"#/components/schemas/Policy"
                    }
                }
            },
            "PolicyDetailedResponse":{
                "type":"object",
                "description":"Policy Detail with Trigger Combinations for Policy Browser",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "policygid":{
                        "type":"string",
                        "description":"Identifier of the policy."
                    },
                    "policyname":{
                        "type":"string",
                        "description":"Name of the policy."
                    },
                    "policyDescription":{
                        "type":"string",
                        "description":"Description of the policy."
                    },
                    "policyStatus":{
                        "type":"string",
                        "description":"Status of the policy."
                    },
                    "checkpoint":{
                        "type":"string",
                        "description":"Checkpoint of the policy."
                    },
                    "scoringEngine":{
                        "type":"string",
                        "description":"Scoring Engine of the policy."
                    },
                    "weight":{
                        "type":"string",
                        "description":"Weight of the policy."
                    },
                    "rules":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/RuleObjectDetail"
                        }
                    },
                    "triggerCombinations":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/TriggerCombinationsObject"
                        }
                    }
                }
            },
            "RuleObjectDetail":{
                "type":"object",
                "description":"Rule detail for PolicyDetailedResponse for Policy Browser",
                "properties":{
                    "rulegid":{
                        "type":"string",
                        "description":"Unique identifier for Rule"
                    },
                    "ruleName":{
                        "type":"string",
                        "description":"Name of the Rule"
                    },
                    "score":{
                        "type":"integer",
                        "description":"Score returned by the rule"
                    },
                    "weight":{
                        "type":"integer",
                        "description":"Weight if the score if there are multiple rules in the context."
                    },
                    "actionGroup":{
                        "type":"string",
                        "description":"Action group name"
                    },
                    "alertGroup":{
                        "type":"string",
                        "description":"Alert group name"
                    },
                    "ruleStatus":{
                        "type":"string",
                        "description":"Status of the rule"
                    },
                    "ruleNotes":{
                        "type":"string",
                        "description":"Description of the rule"
                    }
                }
            },
            "TriggerCombinationsObject":{
                "type":"object",
                "description":"Trigger Combinations detail for PolicyDetailedResponse for Policy Browser",
                "properties":{
                    "description":{
                        "type":"string",
                        "description":"Description of trigger combination"
                    },
                    "score":{
                        "type":"integer",
                        "description":"Score of trigger combination"
                    },
                    "actionGroup":{
                        "type":"string",
                        "description":"Action group name"
                    },
                    "alertGroup":{
                        "type":"string",
                        "description":"Alert group id"
                    },
                    "triggerCombinations":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/RuleResult"
                        }
                    }
                }
            },
            "RuleResult":{
                "type":"object",
                "description":"Rule and Result for trigger combinations",
                "properties":{
                    "ruleName":{
                        "type":"string",
                        "description":"Name of the rule associated with trigger combination"
                    },
                    "ruleResult":{
                        "type":"string",
                        "description":"Result value of the rule associated with trigger combination"
                    }
                }
            },
            "RuleAction":{
                "type":"object",
                "description":"Action to be returned when the rule is evaluated true.",
                "properties":{
                    "action":{
                        "type":"string",
                        "description":"Action group name"
                    },
                    "alert":{
                        "type":"string",
                        "description":"Alert group name"
                    },
                    "score":{
                        "type":"integer",
                        "description":"Score returned by the rule"
                    },
                    "weight":{
                        "type":"integer",
                        "description":"Weight if the score if there are multiple rules in the context."
                    }
                }
            },
            "ConditionParameter":{
                "type":"object",
                "description":"Parameter of a condition that is required when the condition is evaluated.",
                "properties":{
                    "paramname":{
                        "type":"string",
                        "description":"Key to be used for the operation"
                    },
                    "operations":{
                        "type":"string",
                        "description":"Operation performed on the key. The operation may not be required"
                    },
                    "scope":{
                        "type":"string",
                        "description":"Filter condition. One of Value or Current. The scope is not required."
                    },
                    "value":{
                        "type":"string",
                        "description":"Value to be matched based on the scope."
                    }
                }
            },
            "Condition":{
                "type":"object",
                "description":"Conditions to be evaluated. If no parameter is provided then all the conditions will be evaluated with the default values.",
                "required":[
                    "conditionKey"
                ],
                "properties":{
                    "conditionKey":{
                        "type":"string",
                        "description":"Unique key of the condition. May be repeated for multiple conditions of same type."
                    },
                    "conditionId":{
                        "type":"string",
                        "description":"The global identifier of the condition which can be used to update the condition inside a rule."
                    },
                    "parameters":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/ConditionParameter"
                        },
                        "description":"List of all the overriding parameters."
                    },
                    "remove":{
                        "type":"boolean",
                        "description":"Remove the condition from the rule. It is optional."
                    }
                }
            },
            "ConditionMap":{
                "type":"object",
                "description":"Map of key-value pair which is used to reconstruct the rule or any additional parameters that are required by the rule can be passed in the map",
                "properties":{
                    "key":{
                        "type":"string"
                    },
                    "value":{
                        "type":"object",
                        "description":"The value can be a json object or a simple string."
                    }
                }
            },
            "Rule":{
                "type":"object",
                "description":"Defines policy rule in the system",
                "required":[
                    "name",
                    "policygid",
                    "results"
                ],
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"Name of the rule."
                    },
                    "rulegid":{
                        "type":"string",
                        "description":"Global unique identifier of the rule."
                    },
                    "policygid":{
                        "type":"string",
                        "description":"Global id of the policy. Policy id may not be required when rule definition is part of policy definition result"
                    },
                    "status":{
                        "type":"string",
                        "description":"Active or Disabled"
                    },
                    "note":{
                        "type":"string",
                        "description":"Note (if any)  for the rule"
                    },
                    "transactiongid":{
                        "type":"string",
                        "description":"Unique id of the transaction to be used for the rule evaluation which is then checked using filter conditions"
                    },
                    "conditions":{
                        "type":"array",
                        "description":"Array of conditions to be evaluated when the rule will be executed. All the condition must be true to return the action associated with the rule.",
                        "items":{
                            "$ref":"#/components/schemas/Condition"
                        }
                    },
                    "conditionMap":{
                        "type":"array",
                        "description":"Map of key value pair for reconstruction of UI rule. Required elements for the OAA rules are entityRefId, operation, values (Array of String), expression, mode, isgroup.",
                        "items":{
                            "$ref":"#/components/schemas/ConditionMap"
                        }
                    },
                    "results":{
                        "$ref":"#/components/schemas/RuleAction",
                        "description":"Rule result is returned when rule is evaluated true. Must be present while defining the rule."
                    }
                }
            },
            "AllRuleResponse":{
                "type":"object",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request."
                    },
                    "policygid":{
                        "type":"string",
                        "description":"Global id of policy for which the request is sent."
                    },
                    "rules":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/Rule"
                        },
                        "description":"All rules that belongs to the given policy."
                    }
                }
            },
            "RuleResponse":{
                "type":"object",
                "description":"It contains information about the requested operation related to the policy rule.",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request to indicate success or failure."
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request."
                    },
                    "rulegid":{
                        "type":"string",
                        "description":"Global identifier of the rule."
                    },
                    "rule":{
                        "$ref":"#/components/schemas/Rule"
                    }
                }
            },
            "Group":{
                "type":"object",
                "description":"Defines a new group structure",
                "required":[
                    "groupid",
                    "groupname",
                    "grouptype"
                ],
                "properties":{
                    "groupid":{
                        "type":"string",
                        "description":"Unique identifier of group."
                    },
                    "agentid":{
                        "type":"string",
                        "description":"Identifier of the agent which owns the group."
                    },
                    "grouptype":{
                        "type":"string",
                        "description":"Type of the group. Can be one of the User ID, Generic Strings, Actions, IP Ranges and IPs"
                    },
                    "groupname":{
                        "type":"string",
                        "description":"Unique name of the group in the system."
                    },
                    "description":{
                        "type":"string",
                        "description":"Description of the group."
                    },
                    "values":{
                        "type":"array",
                        "items":{
                            "type":"object"
                        },
                        "description":"Values of elements in the group. Values depend on type of group."
                    }
                }
            },
            "UpdateGroup":{
                "type":"object",
                "description":"Request object to update group structure",
                "properties":{
                    "groupname":{
                        "type":"string",
                        "description":"Unique name of the group in the system."
                    },
                    "description":{
                        "type":"string",
                        "description":"Description of the group to be updated."
                    },
                    "addvalues":{
                        "type":"array",
                        "items":{
                            "type":"object"
                        },
                        "description":"Values to be added to the group. It can be of type long, string, integer. For IP range it needs to be long."
                    },
                    "removevalues":{
                        "type":"array",
                        "items":{
                            "type":"object"
                        },
                        "description":"Values to be removed from the group. Values which are not present will be ignored."
                    }
                }
            },
            "AllGroupResponse":{
                "type":"object",
                "description":"All groups response object",
                "required":[
                    "key",
                    "name",
                    "agentgid"
                ],
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "groups":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/Group"
                        },
                        "description":"List of groups"
                    }
                }
            },
            "GroupResponse":{
                "type":"object",
                "description":"Group response object",
                "required":[
                    "key",
                    "name",
                    "agentgid"
                ],
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request"
                    },
                    "groupid":{
                        "type":"string",
                        "description":"Unique key of the group."
                    },
                    "group":{
                        "$ref":"#/components/schemas/Group"
                    }
                }
            },
            "PolicyExpressionRequest":{
                "type":"object",
                "description":"Policy expression object",
                "properties":{
                    "expression":{
                        "type":"string",
                        "description":"Expression to be validated by the default policy engine configured in policy deployment."
                    }
                }
            },
            "PolicyExpressionResponse":{
                "type":"object",
                "description":"Policy expression object",
                "properties":{
                    "expression":{
                        "type":"string",
                        "description":"Expression that was validated. Same as the request object expression."
                    },
                    "status":{
                        "type":"string",
                        "description":"Success or error based on the expression provided in the result."
                    },
                    "message":{
                        "type":"string",
                        "description":"In case of error, the message will point the error in the expression present in the request."
                    }
                }
            },
            "ScriptFile":{
                "type":"object",
                "description":"Single script file",
                "properties":{
                    "content":{
                        "type":"string",
                        "format":"base64",
                        "description":"Content of the script file. It will be null in case includecontent is set to false or null."
                    },
                    "name":{
                        "type":"string",
                        "description":"Name of the script file"
                    },
                    "order":{
                        "type":"integer",
                        "description":"Order number in which the script should be loaded."
                    }
                }
            },
            "PolicyScriptResponse":{
                "type":"object",
                "description":"Contains multiple scripts used for evaluating the expression",
                "properties":{
                    "scriptFile":{
                        "type":"array",
                        "description":"Array of script files present in the policy evaluation engine.",
                        "items":{
                            "$ref":"#/components/schemas/ScriptFile"
                        }
                    }
                }
            },
            "AggregationRequest":{
                "type":"object",
                "required":[
                    "agentid",
                    "agentName",
                    "actions"
                ],
                "description":"Request for creating all artifacts related to policy including agent, assurance level, policy and default rule.",
                "properties":{
                    "agentid":{
                        "type":"string",
                        "description":"Unique agent id of a pre existing agent."
                    },
                    "agentname":{
                        "type":"string",
                        "description":"Name of the agent if agentid is missing it will used to create new agent with this name."
                    },
                    "type":{
                        "type":"string",
                        "description":"Type of the client. it can be one of the values from api, oam or radius."
                    },
                    "assuranceLevelId":{
                        "type":"string",
                        "description":"Id of the assurance level. If not present then it will generated by the system."
                    },
                    "actions":{
                        "type":"array",
                        "description":"List of actions which can be returned when policy with assurance level is executed.",
                        "items":{
                            "type":"string"
                        }
                    }
                }
            },
            "AggregationResponse":{
                "type":"object",
                "description":"All created artifacts of the policy are present here including agent, assurance level, policy and default rule.",
                "properties":{
                    "agent":{
                        "$ref":"#/components/schemas/Agent",
                        "description":"Agent created for the request"
                    },
                    "assuranceLevel":{
                        "$ref":"#/components/schemas/AssuranceLevel",
                        "description":"Assurance Level created for the request"
                    },
                    "policy":{
                        "$ref":"#/components/schemas/Policy",
                        "description":"Policy created for the request. Only returned when detailresponse parameter is set to true."
                    },
                    "rule":{
                        "$ref":"#/components/schemas/Rule",
                        "description":"Rule created for the request. Only returned when detailresponse parameter is set to true."
                    },
                    "group":{
                        "$ref":"#/components/schemas/Group",
                        "description":"Action group created for the request. Only returned when detailresponse parameter is set to true."
                    }
                }
            },
            "AllSnapshotsResponse":{
                "type":"object",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status of the request"
                    },
                    "message":{
                        "type":"string",
                        "description":"Message related to the status of the request. sent."
                    },
                    "snapshots":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/SnapshotData"
                        },
                        "description":"All snapshots that are available."
                    }
                }
            },
            "SnapshotsResponse":{
                "type":"object",
                "description":"Snapshot response",
                "properties":{
                    "status":{
                        "type":"string",
                        "description":"Status"
                    },
                    "message":{
                        "type":"integer",
                        "description":"Message"
                    },
                    "snapshot":{
                        "type":"object",
                        "$ref":"#/components/schemas/SnapshotData",
                        "description":"All snapshots that are available."
                    }
                }
            },
            "SnapshotData":{
                "type":"object",
                "description":"Snapshot data",
                "properties":{
                    "name":{
                        "type":"string",
                        "description":"Name of the snapshot"
                    },
                    "description":{
                        "type":"integer",
                        "description":"Description of the snapshot"
                    },
                    "snapshotId":{
                        "type":"string",
                        "description":"Unique identifier of snapshot"
                    },
                    "createTime":{
                        "type":"string",
                        "description":"Create Time of snapshot"
                    }
                }
            }
        },
        "requestBodies":{
            "ConfigPropertiesRequest":{
                "description":"Input data for configuration property PUT API.",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/ConfigPropertiesRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/ConfigPropertiesRequest"
                        }
                    }
                }
            },
            "RuleRequest":{
                "description":"Rule object in request",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/Rule"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/Rule"
                        }
                    }
                }
            },
            "PolicyRequest":{
                "description":"Policy object in request",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/Policy"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/Policy"
                        }
                    }
                }
            },
            "AgentRequest":{
                "description":"Agent request",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/Agent"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/Agent"
                        }
                    }
                }
            },
            "GroupRequest":{
                "description":"Group Request",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/Group"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/Group"
                        }
                    }
                }
            },
            "UpdateGroupRequest":{
                "description":"Request to update the group information",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/UpdateGroup"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/UpdateGroup"
                        }
                    }
                }
            },
            "PolicyExpressionRequest":{
                "description":"Request for policy expression",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/PolicyExpressionRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/PolicyExpressionRequest"
                        }
                    }
                }
            },
            "AggregationRequest":{
                "description":"Request for policy aggregation",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/AggregationRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/AggregationRequest"
                        }
                    }
                }
            },
            "AssuranceLevel":{
                "description":"Assurance level contents",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/AssuranceLevel"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/AssuranceLevel"
                        }
                    }
                }
            },
            "TriggerCombinationsObject":{
                "description":"Trigger combinations of a policy",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/TriggerCombinationsObject"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/TriggerCombinationsObject"
                        }
                    }
                }
            },
            "SnapshotData":{
                "description":"Snapshot data",
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/SnapshotData"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/SnapshotData"
                        }
                    }
                }
            }
        }
    }
}