{
  "swagger" : "2.0",
  "basePath" : "/",
  "tags" : [ {
    "name" : "Legacy Operational Policy"
  } ],
  "schemes" : [ "http", "https" ],
  "paths" : {
    "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{policyId}/versions/latest" : {
      "get" : {
        "tags" : [ "Legacy Operational Policy" ],
        "summary" : "Retrieve the latest version of a particular operational policy",
        "description" : "Returns the latest version of the specified operational policy",
        "operationId" : "getLatestVersionOfOperationalPolicy",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "policyId",
          "in" : "path",
          "description" : "ID of policy",
          "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; Latest version of specified operational policy will be returned.",
            "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/LegacyOperationalPolicy"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "404" : {
            "description" : "Resource Not Found"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "api-version" : "1.0.0",
          "last-mod-release" : "Dublin"
        }
      }
    },
    "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{policyId}/versions/deployed" : {
      "get" : {
        "tags" : [ "Legacy Opereational Policy" ],
        "summary" : "Retrieve deployed versions of a particular operational policy in pdp groups",
        "description" : "Returns deployed versions of a specified operational policy in pdp groups",
        "operationId" : "getDeployedVersionsOfOperationalPolicy",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "policyId",
          "in" : "path",
          "description" : "ID of operational policy",
          "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; Deployed versions of specified operational policy in PDP groups will be returned.",
            "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/LegacyOperationalPolicy"
              }
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "404" : {
            "description" : "Resource Not Found"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "api-version" : "1.0.0",
          "last-mod-release" : "Dublin"
        }
      }
    },
    "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{policyId}/versions/{policyVersion}" : {
      "get" : {
        "tags" : [ "Legacy Operational Policy" ],
        "summary" : "Retrieve one version of a particular operational policy",
        "description" : "Returns a particular version of a specified operational policy",
        "operationId" : "getSpecificVersionOfOperationalPolicy",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "policyId",
          "in" : "path",
          "description" : "ID of policy",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "policyVersion",
          "in" : "path",
          "description" : "Version of policy",
          "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; Specified version of specified operational policy will be returned.",
            "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/LegacyOperationalPolicy"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "404" : {
            "description" : "Resource Not Found"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "api-version" : "1.0.0",
          "last-mod-release" : "Dublin"
        }
      },
      "delete" : {
        "tags" : [ "Legacy Operational Policy" ],
        "summary" : "Delete a particular version of a specified operational policy",
        "description" : "Delete a particular version of an operational policy. It must follow one rule. Rule: the version that has been deployed in PDP group(s) cannot be deleted",
        "operationId" : "deleteSpecificVersionOfOperationalPolicy",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "policyId",
          "in" : "path",
          "description" : "ID of policy",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "policyVersion",
          "in" : "path",
          "description" : "Version of policy",
          "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; Newly deleted operational policy will be returned.",
            "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/LegacyOperationalPolicy"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "404" : {
            "description" : "Resource Not Found"
          },
          "409" : {
            "description" : "Delete Conflict, Rule Violation"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "api-version" : "1.0.0",
          "last-mod-release" : "Dublin"
        }
      }
    },
    "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies" : {
      "post" : {
        "tags" : [ "Legacy Operational Policy" ],
        "summary" : "Create a new operational policy",
        "description" : "Create a new operational policy. Client should provide entity body of the new operational policy",
        "operationId" : "createOperationalPolicy",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "X-ONAP-RequestID",
          "in" : "header",
          "description" : "RequestID for http transaction",
          "required" : false,
          "type" : "string",
          "format" : "uuid"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "Entity body of policy",
          "required" : true,
          "type" : "ToscaServiceTemplate",
          "schema" : {
            "$ref" : "#/definitions/LegacyOperationalPolicy"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation; Newly created operational policy will be returned.",
            "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/LegacyOperationalPolicy"
            }
          },
          "400" : {
            "description" : "Invalid Body"
          },
          "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" : {
    "LegacyOperationalPolicy" : {
      "type" : "object",
      "properties" : {
        "policy-id" : {
          "type" : "string"
        },
        "policy-version" : {
          "type" : "string"
        },
        "content" : {
          "type" : "string"
        }
      }
    }
  }
}