{
  "swagger": "2.0",
  "basePath": "/",
  "tags": [
    {
      "name": "Policy Deployment Status"
    }
  ],
  "schemes": [
    "http",
    "https"
  ],
  "consumes": [
    "application/json",
    "application/yaml"
  ],
  "produces": [
    "application/json",
    "application/yaml"
  ],
  "paths": {
    "/policy/pap/v1/policies/deployed": {
      "get": {
        "tags": [
          "Policy Deployment Status"
        ],
        "summary": "Queries status of all deployed policies",
        "description": "Queries status of all deployed policies, returning success and failure counts of the PDPs",
        "operationId": "queryAllDeployedPolicies",
        "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": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PolicyStatus"
              }
            }
          },
          "401": {
            "description": "Authentication Error"
          },
          "403": {
            "description": "Authorization Error"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "x-interface info": {
          "api-version": "1.0.0",
          "last-mod-release": "Dublin"
        }
      }
    },
    "/policy/pap/v1/policies/deployed/{name}": {
      "get": {
        "tags": [
          "Policy Deployment Status"
        ],
        "summary": "Queries status of specific deployed policies",
        "description": "Queries status of specific deployed policies, returning success and failure counts of the PDPs",
        "operationId": "queryDeployedPolicies",
        "produces": [
          "application/json",
          "application/yaml"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "Policy Id",
            "required": true,
            "type": "string"
          },
          {
            "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": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PolicyStatus"
              }
            }
          },
          "401": {
            "description": "Authentication Error"
          },
          "403": {
            "description": "Authorization Error"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "x-interface info": {
          "api-version": "1.0.0",
          "last-mod-release": "Dublin"
        }
      }
    },
    "/policy/pap/v1/policies/deployed/{name}/{version}": {
      "get": {
        "tags": [
          "Policy Deployment Status"
        ],
        "summary": "Queries status of a specific deployed policy",
        "description": "Queries status of a specific deployed policy, returning success and failure counts of the PDPs",
        "operationId": "queryDeployedPolicy",
        "produces": [
          "application/json",
          "application/yaml"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "Policy Id",
            "required": true,
            "type": "string"
          },
          {
            "name": "version",
            "in": "path",
            "description": "Policy Version",
            "required": true,
            "type": "string"
          },
          {
            "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/PolicyStatus"
            }
          },
          "401": {
            "description": "Authentication Error"
          },
          "403": {
            "description": "Authorization Error"
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "x-interface info": {
          "api-version": "1.0.0",
          "last-mod-release": "Dublin"
        }
      }
    }
  },
  "securityDefinitions": {
    "basicAuth": {
      "description": "",
      "type": "basic"
    }
  },
  "definitions": {
    "ToscaPolicyIdentifier": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "ToscaPolicyTypeIdentifier": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "PolicyStatus": {
      "type": "object",
      "properties": {
        "policyTypeId": {
          "type": "string"
        },
        "policyTypeVersion": {
          "type": "string"
        },
        "policyId": {
          "type": "string"
        },
        "policyVersion": {
          "type": "string"
        },
        "successCount": {
          "type": "integer",
          "format": "int32"
        },
        "failureCount": {
          "type": "integer",
          "format": "int32"
        },
        "incompleteCount": {
          "type": "integer",
          "format": "int32"
        },
        "policy": {
          "$ref": "#/definitions/ToscaPolicyIdentifier"
        },
        "policyType": {
          "$ref": "#/definitions/ToscaPolicyTypeIdentifier"
        }
      }
    }
  }
}