blob: 4c7d808287d1e5530d4d5b82db4cdc322f8bb359 [file] [log] [blame]
{
"openapi" : "3.0.1",
"info" : {
"contact" : {
"email" : "dev@submarine.apache.org"
},
"description" : "The Submarine REST API allows you to access Submarine resources such as, \nexperiments, environments and notebooks. The \nAPI is hosted under the /v1 path on the Submarine server. For example, \nto list experiments on a server hosted at http://localhost:8080, access\nhttp://localhost:8080/api/v1/experiment/",
"license" : {
"name" : "Apache 2.0",
"url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"termsOfService" : "http://swagger.io/terms/",
"title" : "Submarine API",
"version" : "0.8.0"
},
"servers" : [ {
"url" : "/api"
} ],
"paths" : {
"/auth/token" : {
"post" : {
"description" : "Return user token by username and password",
"operationId" : "token",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LoginParam"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "successfully get token"
}
},
"summary" : "Get submarine user token",
"tags" : [ "auth" ]
}
},
"/v1/environment" : {
"get" : {
"operationId" : "listEnvironment",
"parameters" : [ {
"in" : "query",
"name" : "status",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List of Environments",
"tags" : [ "environment" ]
},
"post" : {
"operationId" : "createEnvironment",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EnvironmentSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/EnvironmentSpec"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a environment",
"tags" : [ "environment" ]
}
},
"/v1/environment/{id}" : {
"delete" : {
"operationId" : "deleteEnvironment",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Environment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the environment",
"tags" : [ "environment" ]
},
"get" : {
"operationId" : "getEnvironment",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Environment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Find environment by name",
"tags" : [ "environment" ]
},
"patch" : {
"operationId" : "updateEnvironment",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EnvironmentSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/EnvironmentSpec"
}
}
}
},
"responses" : {
"404" : {
"description" : "Environment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Update the environment with job spec",
"tags" : [ "environment" ]
}
},
"/v1/experiment" : {
"get" : {
"operationId" : "listExperiments",
"parameters" : [ {
"in" : "query",
"name" : "status",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List experiments",
"tags" : [ "experiment" ]
},
"post" : {
"operationId" : "createExperiment",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentSpec"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create an experiment",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/artifacts/{id}" : {
"get" : {
"operationId" : "getArtifactPaths",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Experiment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List artifact paths by id",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/logs" : {
"get" : {
"operationId" : "listLog",
"parameters" : [ {
"in" : "query",
"name" : "status",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List experiment's log",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/logs/{id}" : {
"get" : {
"operationId" : "getLog",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Experiment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Log experiment by id",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/mlflow" : {
"get" : {
"operationId" : "getMLflowInfo",
"responses" : {
"404" : {
"description" : "MLflow not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Get mlflow's information",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/ping" : {
"get" : {
"description" : "Return the Pong message for test the connectivity",
"operationId" : "ping",
"responses" : {
"200" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Ping submarine server",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/tensorboard" : {
"get" : {
"operationId" : "getTensorboardInfo",
"responses" : {
"404" : {
"description" : "Tensorboard not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Get tensorboard's information",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/{id}" : {
"delete" : {
"operationId" : "deleteExperiment",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Experiment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the experiment",
"tags" : [ "experiment" ]
},
"get" : {
"operationId" : "getExperiment",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Experiment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Get the experiment's detailed info by id",
"tags" : [ "experiment" ]
},
"patch" : {
"operationId" : "patchExperiment",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentSpec"
}
}
}
},
"responses" : {
"404" : {
"description" : "Experiment not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Update the experiment in the submarine server with spec",
"tags" : [ "experiment" ]
}
},
"/v1/experiment/{name}" : {
"post" : {
"operationId" : "SubmitExperimentTemplate",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentTemplateSubmit"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentTemplateSubmit"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "use experiment template to create an experiment",
"tags" : [ "experiment" ]
}
},
"/v1/model-version" : {
"patch" : {
"operationId" : "updateModelVersion",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/ModelVersionEntity"
}
}
}
},
"responses" : {
"404" : {
"description" : "ModelVersionEntity not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Update the model version",
"tags" : [ "model-version" ]
},
"post" : {
"operationId" : "createModelVersion",
"parameters" : [ {
"in" : "query",
"name" : "baseDir",
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ModelVersionEntity"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ModelVersionEntity"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a model version instance",
"tags" : [ "model-version" ]
}
},
"/v1/model-version/ping" : {
"get" : {
"description" : "Return the Pong message for test the connectivity",
"operationId" : "ping_1",
"responses" : {
"200" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Ping submarine server",
"tags" : [ "model-version" ]
}
},
"/v1/model-version/tag" : {
"delete" : {
"operationId" : "deleteModelVersionTag",
"parameters" : [ {
"in" : "query",
"name" : "name",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"in" : "query",
"name" : "version",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"in" : "query",
"name" : "tag",
"schema" : {
"type" : "string",
"default" : ""
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete a model version tag instance",
"tags" : [ "model-version" ]
},
"post" : {
"operationId" : "createModelVersionTag",
"parameters" : [ {
"in" : "query",
"name" : "name",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"in" : "query",
"name" : "version",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"in" : "query",
"name" : "tag",
"schema" : {
"type" : "string",
"default" : ""
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a model version tag instance",
"tags" : [ "model-version" ]
}
},
"/v1/model-version/{name}" : {
"get" : {
"operationId" : "listModelVersions",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List model versions",
"tags" : [ "model-version" ]
}
},
"/v1/model-version/{name}/{version}" : {
"delete" : {
"operationId" : "deleteModelVersion",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"in" : "path",
"name" : "version",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int32"
}
} ],
"responses" : {
"404" : {
"description" : "ModelVersionEntity not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the model version",
"tags" : [ "model-version" ]
},
"get" : {
"operationId" : "getModelVersion",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
}, {
"in" : "path",
"name" : "version",
"required" : true,
"schema" : {
"type" : "integer",
"format" : "int32"
}
} ],
"responses" : {
"404" : {
"description" : "ModelVersionEntity not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Get detailed info about the model version",
"tags" : [ "model-version" ]
}
},
"/v1/notebook" : {
"get" : {
"operationId" : "listNotebooks",
"parameters" : [ {
"in" : "query",
"name" : "id",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List notebooks",
"tags" : [ "notebook" ]
},
"post" : {
"operationId" : "createNotebook",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/NotebookSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/NotebookSpec"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a notebook instance",
"tags" : [ "notebook" ]
}
},
"/v1/notebook/ping" : {
"get" : {
"description" : "Return the Pong message for test the connectivity",
"operationId" : "ping_2",
"responses" : {
"200" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Ping submarine server",
"tags" : [ "notebook" ]
}
},
"/v1/notebook/{id}" : {
"delete" : {
"operationId" : "deleteNotebook",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Notebook not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the notebook",
"tags" : [ "notebook" ]
},
"get" : {
"operationId" : "getNotebook",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "Notebook not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Get detailed info about the notebook",
"tags" : [ "notebook" ]
}
},
"/v1/registered-model" : {
"get" : {
"operationId" : "listRegisteredModels",
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List registered models",
"tags" : [ "registered-model" ]
},
"post" : {
"operationId" : "createRegisteredModel",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/RegisteredModelEntity"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/RegisteredModelEntity"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a registered model instance",
"tags" : [ "registered-model" ]
}
},
"/v1/registered-model/ping" : {
"get" : {
"description" : "Return the Pong message for test the connectivity",
"operationId" : "ping_3",
"responses" : {
"200" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Ping submarine server",
"tags" : [ "registered-model" ]
}
},
"/v1/registered-model/tag" : {
"delete" : {
"operationId" : "deleteRegisteredModelTag",
"parameters" : [ {
"in" : "query",
"name" : "name",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"in" : "query",
"name" : "tag",
"schema" : {
"type" : "string",
"default" : ""
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete a registered model tag instance",
"tags" : [ "registered-model" ]
},
"post" : {
"operationId" : "createRegisteredModelTag",
"parameters" : [ {
"in" : "query",
"name" : "name",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"in" : "query",
"name" : "tag",
"schema" : {
"type" : "string",
"default" : ""
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a registered model tag instance",
"tags" : [ "registered-model" ]
}
},
"/v1/registered-model/{name}" : {
"delete" : {
"operationId" : "deleteRegisteredModel",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "RegisteredModelEntity not found"
},
"406" : {
"description" : "Some version of models are in the production stage"
},
"500" : {
"description" : "Some error happen in server"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the registered model",
"tags" : [ "registered-model" ]
},
"get" : {
"operationId" : "getRegisteredModel",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "RegisteredModelEntity not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Get detailed info about the registered model",
"tags" : [ "registered-model" ]
},
"patch" : {
"operationId" : "updateRegisteredModel",
"parameters" : [ {
"in" : "path",
"name" : "name",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/RegisteredModelEntity"
}
}
}
},
"responses" : {
"404" : {
"description" : "RegisteredModelEntity not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Update the registered model",
"tags" : [ "registered-model" ]
}
},
"/v1/serve" : {
"delete" : {
"operationId" : "deleteServe",
"requestBody" : {
"content" : {
"*/*" : {
"schema" : {
"$ref" : "#/components/schemas/ServeSpec"
}
}
}
},
"responses" : {
"404" : {
"description" : "Serve not found."
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the serve instance.",
"tags" : [ "serve" ]
},
"post" : {
"operationId" : "createServe",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ServeSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ServeSpec"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a serve instance",
"tags" : [ "serve" ]
}
},
"/v1/serve/ping" : {
"get" : {
"description" : "Return the Pong message for test the connectivity",
"operationId" : "ping_4",
"responses" : {
"200" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"type" : "string"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Ping submarine server",
"tags" : [ "serve" ]
}
},
"/v1/template" : {
"get" : {
"operationId" : "listExperimentTemplate",
"parameters" : [ {
"in" : "query",
"name" : "status",
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "List of ExperimentTemplates",
"tags" : [ "experimentTemplates" ]
},
"post" : {
"operationId" : "createExperimentTemplate",
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentTemplateSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentTemplateSpec"
}
}
}
},
"responses" : {
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Create a experimentTemplate",
"tags" : [ "experimentTemplate" ]
}
},
"/v1/template/{id}" : {
"delete" : {
"operationId" : "deleteExperimentTemplate",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "ExperimentTemplate not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Delete the experimentTemplate",
"tags" : [ "experimentTemplates" ]
},
"get" : {
"operationId" : "getExperimentTemplate",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"responses" : {
"404" : {
"description" : "ExperimentTemplate not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Find experimentTemplate by name",
"tags" : [ "experimentTemplate" ]
},
"patch" : {
"operationId" : "updateExperimentTemplate",
"parameters" : [ {
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
} ],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentTemplateSpec"
}
},
"application/yaml" : {
"schema" : {
"$ref" : "#/components/schemas/ExperimentTemplateSpec"
}
}
}
},
"responses" : {
"404" : {
"description" : "ExperimentTemplate not found"
},
"default" : {
"content" : {
"application/json; charset=utf-8" : {
"schema" : {
"$ref" : "#/components/schemas/JsonResponse"
}
}
},
"description" : "successful operation"
}
},
"summary" : "Update the experimentTemplate with job spec",
"tags" : [ "experimentTemplates" ]
}
}
},
"components" : {
"schemas" : {
"CodeSpec" : {
"type" : "object",
"properties" : {
"git" : {
"$ref" : "#/components/schemas/GitCodeSpec"
},
"syncMode" : {
"type" : "string"
}
}
},
"EnvironmentSpec" : {
"type" : "object",
"properties" : {
"description" : {
"type" : "string"
},
"dockerImage" : {
"type" : "string"
},
"image" : {
"type" : "string"
},
"kernelSpec" : {
"$ref" : "#/components/schemas/KernelSpec"
},
"name" : {
"type" : "string"
}
}
},
"ExperimentMeta" : {
"type" : "object",
"properties" : {
"cmd" : {
"type" : "string"
},
"envVars" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"experimentId" : {
"type" : "string"
},
"framework" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"namespace" : {
"type" : "string"
},
"tags" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}
},
"ExperimentSpec" : {
"type" : "object",
"properties" : {
"code" : {
"$ref" : "#/components/schemas/CodeSpec"
},
"environment" : {
"$ref" : "#/components/schemas/EnvironmentSpec"
},
"experimentHandlerSpec" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"meta" : {
"$ref" : "#/components/schemas/ExperimentMeta"
},
"spec" : {
"type" : "object",
"additionalProperties" : {
"$ref" : "#/components/schemas/ExperimentTaskSpec"
}
}
}
},
"ExperimentTaskSpec" : {
"type" : "object",
"properties" : {
"cmd" : {
"type" : "string"
},
"cpu" : {
"type" : "string"
},
"envVars" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"gpu" : {
"type" : "string"
},
"image" : {
"type" : "string"
},
"memory" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"replicas" : {
"type" : "integer",
"format" : "int32"
},
"resources" : {
"type" : "string"
}
}
},
"ExperimentTemplateParamSpec" : {
"type" : "object",
"properties" : {
"description" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"required" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
}
},
"ExperimentTemplateSpec" : {
"type" : "object",
"properties" : {
"author" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"experimentSpec" : {
"$ref" : "#/components/schemas/ExperimentSpec"
},
"experimentTemplateParamSpec" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/ExperimentTemplateParamSpec"
}
},
"name" : {
"type" : "string"
},
"parameters" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/ExperimentTemplateParamSpec"
}
}
}
},
"ExperimentTemplateSubmit" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"params" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
}
}
},
"GitCodeSpec" : {
"type" : "object",
"properties" : {
"branch" : {
"type" : "string"
},
"password" : {
"type" : "string"
},
"trustCerts" : {
"type" : "boolean"
},
"url" : {
"type" : "string"
},
"username" : {
"type" : "string"
}
}
},
"JsonResponse" : {
"type" : "object",
"properties" : {
"attributes" : {
"type" : "object",
"additionalProperties" : {
"type" : "object"
}
},
"code" : {
"type" : "integer",
"format" : "int32"
},
"result" : {
"type" : "object"
},
"success" : {
"type" : "boolean"
}
}
},
"KernelSpec" : {
"type" : "object",
"properties" : {
"channels" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"condaDependencies" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"name" : {
"type" : "string"
},
"pipDependencies" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}
},
"LoginParam" : {
"type" : "object",
"properties" : {
"password" : {
"type" : "string"
},
"username" : {
"type" : "string"
}
}
},
"ModelVersionEntity" : {
"type" : "object",
"properties" : {
"creationTime" : {
"type" : "string",
"format" : "date-time"
},
"currentStage" : {
"type" : "string"
},
"dataset" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"experimentId" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"lastUpdatedTime" : {
"type" : "string",
"format" : "date-time"
},
"modelType" : {
"type" : "string"
},
"modelVersionId" : {
"type" : "integer",
"format" : "int64"
},
"name" : {
"type" : "string"
},
"tags" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"userId" : {
"type" : "string"
},
"version" : {
"type" : "integer",
"format" : "int32"
}
}
},
"NotebookMeta" : {
"type" : "object",
"properties" : {
"labels" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"name" : {
"type" : "string"
},
"namespace" : {
"type" : "string"
},
"ownerId" : {
"type" : "string"
}
}
},
"NotebookPodSpec" : {
"type" : "object",
"properties" : {
"cpu" : {
"type" : "string"
},
"envVars" : {
"type" : "object",
"additionalProperties" : {
"type" : "string"
}
},
"gpu" : {
"type" : "string"
},
"memory" : {
"type" : "string"
},
"resources" : {
"type" : "string"
}
}
},
"NotebookSpec" : {
"type" : "object",
"properties" : {
"environment" : {
"$ref" : "#/components/schemas/EnvironmentSpec"
},
"meta" : {
"$ref" : "#/components/schemas/NotebookMeta"
},
"spec" : {
"$ref" : "#/components/schemas/NotebookPodSpec"
}
}
},
"RegisteredModelEntity" : {
"type" : "object",
"properties" : {
"creationTime" : {
"type" : "string",
"format" : "date-time"
},
"description" : {
"type" : "string"
},
"lastUpdatedTime" : {
"type" : "string",
"format" : "date-time"
},
"modelId" : {
"type" : "integer",
"format" : "int64"
},
"name" : {
"type" : "string"
},
"tags" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
}
},
"ServeSpec" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "integer",
"format" : "int64"
},
"modelId" : {
"type" : "string"
},
"modelName" : {
"type" : "string"
},
"modelType" : {
"type" : "string"
},
"modelURI" : {
"type" : "string"
},
"modelVersion" : {
"type" : "integer",
"format" : "int32"
}
}
}
}
}
}