Publish swagger files for SDC APIs
[sdc.git] / docs / swagger / swagger-sdce-4.json
diff --git a/docs/swagger/swagger-sdce-4.json b/docs/swagger/swagger-sdce-4.json
new file mode 100644 (file)
index 0000000..ab623bb
--- /dev/null
@@ -0,0 +1,346 @@
+{
+  "openapi" : "3.0.1",
+  "info" : {
+    "contact" : {
+      "email" : "onap-discuss@lists.onap.org",
+      "name" : "ONAP",
+      "url" : "https://onap.readthedocs.io"
+    },
+    "description" : "SDC API for certifying services (SDCE-4)",
+    "license" : {
+      "name" : "Apache 2.0",
+      "url" : "http://www.apache.org/licenses/LICENSE-2.0"
+    },
+    "title" : "SPC API: SDCE-4",
+    "version" : "1.0"
+  },
+  "servers" : [ {
+    "description" : "SDCE-4 APIs",
+    "url" : "/sdc"
+  } ],
+  "paths" : {
+    "/v1/catalog/{componentCollection}/{componentId}/lifecycleState/{lifecycleOperation}" : {
+      "post" : {
+        "description" : "Change Resource lifecycle State",
+        "operationId" : "changeResourceState",
+        "parameters" : [ {
+          "description" : "validValues: resources / services / products",
+          "in" : "path",
+          "name" : "componentCollection",
+          "required" : true,
+          "schema" : {
+            "type" : "string",
+            "enum" : [ "resources", "services", "products" ]
+          }
+        }, {
+          "in" : "path",
+          "name" : "lifecycleOperation",
+          "required" : true,
+          "schema" : {
+            "type" : "string",
+            "enum" : [ "checkout, undoCheckout, checkin, certificationRequest, startCertification, failCertification,  cancelCertification, certify" ]
+          }
+        }, {
+          "description" : "id of component to be changed",
+          "in" : "path",
+          "name" : "componentId",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "description" : "id of user initiating the operation",
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "requestBody" : {
+          "content" : {
+            "application/json" : {
+              "schema" : {
+                "type" : "string"
+              }
+            }
+          },
+          "description" : "LifecycleChangeInfo - relevant for checkin, failCertification, cancelCertification"
+        },
+        "responses" : {
+          "200" : {
+            "description" : "Resource state changed"
+          },
+          "403" : {
+            "description" : "Restricted operation"
+          },
+          "409" : {
+            "description" : "Resource already exist"
+          },
+          "default" : {
+            "content" : {
+              "application/json" : {
+                "schema" : {
+                  "type" : "array",
+                  "items" : {
+                    "type" : "object",
+                    "properties" : {
+                      "allowedMethods" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "string"
+                        },
+                        "uniqueItems" : true
+                      },
+                      "cookies" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "object",
+                          "properties" : {
+                            "comment" : {
+                              "type" : "string"
+                            },
+                            "domain" : {
+                              "type" : "string"
+                            },
+                            "expiry" : {
+                              "type" : "string",
+                              "format" : "date-time"
+                            },
+                            "httpOnly" : {
+                              "type" : "boolean"
+                            },
+                            "maxAge" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            },
+                            "name" : {
+                              "type" : "string"
+                            },
+                            "path" : {
+                              "type" : "string"
+                            },
+                            "secure" : {
+                              "type" : "boolean"
+                            },
+                            "value" : {
+                              "type" : "string"
+                            },
+                            "version" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            }
+                          }
+                        }
+                      },
+                      "date" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "entity" : {
+                        "type" : "object"
+                      },
+                      "entityTag" : {
+                        "type" : "object",
+                        "properties" : {
+                          "value" : {
+                            "type" : "string"
+                          },
+                          "weak" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "headers" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "language" : {
+                        "type" : "object",
+                        "properties" : {
+                          "country" : {
+                            "type" : "string"
+                          },
+                          "displayCountry" : {
+                            "type" : "string"
+                          },
+                          "displayLanguage" : {
+                            "type" : "string"
+                          },
+                          "displayName" : {
+                            "type" : "string"
+                          },
+                          "displayScript" : {
+                            "type" : "string"
+                          },
+                          "displayVariant" : {
+                            "type" : "string"
+                          },
+                          "extensionKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "iso3Country" : {
+                            "type" : "string"
+                          },
+                          "iso3Language" : {
+                            "type" : "string"
+                          },
+                          "language" : {
+                            "type" : "string"
+                          },
+                          "script" : {
+                            "type" : "string"
+                          },
+                          "unicodeLocaleAttributes" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "unicodeLocaleKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "variant" : {
+                            "type" : "string"
+                          }
+                        }
+                      },
+                      "lastModified" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "length" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "links" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "object",
+                          "properties" : {
+                            "params" : {
+                              "type" : "object",
+                              "additionalProperties" : {
+                                "type" : "string"
+                              }
+                            },
+                            "rel" : {
+                              "type" : "string"
+                            },
+                            "rels" : {
+                              "type" : "array",
+                              "items" : {
+                                "type" : "string"
+                              }
+                            },
+                            "title" : {
+                              "type" : "string"
+                            },
+                            "type" : {
+                              "type" : "string"
+                            },
+                            "uri" : {
+                              "type" : "string",
+                              "format" : "uri"
+                            },
+                            "uriBuilder" : {
+                              "type" : "object"
+                            }
+                          }
+                        },
+                        "uniqueItems" : true
+                      },
+                      "location" : {
+                        "type" : "string",
+                        "format" : "uri"
+                      },
+                      "mediaType" : {
+                        "type" : "object",
+                        "properties" : {
+                          "parameters" : {
+                            "type" : "object",
+                            "additionalProperties" : {
+                              "type" : "string"
+                            }
+                          },
+                          "subtype" : {
+                            "type" : "string"
+                          },
+                          "type" : {
+                            "type" : "string"
+                          },
+                          "wildcardSubtype" : {
+                            "type" : "boolean"
+                          },
+                          "wildcardType" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "metadata" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "status" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "statusInfo" : {
+                        "type" : "object",
+                        "properties" : {
+                          "family" : {
+                            "type" : "string",
+                            "enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
+                          },
+                          "reasonPhrase" : {
+                            "type" : "string"
+                          },
+                          "statusCode" : {
+                            "type" : "integer",
+                            "format" : "int32"
+                          }
+                        }
+                      },
+                      "stringHeaders" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "tags" : [ "SDCE-4 APIs" ]
+      }
+    }
+  }
+}
\ No newline at end of file