{
  "swagger" : "2.0",
  "info" : {
    "description" : "Policy Xacml PDP Service",
    "version" : "Swagger Server",
    "title" : "",
    "x-component" : "Policy Framework",
    "x-planned-retirement-date" : "tbd"
  },
  "host" : "policy-xacml-pdp:6969",
  "basePath" : "/",
  "tags" : [ {
    "name" : "HealthCheck"
  }, {
    "name" : "Decision"
  }, {
    "name" : "Statistics"
  } ],
  "schemes" : [ "http", "https" ],
  "paths" : {
    "/policy/pdpx/v1/healthcheck" : {
      "get" : {
        "tags" : [ "HealthCheck" ],
        "summary" : "Perform a system healthcheck",
        "description" : "Provides healthy status of the Policy Xacml PDP component",
        "operationId" : "healthcheck",
        "consumes" : [ "application/json", "application/yaml" ],
        "produces" : [ "application/json", "application/yaml" ],
        "parameters" : [ {
          "name" : "X-ONAP-RequestID",
          "in" : "header",
          "description" : "RequestID for http transaction",
          "required" : false,
          "type" : "string",
          "format" : "uuid"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "headers" : {
              "X-MinorVersion" : {
                "type" : "string",
                "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
              },
              "X-PatchVersion" : {
                "type" : "string",
                "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
              },
              "X-LatestVersion" : {
                "type" : "string",
                "description" : "Used only to communicate an API's latest version"
              },
              "X-ONAP-RequestID" : {
                "type" : "string",
                "format" : "uuid",
                "description" : "Used to track REST transactions for logging purpose"
              }
            },
            "schema" : {
              "$ref" : "#/definitions/HealthCheckReport"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "last-mod-release" : "Dublin",
          "pdpx-version" : "1.0.0"
        }
      }
    },
    "/policy/pdpx/v1/xacml" : {
      "post" : {
        "tags" : [ "Decision" ],
        "summary" : "Fetch the decision using specified decision parameters",
        "description" : "Returns the policy decision from Policy Xacml PDP",
        "operationId" : "xacml",
        "consumes" : [ "application/xacml+json", "application/xacml+xml" ],
        "produces" : [ "application/xacml+json", "application/xacml+xml" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/Request"
          }
        }, {
          "name" : "X-ONAP-RequestID",
          "in" : "header",
          "description" : "RequestID for http transaction",
          "required" : false,
          "type" : "string",
          "format" : "uuid"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "headers" : {
              "X-MinorVersion" : {
                "type" : "string",
                "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
              },
              "X-PatchVersion" : {
                "type" : "string",
                "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
              },
              "X-LatestVersion" : {
                "type" : "string",
                "description" : "Used only to communicate an API's latest version"
              },
              "X-ONAP-RequestID" : {
                "type" : "string",
                "format" : "uuid",
                "description" : "Used to track REST transactions for logging purpose"
              }
            },
            "schema" : {
              "$ref" : "#/definitions/Response"
            }
          },
          "400" : {
            "description" : "Bad Request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "last-mod-release" : "Frankfurt",
          "pdpx-version" : "1.0.0"
        }
      }
    },
    "/policy/pdpx/v1/statistics" : {
      "get" : {
        "tags" : [ "Statistics" ],
        "summary" : "Fetch current statistics",
        "description" : "Provides current statistics of the Policy Xacml PDP component",
        "operationId" : "statistics",
        "consumes" : [ "application/json", "application/yaml" ],
        "produces" : [ "application/json", "application/yaml" ],
        "parameters" : [ {
          "name" : "X-ONAP-RequestID",
          "in" : "header",
          "description" : "RequestID for http transaction",
          "required" : false,
          "type" : "string",
          "format" : "uuid"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "headers" : {
              "X-MinorVersion" : {
                "type" : "string",
                "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
              },
              "X-PatchVersion" : {
                "type" : "string",
                "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
              },
              "X-LatestVersion" : {
                "type" : "string",
                "description" : "Used only to communicate an API's latest version"
              },
              "X-ONAP-RequestID" : {
                "type" : "string",
                "format" : "uuid",
                "description" : "Used to track REST transactions for logging purpose"
              }
            },
            "schema" : {
              "$ref" : "#/definitions/StatisticsReport"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "last-mod-release" : "Dublin",
          "pdpx-version" : "1.0.0"
        }
      }
    },
    "/policy/pdpx/v1/decision" : {
      "post" : {
        "tags" : [ "Decision" ],
        "summary" : "Fetch the decision using specified decision parameters",
        "description" : "Returns the policy decision from Policy Xacml PDP",
        "operationId" : "decision",
        "consumes" : [ "application/json", "application/yaml" ],
        "produces" : [ "application/json", "application/yaml" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DecisionRequest"
          }
        }, {
          "name" : "X-ONAP-RequestID",
          "in" : "header",
          "description" : "RequestID for http transaction",
          "required" : false,
          "type" : "string",
          "format" : "uuid"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "headers" : {
              "X-MinorVersion" : {
                "type" : "string",
                "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
              },
              "X-PatchVersion" : {
                "type" : "string",
                "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
              },
              "X-LatestVersion" : {
                "type" : "string",
                "description" : "Used only to communicate an API's latest version"
              },
              "X-ONAP-RequestID" : {
                "type" : "string",
                "format" : "uuid",
                "description" : "Used to track REST transactions for logging purpose"
              }
            },
            "schema" : {
              "$ref" : "#/definitions/DecisionResponse"
            }
          },
          "400" : {
            "description" : "Bad Request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "last-mod-release" : "Dublin",
          "pdpx-version" : "1.0.0"
        }
      }
    }
  },
  "securityDefinitions" : {
    "basicAuth" : {
      "description" : "",
      "type" : "basic"
    }
  },
  "definitions" : {
    "HealthCheckReport" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "url" : {
          "type" : "string"
        },
        "healthy" : {
          "type" : "boolean"
        },
        "code" : {
          "type" : "integer",
          "format" : "int32"
        },
        "message" : {
          "type" : "string"
        }
      }
    },
    "Advice" : {
      "type" : "object",
      "properties" : {
        "attributeAssignments" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AttributeAssignment"
          }
        },
        "id" : {
          "$ref" : "#/definitions/Identifier"
        }
      }
    },
    "Attribute" : {
      "type" : "object",
      "properties" : {
        "attributeId" : {
          "$ref" : "#/definitions/Identifier"
        },
        "values" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AttributeValueObject"
          }
        },
        "category" : {
          "$ref" : "#/definitions/Identifier"
        },
        "issuer" : {
          "type" : "string"
        },
        "includeInResults" : {
          "type" : "boolean"
        }
      }
    },
    "AttributeAssignment" : {
      "type" : "object",
      "properties" : {
        "attributeValue" : {
          "$ref" : "#/definitions/AttributeValueObject"
        },
        "attributeId" : {
          "$ref" : "#/definitions/Identifier"
        },
        "category" : {
          "$ref" : "#/definitions/Identifier"
        },
        "issuer" : {
          "type" : "string"
        },
        "dataTypeId" : {
          "$ref" : "#/definitions/Identifier"
        }
      }
    },
    "AttributeCategory" : {
      "type" : "object",
      "properties" : {
        "category" : {
          "$ref" : "#/definitions/Identifier"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "AttributeValue" : {
      "type" : "object",
      "properties" : {
        "xpathCategory" : {
          "$ref" : "#/definitions/Identifier"
        },
        "dataTypeId" : {
          "$ref" : "#/definitions/Identifier"
        },
        "value" : {
          "type" : "object"
        }
      }
    },
    "AttributeValueObject" : {
      "type" : "object",
      "properties" : {
        "xpathCategory" : {
          "$ref" : "#/definitions/Identifier"
        },
        "dataTypeId" : {
          "$ref" : "#/definitions/Identifier"
        },
        "value" : {
          "type" : "object"
        }
      }
    },
    "IdReference" : {
      "type" : "object",
      "properties" : {
        "version" : {
          "$ref" : "#/definitions/Version"
        },
        "id" : {
          "$ref" : "#/definitions/Identifier"
        }
      }
    },
    "Identifier" : {
      "type" : "object",
      "properties" : {
        "uri" : {
          "type" : "string",
          "format" : "uri"
        }
      }
    },
    "MissingAttributeDetail" : {
      "type" : "object",
      "properties" : {
        "attributeId" : {
          "$ref" : "#/definitions/Identifier"
        },
        "category" : {
          "$ref" : "#/definitions/Identifier"
        },
        "issuer" : {
          "type" : "string"
        },
        "attributeValues" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AttributeValueObject"
          }
        },
        "dataTypeId" : {
          "$ref" : "#/definitions/Identifier"
        }
      }
    },
    "Obligation" : {
      "type" : "object",
      "properties" : {
        "attributeAssignments" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AttributeAssignment"
          }
        },
        "id" : {
          "$ref" : "#/definitions/Identifier"
        }
      }
    },
    "Response" : {
      "type" : "object",
      "properties" : {
        "results" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Result"
          }
        }
      }
    },
    "Result" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/Status"
        },
        "decision" : {
          "type" : "string",
          "enum" : [ "PERMIT", "DENY", "INDETERMINATE", "INDETERMINATE_PERMIT", "INDETERMINATE_DENY", "INDETERMINATE_DENYPERMIT", "NOTAPPLICABLE" ]
        },
        "associatedAdvice" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Advice"
          }
        },
        "obligations" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Obligation"
          }
        },
        "policyIdentifiers" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/IdReference"
          }
        },
        "policySetIdentifiers" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/IdReference"
          }
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AttributeCategory"
          }
        }
      }
    },
    "Status" : {
      "type" : "object",
      "properties" : {
        "statusCode" : {
          "$ref" : "#/definitions/StatusCode"
        },
        "statusMessage" : {
          "type" : "string"
        },
        "statusDetail" : {
          "$ref" : "#/definitions/StatusDetail"
        },
        "ok" : {
          "type" : "boolean"
        }
      }
    },
    "StatusCode" : {
      "type" : "object",
      "properties" : {
        "statusCodeValue" : {
          "$ref" : "#/definitions/Identifier"
        },
        "child" : {
          "$ref" : "#/definitions/StatusCode"
        }
      }
    },
    "StatusDetail" : {
      "type" : "object",
      "properties" : {
        "missingAttributeDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/MissingAttributeDetail"
          }
        }
      }
    },
    "Version" : {
      "type" : "object",
      "properties" : {
        "version" : {
          "type" : "string"
        },
        "versionDigits" : {
          "type" : "array",
          "items" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      }
    },
    "ErrorResponse" : {
      "type" : "object",
      "properties" : {
        "responseCode" : {
          "type" : "string",
          "enum" : [ "OK", "CREATED", "ACCEPTED", "NO_CONTENT", "RESET_CONTENT", "PARTIAL_CONTENT", "MOVED_PERMANENTLY", "FOUND", "SEE_OTHER", "NOT_MODIFIED", "USE_PROXY", "TEMPORARY_REDIRECT", "BAD_REQUEST", "UNAUTHORIZED", "PAYMENT_REQUIRED", "FORBIDDEN", "NOT_FOUND", "METHOD_NOT_ALLOWED", "NOT_ACCEPTABLE", "PROXY_AUTHENTICATION_REQUIRED", "REQUEST_TIMEOUT", "CONFLICT", "GONE", "LENGTH_REQUIRED", "PRECONDITION_FAILED", "REQUEST_ENTITY_TOO_LARGE", "REQUEST_URI_TOO_LONG", "UNSUPPORTED_MEDIA_TYPE", "REQUESTED_RANGE_NOT_SATISFIABLE", "EXPECTATION_FAILED", "PRECONDITION_REQUIRED", "TOO_MANY_REQUESTS", "REQUEST_HEADER_FIELDS_TOO_LARGE", "INTERNAL_SERVER_ERROR", "NOT_IMPLEMENTED", "BAD_GATEWAY", "SERVICE_UNAVAILABLE", "GATEWAY_TIMEOUT", "HTTP_VERSION_NOT_SUPPORTED", "NETWORK_AUTHENTICATION_REQUIRED" ]
        },
        "errorMessage" : {
          "type" : "string"
        },
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "warningDetails" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "DOMConfiguration" : {
      "type" : "object",
      "properties" : {
        "parameterNames" : {
          "$ref" : "#/definitions/DOMStringList"
        }
      }
    },
    "DOMImplementation" : {
      "type" : "object"
    },
    "DOMStringList" : {
      "type" : "object",
      "properties" : {
        "length" : {
          "type" : "integer",
          "format" : "int32"
        }
      }
    },
    "Document" : {
      "type" : "object",
      "properties" : {
        "documentElement" : {
          "$ref" : "#/definitions/Element"
        },
        "xmlVersion" : {
          "type" : "string"
        },
        "strictErrorChecking" : {
          "type" : "boolean"
        },
        "documentURI" : {
          "type" : "string"
        },
        "xmlStandalone" : {
          "type" : "boolean"
        },
        "implementation" : {
          "$ref" : "#/definitions/DOMImplementation"
        },
        "doctype" : {
          "$ref" : "#/definitions/DocumentType"
        },
        "inputEncoding" : {
          "type" : "string"
        },
        "xmlEncoding" : {
          "type" : "string"
        },
        "domConfig" : {
          "$ref" : "#/definitions/DOMConfiguration"
        },
        "localName" : {
          "type" : "string"
        },
        "prefix" : {
          "type" : "string"
        },
        "nodeValue" : {
          "type" : "string"
        },
        "ownerDocument" : {
          "$ref" : "#/definitions/Document"
        },
        "nodeName" : {
          "type" : "string"
        },
        "childNodes" : {
          "$ref" : "#/definitions/NodeList"
        },
        "nodeType" : {
          "type" : "integer",
          "format" : "int32"
        },
        "namespaceURI" : {
          "type" : "string"
        },
        "lastChild" : {
          "$ref" : "#/definitions/Node"
        },
        "parentNode" : {
          "$ref" : "#/definitions/Node"
        },
        "firstChild" : {
          "$ref" : "#/definitions/Node"
        },
        "nextSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "previousSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "baseURI" : {
          "type" : "string"
        },
        "textContent" : {
          "type" : "string"
        },
        "attributes" : {
          "$ref" : "#/definitions/NamedNodeMap"
        }
      }
    },
    "DocumentType" : {
      "type" : "object",
      "properties" : {
        "entities" : {
          "$ref" : "#/definitions/NamedNodeMap"
        },
        "publicId" : {
          "type" : "string"
        },
        "systemId" : {
          "type" : "string"
        },
        "notations" : {
          "$ref" : "#/definitions/NamedNodeMap"
        },
        "internalSubset" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "localName" : {
          "type" : "string"
        },
        "prefix" : {
          "type" : "string"
        },
        "nodeValue" : {
          "type" : "string"
        },
        "ownerDocument" : {
          "$ref" : "#/definitions/Document"
        },
        "nodeName" : {
          "type" : "string"
        },
        "childNodes" : {
          "$ref" : "#/definitions/NodeList"
        },
        "nodeType" : {
          "type" : "integer",
          "format" : "int32"
        },
        "namespaceURI" : {
          "type" : "string"
        },
        "lastChild" : {
          "$ref" : "#/definitions/Node"
        },
        "parentNode" : {
          "$ref" : "#/definitions/Node"
        },
        "firstChild" : {
          "$ref" : "#/definitions/Node"
        },
        "nextSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "previousSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "baseURI" : {
          "type" : "string"
        },
        "textContent" : {
          "type" : "string"
        },
        "attributes" : {
          "$ref" : "#/definitions/NamedNodeMap"
        }
      }
    },
    "Element" : {
      "type" : "object",
      "properties" : {
        "tagName" : {
          "type" : "string"
        },
        "schemaTypeInfo" : {
          "$ref" : "#/definitions/TypeInfo"
        },
        "localName" : {
          "type" : "string"
        },
        "prefix" : {
          "type" : "string"
        },
        "nodeValue" : {
          "type" : "string"
        },
        "ownerDocument" : {
          "$ref" : "#/definitions/Document"
        },
        "nodeName" : {
          "type" : "string"
        },
        "childNodes" : {
          "$ref" : "#/definitions/NodeList"
        },
        "nodeType" : {
          "type" : "integer",
          "format" : "int32"
        },
        "namespaceURI" : {
          "type" : "string"
        },
        "lastChild" : {
          "$ref" : "#/definitions/Node"
        },
        "parentNode" : {
          "$ref" : "#/definitions/Node"
        },
        "firstChild" : {
          "$ref" : "#/definitions/Node"
        },
        "nextSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "previousSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "baseURI" : {
          "type" : "string"
        },
        "textContent" : {
          "type" : "string"
        },
        "attributes" : {
          "$ref" : "#/definitions/NamedNodeMap"
        }
      }
    },
    "NamedNodeMap" : {
      "type" : "object",
      "properties" : {
        "length" : {
          "type" : "integer",
          "format" : "int32"
        }
      }
    },
    "Node" : {
      "type" : "object",
      "properties" : {
        "localName" : {
          "type" : "string"
        },
        "prefix" : {
          "type" : "string"
        },
        "nodeValue" : {
          "type" : "string"
        },
        "ownerDocument" : {
          "$ref" : "#/definitions/Document"
        },
        "nodeName" : {
          "type" : "string"
        },
        "childNodes" : {
          "$ref" : "#/definitions/NodeList"
        },
        "nodeType" : {
          "type" : "integer",
          "format" : "int32"
        },
        "namespaceURI" : {
          "type" : "string"
        },
        "lastChild" : {
          "$ref" : "#/definitions/Node"
        },
        "parentNode" : {
          "$ref" : "#/definitions/Node"
        },
        "firstChild" : {
          "$ref" : "#/definitions/Node"
        },
        "nextSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "previousSibling" : {
          "$ref" : "#/definitions/Node"
        },
        "baseURI" : {
          "type" : "string"
        },
        "textContent" : {
          "type" : "string"
        },
        "attributes" : {
          "$ref" : "#/definitions/NamedNodeMap"
        }
      }
    },
    "NodeList" : {
      "type" : "object",
      "properties" : {
        "length" : {
          "type" : "integer",
          "format" : "int32"
        }
      }
    },
    "Request" : {
      "type" : "object",
      "properties" : {
        "requestDefaults" : {
          "$ref" : "#/definitions/RequestDefaults"
        },
        "multiRequests" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RequestReference"
          }
        },
        "status" : {
          "$ref" : "#/definitions/Status"
        },
        "requestAttributesIncludedInResult" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AttributeCategory"
          }
        },
        "combinedDecision" : {
          "type" : "boolean"
        },
        "returnPolicyIdList" : {
          "type" : "boolean"
        },
        "requestAttributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RequestAttributes"
          }
        }
      }
    },
    "RequestAttributes" : {
      "type" : "object",
      "properties" : {
        "contentRoot" : {
          "$ref" : "#/definitions/Node"
        },
        "xmlId" : {
          "type" : "string"
        },
        "category" : {
          "$ref" : "#/definitions/Identifier"
        },
        "attributes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Attribute"
          }
        }
      }
    },
    "RequestAttributesReference" : {
      "type" : "object",
      "properties" : {
        "referenceId" : {
          "type" : "string"
        }
      }
    },
    "RequestDefaults" : {
      "type" : "object",
      "properties" : {
        "xpathVersion" : {
          "type" : "string",
          "format" : "uri"
        }
      }
    },
    "RequestReference" : {
      "type" : "object",
      "properties" : {
        "attributesReferences" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RequestAttributesReference"
          }
        }
      }
    },
    "TypeInfo" : {
      "type" : "object",
      "properties" : {
        "typeNamespace" : {
          "type" : "string"
        },
        "typeName" : {
          "type" : "string"
        }
      }
    },
    "StatisticsReport" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "integer",
          "format" : "int32"
        },
        "totalPolicyTypesCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "totalPoliciesCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "totalErrorCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "permitDecisionsCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "denyDecisionsCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "indeterminantDecisionsCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "notApplicableDecisionsCount" : {
          "type" : "integer",
          "format" : "int64"
        }
      }
    },
    "DecisionResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "type" : "string"
        },
        "message" : {
          "type" : "string"
        },
        "advice" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        },
        "obligations" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        },
        "policies" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        }
      }
    },
    "DecisionRequest" : {
      "type" : "object",
      "properties" : {
        "onapName" : {
          "type" : "string"
        },
        "onapComponent" : {
          "type" : "string"
        },
        "onapInstance" : {
          "type" : "string"
        },
        "requestId" : {
          "type" : "string"
        },
        "context" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        },
        "action" : {
          "type" : "string"
        },
        "resource" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        }
      }
    }
  }
}