{
  "swagger" : "2.0",
  "info" : {
    "description" : "This is IBM Content Project Deployment Service REST API",
    "version" : "v1",
    "title" : "IBM Content Project Deployment Service REST API"
  },
  "basePath" : "/ibm-dba-content-project-deployment/v1",
  "tags" : [ {
    "name" : "admins",
    "description" : "Secured administrator only operations"
  }, {
    "name" : "doc processing managers",
    "description" : "Operations available to Doc Processing Managers."
  }, {
    "name" : "deployment users",
    "description" : "Operations available to Doc Processing Managers, Doc Processing Analysts and the Project Admins for the project."
  }, {
    "name" : "all users",
    "description" : "Operations available to all users"
  } ],
  "schemes" : [ "http", "https" ],
  "paths" : {
    "/info" : {
      "get" : {
        "tags" : [ "all users" ],
        "summary" : "An informational endpoint to check whether the Deployment Service URL is correct and is responding",
        "description" : "An informational endpoint to check whether the Deployment Service URL is correct and is responding",
        "operationId" : "getDeploymentServicesInfo",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Successfully reached the Content Project Deployment Service and retrieved basic services information",
            "schema" : {
              "$ref" : "#/definitions/InfoResponse"
            }
          }
        }
      }
    },
    "/repositories/{repositoryIdentifier}/initialization" : {
      "get" : {
        "tags" : [ "all users" ],
        "summary" : "Retrieve initialization status of the repository",
        "description" : "Retrieves initialization status of the repository",
        "operationId" : "getInitializationStatus",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryIdentifier",
          "in" : "path",
          "description" : "Repository identifier (example: OS1)",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Initialization status retrieved",
            "schema" : {
              "$ref" : "#/definitions/InitializationStatusResponse"
            }
          },
          "400" : {
            "description" : "Invalid request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post" : {
        "tags" : [ "admins" ],
        "summary" : "Initialization of the repository",
        "description" : "Initialization of the repository",
        "operationId" : "initializationRepository",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryIdentifier",
          "in" : "path",
          "description" : "Repository identifier (example: OS1)",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "The initialization is successful",
            "schema" : {
              "$ref" : "#/definitions/InitializationResponse"
            }
          },
          "400" : {
            "description" : "Invalid request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/repositories" : {
      "get" : {
        "tags" : [ "all users" ],
        "summary" : "Retrieve status for repositories in the domain",
        "description" : "Retrieve status for repositories in the domain",
        "operationId" : "getRepositoriesStatus",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "initializeOption",
          "in" : "query",
          "description" : "Specify repository information to be returned",
          "required" : false,
          "type" : "string",
          "default" : "initializedRepositories",
          "enum" : [ "initializedRepositories", "allRepositories" ]
        } ],
        "responses" : {
          "200" : {
            "description" : "Repository status retrieved",
            "schema" : {
              "$ref" : "#/definitions/RepositoriesStatusResponse"
            }
          },
          "400" : {
            "description" : "Invalid request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/repositories/{repositoryIdentifier}/cleanup" : {
      "post" : {
        "tags" : [ "admins" ],
        "summary" : "Clean up repository artifacts",
        "description" : "Clean up the from Content Platform Engine repository .\n <b> Repository cleanup is not recommended for runtime environment use.</b>\n To run the repository cleanup, a user must have Content Platform Engine administrator security for the repository and be a Doc Processing Manager.\n",
        "operationId" : "cleanupRepositoryArtifacts",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryIdentifier",
          "in" : "path",
          "description" : "Repository identifier (example: OS1)",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "options",
          "description" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/CleanRepositoryArtifactsOptions"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Cleaned up all project artifacts",
            "schema" : {
              "$ref" : "#/definitions/CleanRepositoryArtifactsResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/precheck" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "System check for Content Project Deployment Service",
        "description" : "Check that user has the permission to deploy a project, verifies that connections used for the Content Project Deployment Service are available, and reports the Content Analyzer Project database availability. The Project Identifier can be added as an optional query parameter if the Project Admin membership for deployment authorization check should be included in the evaluated.",
        "operationId" : "precheck",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectIdentifier",
          "in" : "query",
          "description" : "Project name (example: PRJ123)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Precheck of Content Project Deployment Service is successful.",
            "schema" : {
              "$ref" : "#/definitions/PrecheckStatusResponse"
            }
          },
          "400" : {
            "description" : "Invalid request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projectteamsupgrade" : {
      "post" : {
        "tags" : [ "doc processing managers" ],
        "summary" : "Upgrades the Automation Document Processing Project Teams",
        "description" : "Updates Project teams for changes required for the release.",
        "operationId" : "projectteamsupgrade",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "options",
          "description" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/TeamsUpgradeOptions"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Project Teams are successfully updated.",
            "schema" : {
              "$ref" : "#/definitions/ProjectTeamsUpgradeStatusResponse"
            }
          },
          "400" : {
            "description" : "Invalid request",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/deployment/projects/{projectIdentifier}/branches/{branchName}/snapshots/{snapshotName}" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "Details about the latest deployment of the project version",
        "description" : "Retrieve details about the latest deployment of the project version",
        "operationId" : "getDeployProject",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectIdentifier",
          "in" : "path",
          "description" : "Project name (example: PRJ123)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "branchName",
          "in" : "path",
          "description" : "Project branch name (master)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "snapshotName",
          "in" : "path",
          "description" : "Project version (example: v2-2020-11-11-2210)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved the deployment details",
            "schema" : {
              "$ref" : "#/definitions/GetDeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post" : {
        "tags" : [ "deployment users" ],
        "summary" : "Deploy a specified version of a project",
        "description" : "Deploy",
        "operationId" : "deployProject",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectIdentifier",
          "in" : "path",
          "description" : "Project name (example: PRJ123)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "branchName",
          "in" : "path",
          "description" : "Project branch name (master)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "snapshotName",
          "in" : "path",
          "description" : "Project version (example: v2-2020-11-11-2210)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "operationMode",
          "in" : "query",
          "description" : "Operation Mode",
          "required" : false,
          "type" : "string",
          "default" : "Sync",
          "enum" : [ "Sync", "Async" ]
        }, {
          "name" : "allowIncompatibleDesignChanges",
          "in" : "query",
          "description" : "Allow incompatible design change, if allowed will return incompatible changes as informational alerts and allow changes.",
          "required" : false,
          "type" : "boolean",
          "default" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully deployed the project version",
            "schema" : {
              "$ref" : "#/definitions/DeploymentResponse"
            }
          },
          "202" : {
            "description" : "Deployment partially created. It is in progress or failed to complete",
            "schema" : {
              "$ref" : "#/definitions/DeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/deployment/projects/{projectIdentifier}/branches/{branchName}/snapshots/{snapshotName}/precheck" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "Precheck deployment of a specified version of a project",
        "description" : "Use Precheck to find issues before you deploy. Precheck is done using the specified version of a project against the previous deployed version in the objects store. If the snapshotName specified has not been previously deployed in any object store, then the version is checked against the last deployed version in the design repository.",
        "operationId" : "precheckDeployProject",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectIdentifier",
          "in" : "path",
          "description" : "Project name (example: PRJ123)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "branchName",
          "in" : "path",
          "description" : "Project branch name (master)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "snapshotName",
          "in" : "path",
          "description" : "Project version (example: v2-2020-11-11-2210)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Precheck of project version is successful.",
            "schema" : {
              "$ref" : "#/definitions/PrecheckDeploymentResponse"
            }
          },
          "202" : {
            "description" : "Precheck completed. Address non-informational alerts before deployment.",
            "schema" : {
              "$ref" : "#/definitions/PrecheckDeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projects" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "List all deployed projects",
        "description" : "Lists deployed projects",
        "operationId" : "listProjects",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved the deployed projects",
            "schema" : {
              "$ref" : "#/definitions/ProjectsResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projects/{projectId}/versions" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "List information for all deployed versions of a project",
        "description" : "Lists information for all deployed versions of a project",
        "operationId" : "listProjectVersions",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID guid (example: 0756E6ED-97DB-4EB9-A188-DFD17C9028A3)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved the deployed version information",
            "schema" : {
              "$ref" : "#/definitions/VersionsResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projects/{projectId}" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "Retrieve details about a deployed project",
        "description" : "Retrieves details about a deployed project",
        "operationId" : "projectDeploymentRecord",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID guid (example: 0756E6ED-97DB-4EB9-A188-DFD17C9028A3)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved project details",
            "schema" : {
              "$ref" : "#/definitions/ProjectDeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projects/{projectId}/cleanup" : {
      "post" : {
        "tags" : [ "deployment users" ],
        "summary" : "Clean project deployment",
        "description" : "Removes documents and metadata from the Content Platform Engine repository and removes the associated Content Analyzer Project information.\n <b> Clean project is not recommended for runtime environment use.</b>\n  Do not run clean project on a project that is active. \n  To run clean project in the authoring environment, a user must be a Doc Processing Manager or Doc Processing Analyst.\n To run clean project in the runtime environment,the user must be a Doc Processing Manager and have Content Platform Engine administrator security for the repository.\n",
        "operationId" : "projectClean",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID guid (example: 0756E6ED-97DB-4EB9-A188-DFD17C9028A3)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "options",
          "description" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/CleanProjectOptions"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Cleaned up all project artifacts",
            "schema" : {
              "$ref" : "#/definitions/CleanProjectDeploymentResponse"
            }
          },
          "202" : {
            "description" : "Cleanup of project artifacts timed out. Please retry operation.",
            "schema" : {
              "$ref" : "#/definitions/CleanProjectDeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projects/{projectIdentifier}/teamscleanup" : {
      "post" : {
        "tags" : [ "doc processing managers" ],
        "summary" : "Clean up teams associated to the specified project identifier.",
        "description" : "In the Teams server, removes teams that are associated with the specified project identifier.\n <b> Clean up of Teams is not recommended for runtime environment use. \n NOTE: If the project is deployed to multiple Content Platform Engine repositories, the teams are shared.  Teams cleanup will remove all teams associated to the project name, making other deployments of the same project unusable. </b> \n Re-deploying the project will recreate the teams, but you must add all members again.",
        "operationId" : "teamsCleanup",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectIdentifier",
          "in" : "path",
          "description" : "Project name (example: PRJ123)",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "options",
          "description" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/TeamsCleanupOptions"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Cleaned up the teams associated to the Project Identifier",
            "schema" : {
              "$ref" : "#/definitions/TeamsCleanupResponse"
            }
          },
          "202" : {
            "description" : "Cleaned up the teams associated to the Project Identifier. Please retry operation.",
            "schema" : {
              "$ref" : "#/definitions/TeamsCleanupResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projectversions/{projectVersionId}" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "Retrieve the project version deployment details",
        "description" : "Retrieves the project version deployment details",
        "operationId" : "projectVersionDetails",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectVersionId",
          "in" : "path",
          "description" : "Project version ID guid (example: 9856E6ED-57DB-5EB9-B188-FFD17C9028A5)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully deployed the project",
            "schema" : {
              "$ref" : "#/definitions/ProjectVersionDeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/projectversions/{projectVersionId}/deploymentrecords" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "List deployment records for a project  version",
        "description" : "Lists deployment records for a project version",
        "operationId" : "listProjectVersionDeploymentRecords",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "projectVersionId",
          "in" : "path",
          "description" : "Project version ID guid (example: 9856E6ED-57DB-5EB9-B188-FFD17C9028A5)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully deployed the project",
            "schema" : {
              "$ref" : "#/definitions/ProjectVersionDeploymentResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/deploymentrecords/{deploymentRecordId}" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "Retrieve the deployment record information",
        "description" : "Retrieves the deployment record information",
        "operationId" : "getDeploymentRecord",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deploymentRecordId",
          "in" : "path",
          "description" : "Deployment Record guid (example: A756E6ED-47DB-6EB9-A188-BFD17C9028A7)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved the deployment information",
            "schema" : {
              "$ref" : "#/definitions/DeploymentLogRecordResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/deploymentrecords/{deploymentRecordId}/detailentries" : {
      "get" : {
        "tags" : [ "deployment users" ],
        "summary" : "Retrieve the deployment entry details for a deployment",
        "description" : "Retrieves the deployment entry details for the stages of the deployment",
        "operationId" : "getDeploymentRecordEntries",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deploymentRecordId",
          "in" : "path",
          "description" : "Deployment Record guid (example: A756E6ED-47DB-6EB9-A188-BFD17C9028A7)",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "repositoryIdentifier",
          "in" : "query",
          "description" : "Repository Identifier (example: OS1)",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "filterEntryType",
          "in" : "query",
          "description" : "Entry Type filter to return only ERROR type entries or ALL entries",
          "required" : false,
          "type" : "string",
          "enum" : [ "ALL", "ERROR" ]
        } ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved the deployment entries",
            "schema" : {
              "$ref" : "#/definitions/DeploymentRecordEntriesResponse"
            }
          },
          "400" : {
            "description" : "Invalid input",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "401" : {
            "description" : "Unauthorized"
          },
          "403" : {
            "description" : "Action not allowed by the user",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          },
          "500" : {
            "description" : "Internal error",
            "schema" : {
              "$ref" : "#/definitions/ErrorResponse"
            }
          }
        }
      }
    }
  },
  "definitions" : {
    "Info" : {
      "type" : "object",
      "required" : [ "build", "version" ],
      "properties" : {
        "version" : {
          "type" : "string"
        },
        "build" : {
          "type" : "string"
        }
      }
    },
    "InfoResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/Info"
        }
      }
    },
    "CleanProjectOptions" : {
      "type" : "object",
      "properties" : {
        "filterIncludeDocDetails" : {
          "type" : "boolean",
          "description" : "Returns the details of each deleted document, if true. False by default",
          "default" : false
        },
        "timeOutInSecs" : {
          "type" : "integer",
          "description" : "Limit the number of secs to clean up the documents of a project. If the time is too short, cleanup will not be complete. Default is 10 seconds"
        },
        "cleanPropertyTemplates" : {
          "type" : "boolean",
          "description" : "Removes the property templates associated with the project, if true. False by default",
          "default" : false
        },
        "cleanRoles" : {
          "type" : "boolean",
          "description" : "Removes the roles associated with the project, if true.  False by default",
          "default" : false
        }
      },
      "description" : "Clean options."
    },
    "CleanRepositoryArtifactsOptions" : {
      "type" : "object",
      "properties" : {
        "cleanOrphanedRoles" : {
          "type" : "boolean",
          "description" : "Removes the roles associated which are orphaned if true. If false, the roles are returned but not removed. True by default.",
          "default" : true
        }
      },
      "description" : "Clean repository artifacts options."
    },
    "TeamsCleanupOptions" : {
      "type" : "object",
      "properties" : {
        "cleanTeams" : {
          "type" : "boolean",
          "description" : "Removes the teams specified by the project identifier, if true. If false, returns teams that would be deleted",
          "default" : true
        }
      },
      "description" : "Teams cleanup options."
    },
    "TeamsUpgradeOptions" : {
      "type" : "object",
      "properties" : {
        "completeCheck" : {
          "type" : "boolean",
          "description" : "Checks all project teams and access settings, if true.  If false, checks that all project Project Admins are members of the Doc Processing ProjectAdmins team.",
          "default" : true
        }
      },
      "description" : "Teams update options."
    },
    "ApiStatus" : {
      "type" : "object",
      "required" : [ "code", "message", "messageId" ],
      "properties" : {
        "code" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "HTTP response code"
        },
        "messageId" : {
          "type" : "string",
          "description" : "The response message id"
        },
        "message" : {
          "type" : "string",
          "description" : "The response message"
        }
      }
    },
    "ErrorInfo" : {
      "type" : "object",
      "required" : [ "action", "errorId", "explanation" ],
      "properties" : {
        "errorId" : {
          "type" : "integer",
          "format" : "uint32",
          "description" : "Unique error id to identify the error"
        },
        "explanation" : {
          "type" : "string",
          "description" : "A detailed explanation of the error"
        },
        "action" : {
          "type" : "string",
          "description" : "The action the caller can take to possibly resolve the error"
        }
      }
    },
    "ErrorResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "errors" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ErrorInfo"
          }
        }
      }
    },
    "InitializationInfo" : {
      "type" : "object",
      "properties" : {
        "initializationStatus" : {
          "type" : "string",
          "description" : "Initialization status",
          "enum" : [ "Success", "Fail" ]
        },
        "elapsedTime" : {
          "type" : "integer",
          "description" : "Number of ms for initialization to complete"
        }
      }
    },
    "InitializationResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/InitializationInfo"
        }
      }
    },
    "InitializationStatusInfo" : {
      "type" : "object",
      "required" : [ "isInitialized" ],
      "properties" : {
        "isInitialized" : {
          "type" : "boolean",
          "description" : "Initialization status, FALSE if repository not up to date, TRUE repository is up to current version level"
        },
        "contentDeploymentMetadataVersion" : {
          "type" : "string"
        },
        "contentAnalyzerMetadataVersion" : {
          "type" : "string"
        },
        "contentAnalyzerHandlerVersion" : {
          "type" : "string"
        },
        "umsRoleHandlerMetadataVersion" : {
          "type" : "string"
        },
        "umsRoleHandlerVersion" : {
          "type" : "string"
        }
      }
    },
    "RepositoriesInitializationStatusInfo" : {
      "type" : "object",
      "properties" : {
        "repositoryIdentifier" : {
          "type" : "string",
          "description" : "Repository identifier"
        },
        "repositoryStatus" : {
          "$ref" : "#/definitions/InitializationStatusInfo"
        }
      }
    },
    "InitializationStatusResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/InitializationStatusInfo"
        }
      }
    },
    "RepositoriesStatusResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RepositoriesInitializationStatusInfo"
          }
        }
      }
    },
    "ResetResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/ResetInfo"
        }
      }
    },
    "ResetInfo" : {
      "type" : "object",
      "properties" : {
        "resetStatus" : {
          "type" : "string",
          "description" : "Reset status",
          "enum" : [ "Success", "Failure", "Warning" ]
        },
        "elapsedTime" : {
          "type" : "integer",
          "description" : "Number of ms for reset to complete"
        },
        "caProjectErrors" : {
          "type" : "array",
          "description" : "List of CA projects user needs to manually clean and errors from CA",
          "items" : {
            "$ref" : "#/definitions/CaProjectErrorInfo"
          }
        }
      }
    },
    "ResetManifest" : {
      "type" : "object",
      "properties" : {
        "timestamp" : {
          "type" : "string"
        },
        "symbolicName" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string"
        },
        "descriptiveText" : {
          "type" : "string"
        },
        "databaseConnection" : {
          "$ref" : "#/definitions/DatabaseConnectionInfo"
        },
        "databaseSchemaName" : {
          "type" : "string"
        },
        "databaseIndexStorageLocation" : {
          "type" : "string"
        },
        "databaseTableStorageLocation" : {
          "type" : "string"
        },
        "databaseLOBStorageLocation" : {
          "type" : "string"
        },
        "site" : {
          "$ref" : "#/definitions/SiteInfo"
        },
        "forceCaseInsensitiveSearch" : {
          "type" : "boolean"
        },
        "addOns" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AddOnInfo"
          }
        },
        "permissions" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PermissionInfo"
          }
        },
        "deployedProjectCAIds" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "description" : "Object Store Manifest for recovering from a previously failed reset. Only used if the specified object store (repositoryIdentifier) does not exist."
    },
    "DatabaseConnectionInfo" : {
      "type" : "object",
      "required" : [ "displayName", "id" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        }
      }
    },
    "SiteInfo" : {
      "type" : "object",
      "required" : [ "displayName", "id" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        }
      }
    },
    "AddOnInfo" : {
      "type" : "object",
      "required" : [ "displayName", "id" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        }
      }
    },
    "PermissionInfo" : {
      "type" : "object",
      "required" : [ "accessMask", "granteeName", "type" ],
      "properties" : {
        "accessMask" : {
          "type" : "integer"
        },
        "granteeName" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string",
          "enum" : [ "Admin", "User" ]
        }
      }
    },
    "CaProjectErrorInfo" : {
      "type" : "object",
      "properties" : {
        "caProjectId" : {
          "type" : "string"
        },
        "caProjectError" : {
          "$ref" : "#/definitions/ErrorInfo"
        }
      }
    },
    "DeploymentStatusInfo" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "enum" : [ "New", "Redeploy" ]
        },
        "status" : {
          "type" : "string",
          "description" : "Status of deployment",
          "enum" : [ "Success", "Failure", "InProgress" ]
        }
      }
    },
    "DeploymentInfo" : {
      "type" : "object",
      "properties" : {
        "deploymentStatus" : {
          "$ref" : "#/definitions/DeploymentStatusInfo"
        },
        "projectId" : {
          "type" : "string",
          "description" : "Project Id guid"
        },
        "projectVersionId" : {
          "type" : "string",
          "description" : "Project Version Id"
        },
        "projectIdentifier" : {
          "type" : "string",
          "description" : "Project Identifier (repoPrimaryKey)"
        },
        "branchName" : {
          "type" : "string",
          "description" : "Current Branch Name"
        },
        "snapshotName" : {
          "type" : "string",
          "description" : "Snapshot Name"
        },
        "repositoryIdentifier" : {
          "type" : "string",
          "description" : "Repository Identifier"
        },
        "caProjectDescriptor" : {
          "type" : "string"
        },
        "lastDeploymentRecordId" : {
          "type" : "string",
          "description" : "Deployment record Id"
        },
        "deployedServiceVersion" : {
          "type" : "string",
          "description" : "Version of the deployment service at time of deployment"
        },
        "precheckDetails" : {
          "$ref" : "#/definitions/PrecheckCollectionData"
        }
      }
    },
    "DeploymentResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/DeploymentInfo"
        }
      }
    },
    "GetDeploymentResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/DeploymentInfo"
        }
      }
    },
    "ProjectInfo" : {
      "type" : "object",
      "required" : [ "currentVersionId", "displayName", "id", "lastSnapshotName", "lastVersionId", "projectIdentifier" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "currentVersionId" : {
          "type" : "string",
          "description" : "Current successfully deployed project Version Id"
        },
        "displayName" : {
          "type" : "string"
        },
        "projectIdentifier" : {
          "type" : "string"
        },
        "currentBranchName" : {
          "type" : "string",
          "description" : "Current Branch Name"
        },
        "currentSnapshotName" : {
          "type" : "string",
          "description" : "Current Snapshot Name"
        },
        "lastVersionId" : {
          "type" : "string",
          "description" : "Latest Deployed Project Version Id"
        },
        "lastBranchName" : {
          "type" : "string",
          "description" : "Latest Branch Name"
        },
        "lastSnapshotName" : {
          "type" : "string",
          "description" : "Latest Snapshot Name"
        }
      }
    },
    "ProjectsCollectionData" : {
      "type" : "object",
      "properties" : {
        "projects" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ProjectInfo"
          }
        }
      }
    },
    "ProjectsResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/ProjectsCollectionData"
        }
      }
    },
    "VersionInfo" : {
      "type" : "object",
      "required" : [ "displayName", "id", "lastDeploymentRecordId" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        },
        "lastDeploymentRecordId" : {
          "type" : "string"
        },
        "branchName" : {
          "type" : "string",
          "description" : "Branch Name"
        },
        "snapshotName" : {
          "type" : "string",
          "description" : "Snapshot Name"
        }
      }
    },
    "VersionsResponseData" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "projectIdentifier" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        },
        "projectVersions" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/VersionInfo"
          }
        }
      }
    },
    "VersionsResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/VersionsResponseData"
        }
      }
    },
    "ProjectDeploymentResponseData" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "projectIdentifier" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        },
        "currentVersionId" : {
          "type" : "string"
        },
        "lastVersionId" : {
          "type" : "string"
        },
        "lastDeploymentRecordId" : {
          "type" : "string"
        },
        "lastDeploymentCompletionTime" : {
          "type" : "string"
        },
        "currentDeploymentRecordId" : {
          "type" : "string"
        },
        "currentDeploymentCompletionTime" : {
          "type" : "string"
        },
        "currentBranchName" : {
          "type" : "string",
          "description" : "Current Branch Name"
        },
        "currentSnapshotName" : {
          "type" : "string",
          "description" : "Current Snapshot Name"
        },
        "lastBranchName" : {
          "type" : "string",
          "description" : "Latest Branch Name"
        },
        "lastSnapshotName" : {
          "type" : "string",
          "description" : "Latest Snapshot Name"
        },
        "deployedServiceVersion" : {
          "type" : "string",
          "description" : "Version of the deployment service at time of deployment"
        }
      }
    },
    "ProjectDeploymentResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/ProjectDeploymentResponseData"
        }
      }
    },
    "ProjectVersionDeploymentRecordInfo" : {
      "type" : "object",
      "required" : [ "completionStatus", "completionTime", "id", "isLatest", "startTime" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "startTime" : {
          "type" : "string"
        },
        "completionTime" : {
          "type" : "string"
        },
        "completionStatus" : {
          "type" : "string",
          "description" : "Status of deployment",
          "enum" : [ "Success", "Failed", "InProgress" ]
        },
        "isLatest" : {
          "type" : "boolean"
        }
      }
    },
    "ProjectVersionDeploymentResponseData" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "projectIdentifier" : {
          "type" : "string",
          "description" : "repoPrimaryKey"
        },
        "branchName" : {
          "type" : "string",
          "description" : "Branch Name"
        },
        "snapshotName" : {
          "type" : "string",
          "description" : "Snapshot Name"
        },
        "caProjectDescriptor" : {
          "type" : "string"
        },
        "deploymentRecords" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ProjectVersionDeploymentRecordInfo"
          }
        }
      }
    },
    "ProjectVersionDeploymentResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/ProjectVersionDeploymentResponseData"
        }
      }
    },
    "GITRepoRetrievalStatusInfo" : {
      "type" : "object",
      "properties" : {
        "dataDefinitionsParsed" : {
          "type" : "integer",
          "description" : "number of data definitions parsed"
        },
        "gitElapsedTime" : {
          "type" : "integer",
          "description" : "GIT elapsed time in ms"
        }
      }
    },
    "DeploymentLogInfo" : {
      "type" : "object",
      "required" : [ "completionStatus", "completionTime", "gitRepoRetrievalStatus", "newProject", "newVersion", "stages", "startTime", "totalElapsedTime" ],
      "properties" : {
        "startTime" : {
          "type" : "string"
        },
        "completionTime" : {
          "type" : "string"
        },
        "completionStatus" : {
          "description" : "Status of deployment"
        },
        "currentStage" : {
          "description" : "Current Stage of Deployment, not returned if completed"
        },
        "stages" : {
          "type" : "array",
          "description" : "List of stages in order",
          "items" : {
            "type" : "string"
          }
        },
        "lastError" : {
          "type" : "string",
          "description" : "If returned, the value will have a string of the last error"
        },
        "newProject" : {
          "type" : "boolean"
        },
        "newVersion" : {
          "type" : "boolean"
        },
        "totalElapsedTime" : {
          "type" : "integer",
          "description" : "elapsed time in ms"
        },
        "totalTeams" : {
          "type" : "integer"
        },
        "newTeams" : {
          "type" : "integer"
        },
        "teamsElapsedTime" : {
          "type" : "integer",
          "description" : "elapsed time in ms"
        },
        "existingRoles" : {
          "type" : "integer"
        },
        "precheckElapsedTime" : {
          "type" : "integer",
          "description" : "elapsed time in ms"
        },
        "firstDeploymentAnywhere" : {
          "type" : "boolean"
        },
        "gitRepoRetrievalStatus" : {
          "$ref" : "#/definitions/GITRepoRetrievalStatusInfo"
        }
      }
    },
    "ContentEngineStatusInfo" : {
      "type" : "object",
      "required" : [ "existingPropertyTemplates", "newPropertyTemplates", "propertiesAndClassesElapsedTime", "totalClasses", "totalPropertyTemplates" ],
      "properties" : {
        "totalPropertyTemplates" : {
          "type" : "integer"
        },
        "newPropertyTemplates" : {
          "type" : "integer"
        },
        "existingPropertyTemplates" : {
          "type" : "integer"
        },
        "totalClasses" : {
          "type" : "integer"
        },
        "newClasses" : {
          "type" : "integer"
        },
        "existingClasses" : {
          "type" : "integer"
        },
        "totalRoles" : {
          "type" : "integer"
        },
        "newRoles" : {
          "type" : "integer"
        },
        "existingRoles" : {
          "type" : "integer"
        },
        "propertiesAndClassesElapsedTime" : {
          "type" : "integer"
        },
        "rolesElapsedTime" : {
          "type" : "integer"
        }
      }
    },
    "ContentAnalyzerStatusInfo" : {
      "type" : "object",
      "required" : [ "newProject", "ontologyElapsedTime", "projectCreationElapsedTime" ],
      "properties" : {
        "newProject" : {
          "type" : "boolean"
        },
        "startTime" : {
          "type" : "string"
        },
        "projectCreationElapsedTime" : {
          "type" : "integer"
        },
        "ontologyElapsedTime" : {
          "type" : "integer"
        },
        "mashineLearningElapsedTime" : {
          "type" : "integer"
        }
      }
    },
    "DeploymentLogResponseData" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "projectId" : {
          "type" : "string"
        },
        "projectVersionId" : {
          "type" : "string"
        },
        "projectIdentifier" : {
          "type" : "string",
          "description" : "repoPrimaryKey"
        },
        "branchName" : {
          "type" : "string",
          "description" : "Branch Name"
        },
        "snapshotName" : {
          "type" : "string",
          "description" : "Snapshot Name"
        },
        "caProjectDescriptor" : {
          "type" : "string"
        },
        "information" : {
          "$ref" : "#/definitions/DeploymentLogInfo"
        },
        "contentEngineStatus" : {
          "$ref" : "#/definitions/ContentEngineStatusInfo"
        },
        "contentAnalyzerStatus" : {
          "$ref" : "#/definitions/ContentAnalyzerStatusInfo"
        }
      }
    },
    "DeploymentLogRecordResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/DeploymentLogResponseData"
        }
      }
    },
    "DeploymentLogEntryInfo" : {
      "type" : "object",
      "required" : [ "entryTime", "entryType", "message" ],
      "properties" : {
        "entryTime" : {
          "type" : "string"
        },
        "entryType" : {
          "type" : "string",
          "description" : "Deployment Entry type",
          "enum" : [ "Detail", "Error" ]
        },
        "message" : {
          "type" : "string"
        }
      }
    },
    "DeploymentRecordEntriesResponseData" : {
      "type" : "object",
      "properties" : {
        "deploymentRecordId" : {
          "type" : "string"
        },
        "detailEntries" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/DeploymentLogEntryInfo"
          }
        }
      }
    },
    "DeploymentRecordEntriesResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/DeploymentRecordEntriesResponseData"
        }
      }
    },
    "DocumentDetailInfo" : {
      "type" : "object",
      "required" : [ "className", "id", "name" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "className" : {
          "type" : "string"
        }
      }
    },
    "DocumentsCountDetailInfo" : {
      "type" : "object",
      "required" : [ "className", "count" ],
      "properties" : {
        "count" : {
          "type" : "integer"
        },
        "className" : {
          "type" : "string"
        }
      }
    },
    "DocumentClassDetailInfo" : {
      "type" : "object",
      "required" : [ "id", "symbolicName" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "symbolicName" : {
          "type" : "string"
        }
      }
    },
    "RoleDetailInfo" : {
      "type" : "object",
      "required" : [ "displayName", "id", "roleClassName" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "displayName" : {
          "type" : "string"
        },
        "roleClassName" : {
          "type" : "string"
        },
        "umsTeamUUID" : {
          "type" : "string"
        }
      }
    },
    "TeamDetailInfo" : {
      "type" : "object",
      "required" : [ "displayName", "distinguishedName", "uuid" ],
      "properties" : {
        "displayName" : {
          "type" : "string"
        },
        "distinguishedName" : {
          "type" : "string"
        },
        "uuid" : {
          "type" : "string"
        }
      }
    },
    "PropertyTemplateDetailInfo" : {
      "type" : "object",
      "required" : [ "id", "symbolicName" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "symbolicName" : {
          "type" : "string"
        }
      }
    },
    "ProjectVersionDetailInfo" : {
      "type" : "object",
      "required" : [ "id", "snapshotName" ],
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "snapshotName" : {
          "type" : "string"
        }
      }
    },
    "CleanArtifactsCollectionData" : {
      "type" : "object",
      "properties" : {
        "roleDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RoleDetailInfo"
          }
        }
      }
    },
    "CleanProjectCollectionData" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "caProjectDescriptor" : {
          "type" : "string"
        },
        "documentDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/DocumentDetailInfo"
          }
        },
        "documentsCountDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/DocumentsCountDetailInfo"
          }
        },
        "documentClassDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/DocumentClassDetailInfo"
          }
        },
        "roleDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/RoleDetailInfo"
          }
        },
        "projectVersionDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ProjectVersionDetailInfo"
          }
        },
        "propertyTemplateDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PropertyTemplateDetailInfo"
          }
        }
      }
    },
    "CleanRepositoryArtifactsResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/CleanArtifactsCollectionData"
        }
      }
    },
    "CleanProjectDeploymentResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/CleanProjectCollectionData"
        }
      }
    },
    "TeamsCleanupResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/TeamsCleanupCollectionData"
        }
      }
    },
    "TeamsCleanupCollectionData" : {
      "type" : "object",
      "properties" : {
        "teamDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/TeamDetailInfo"
          }
        }
      }
    },
    "TeamsCollectionData" : {
      "type" : "object",
      "properties" : {
        "teamDetails" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/TeamDetailInfo"
          }
        }
      }
    },
    "ProjectTeamsUpgradeStatusResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/TeamsCollectionData"
        }
      }
    },
    "PrecheckDeploymentResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/PrecheckCollectionData"
        }
      }
    },
    "PrecheckCollectionData" : {
      "type" : "object",
      "properties" : {
        "alerts" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PrecheckAlertInfo"
          }
        },
        "propertyTemplates" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PrecheckPropertyTemplateInfo"
          }
        },
        "classes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PrecheckClassInfo"
          }
        },
        "firstDeploymentAnywhere" : {
          "type" : "boolean"
        }
      }
    },
    "PolicyEnum" : {
      "type" : "string",
      "enum" : [ "None", "Indefinite", "Permanent", "Custom" ],
      "default" : "Indefinite"
    },
    "PeriodUnitEnum" : {
      "type" : "string",
      "enum" : [ "Minutes", "Hours", "Days", "Weeks", "Months", "Years" ]
    },
    "RetentionInfo" : {
      "type" : "object",
      "properties" : {
        "policy" : {
          "$ref" : "#/definitions/PolicyEnum"
        },
        "periodUnit" : {
          "$ref" : "#/definitions/PeriodUnitEnum"
        },
        "periodValue" : {
          "type" : "integer"
        }
      },
      "description" : "Specifies the retention info"
    },
    "PrecheckAlertInfo" : {
      "type" : "object",
      "required" : [ "referenceId" ],
      "properties" : {
        "referenceId" : {
          "type" : "integer",
          "description" : "Reference Id used to locate class, property template, property or sub property. These should be matched with the referenceId in PrecheckClassInfo, PrecheckPropertyInfo, PrecheckPropertyTemplateInfo and PrecheckSubPropertyInfo"
        },
        "artifactType" : {
          "$ref" : "#/definitions/ArtifactTypeEnum"
        },
        "classSymbolicName" : {
          "type" : "string",
          "description" : "Class symbolic name when alert is for Class or Property"
        },
        "propertySymbolicName" : {
          "type" : "string",
          "description" : "Property symmbolic name"
        },
        "changeSourceType" : {
          "$ref" : "#/definitions/ChangeSourceTypeEnum"
        },
        "changeType" : {
          "$ref" : "#/definitions/ChangeTypeEnum"
        },
        "newSetting" : {
          "type" : "string",
          "description" : "New setting from snapshot"
        },
        "existingSetting" : {
          "type" : "string",
          "description" : "Existing setting"
        },
        "newRetentionSetting" : {
          "description" : "For retention type this is the new setting from snapshot",
          "$ref" : "#/definitions/RetentionInfo"
        },
        "existingRetentionSetting" : {
          "description" : "For retention type this is the existing setting",
          "$ref" : "#/definitions/RetentionInfo"
        },
        "alertSeverity" : {
          "$ref" : "#/definitions/AlertSeverityEnum"
        },
        "alertCode" : {
          "type" : "string",
          "description" : "Alert code"
        },
        "alertMessage" : {
          "type" : "string",
          "description" : "Alert localizable message describe details of alert"
        },
        "alertAction" : {
          "type" : "string",
          "description" : "Alert action to take which corrects the alert"
        }
      }
    },
    "PrecheckClassInfo" : {
      "type" : "object",
      "required" : [ "referenceId", "symbolicName" ],
      "properties" : {
        "referenceId" : {
          "type" : "integer",
          "description" : "Reference Id user to locate class, template or property"
        },
        "displayName" : {
          "type" : "string",
          "description" : "Display name of class"
        },
        "symbolicName" : {
          "type" : "string",
          "description" : "Symbolic name of class"
        },
        "definitionFile" : {
          "type" : "string",
          "description" : "Design repo file name"
        },
        "classProperties" : {
          "type" : "array",
          "description" : "Class  properties",
          "items" : {
            "$ref" : "#/definitions/PrecheckPropertyInfo"
          }
        }
      }
    },
    "PrecheckSubPropertyInfo" : {
      "type" : "object",
      "required" : [ "definitionName", "referenceId" ],
      "properties" : {
        "referenceId" : {
          "type" : "integer",
          "description" : "Reference Id user to locate class, template or property"
        },
        "definitionName" : {
          "type" : "string",
          "description" : "Definition name"
        },
        "displayName" : {
          "type" : "string",
          "description" : "Display name of class"
        },
        "cardinality" : {
          "$ref" : "#/definitions/CardinalityEnum"
        },
        "dataType" : {
          "$ref" : "#/definitions/DataTypeEnum"
        },
        "subProperties" : {
          "type" : "array",
          "description" : "Composite sub properties",
          "items" : {
            "$ref" : "#/definitions/PrecheckSubPropertyInfo"
          }
        }
      }
    },
    "PrecheckPropertyInfo" : {
      "type" : "object",
      "required" : [ "definitionName", "referenceId", "symbolicName" ],
      "properties" : {
        "referenceId" : {
          "type" : "integer",
          "description" : "Reference Id user to locate class, template or property"
        },
        "symbolicName" : {
          "type" : "string",
          "description" : "Symbolic name of class"
        },
        "definitionName" : {
          "type" : "string",
          "description" : "Definition name"
        },
        "displayName" : {
          "type" : "string",
          "description" : "Display name of class"
        },
        "cardinality" : {
          "$ref" : "#/definitions/CardinalityEnum"
        },
        "dataType" : {
          "$ref" : "#/definitions/DataTypeEnum"
        },
        "dataDefinitionFile" : {
          "type" : "string",
          "description" : "Design repo common data definition file"
        },
        "subProperties" : {
          "type" : "array",
          "description" : "Composite sub properties",
          "items" : {
            "$ref" : "#/definitions/PrecheckSubPropertyInfo"
          }
        }
      }
    },
    "DataTypeEnum" : {
      "type" : "string",
      "description" : "Data type of String, Boolean, DateTime, Integer, Float or Composite",
      "enum" : [ "String", "Boolean", "DateTime", "Integer", "Float", "Composite" ]
    },
    "CardinalityEnum" : {
      "type" : "string",
      "description" : "Specifies the cardinality: Single or Multi",
      "enum" : [ "Single", "Multi" ]
    },
    "ArtifactTypeEnum" : {
      "type" : "string",
      "description" : "class, property template or property",
      "enum" : [ "Class", "PropertyTemplate", "Property", "SubProperty" ]
    },
    "ChangeSourceTypeEnum" : {
      "type" : "string",
      "description" : "",
      "enum" : [ "DesignRepo", "ObjectStore" ]
    },
    "ChangeTypeEnum" : {
      "type" : "string",
      "description" : "",
      "enum" : [ "DataType", "Cardinality", "MininumValue", "MaximumValue", "MaximumLength", "IsValueRequired", "PropertyAdded", "PropertyRemoved", "ClassAdded", "ClassRemoved", "RetentionChanged" ]
    },
    "AlertSeverityEnum" : {
      "type" : "string",
      "description" : "Alert severity",
      "enum" : [ "Informational", "ExistingDataImpact", "Incompatible" ]
    },
    "PrecheckPropertyTemplateInfo" : {
      "type" : "object",
      "required" : [ "referenceId", "symbolicName" ],
      "properties" : {
        "referenceId" : {
          "type" : "integer",
          "description" : "Reference Id user to locate template"
        },
        "symbolicName" : {
          "type" : "string",
          "description" : "Symbolic name of property template"
        },
        "definitionName" : {
          "type" : "string",
          "description" : "Definition name from the design repo for property template"
        },
        "cardinality" : {
          "$ref" : "#/definitions/CardinalityEnum"
        },
        "dataType" : {
          "$ref" : "#/definitions/DataTypeEnum"
        },
        "dataDefinitionFile" : {
          "type" : "string",
          "description" : "Design repo common data definition file"
        },
        "displayName" : {
          "type" : "string",
          "description" : "Display name of property template"
        },
        "subProperties" : {
          "type" : "array",
          "description" : "Composite sub properties",
          "items" : {
            "$ref" : "#/definitions/PrecheckSubPropertyInfo"
          }
        }
      }
    },
    "PrecheckConnectionStatus" : {
      "type" : "string",
      "description" : "Success if connection can be made, else status is Failed",
      "enum" : [ "Success", "Failed" ]
    },
    "PrecheckStatusInfo" : {
      "type" : "object",
      "properties" : {
        "canDeploy" : {
          "type" : "boolean",
          "description" : "If true, the logged in user has permission to deploy"
        },
        "cpeConnectionState" : {
          "$ref" : "#/definitions/PrecheckConnectionStatus"
        },
        "cpeConnectionError" : {
          "$ref" : "#/definitions/ErrorInfo"
        },
        "gitConnectionState" : {
          "$ref" : "#/definitions/PrecheckConnectionStatus"
        },
        "gitConnectionError" : {
          "$ref" : "#/definitions/ErrorInfo"
        },
        "umsTeamConnectionState" : {
          "$ref" : "#/definitions/PrecheckConnectionStatus"
        },
        "umsTeamConnectionError" : {
          "$ref" : "#/definitions/ErrorInfo"
        },
        "caConnectionState" : {
          "$ref" : "#/definitions/PrecheckConnectionStatus"
        },
        "caConnectionError" : {
          "$ref" : "#/definitions/ErrorInfo"
        },
        "caProjectsAvailable" : {
          "type" : "integer",
          "description" : "Content Analyzer Projects available"
        },
        "caProjectsUsed" : {
          "type" : "integer",
          "description" : "Content Analyzer Projects available"
        },
        "caProjectsDeleteState" : {
          "type" : "integer",
          "description" : "Content Analyzer Projects in delete state"
        }
      }
    },
    "PrecheckStatusResponse" : {
      "type" : "object",
      "properties" : {
        "status" : {
          "$ref" : "#/definitions/ApiStatus"
        },
        "data" : {
          "$ref" : "#/definitions/PrecheckStatusInfo"
        }
      }
    }
  },
  "parameters" : {
    "repositoryIdentifier" : {
      "name" : "repositoryIdentifier",
      "in" : "path",
      "description" : "Repository identifier (example: OS1)",
      "required" : true,
      "type" : "string"
    },
    "projectId" : {
      "name" : "projectId",
      "in" : "path",
      "description" : "Project ID guid (example: 0756E6ED-97DB-4EB9-A188-DFD17C9028A3)",
      "required" : true,
      "type" : "string"
    },
    "branchName" : {
      "name" : "branchName",
      "in" : "path",
      "description" : "Project branch name (master)",
      "required" : true,
      "type" : "string"
    },
    "snapshotName" : {
      "name" : "snapshotName",
      "in" : "path",
      "description" : "Project version (example: v2-2020-11-11-2210)",
      "required" : true,
      "type" : "string"
    },
    "projectIdentifier" : {
      "name" : "projectIdentifier",
      "in" : "path",
      "description" : "Project name (example: PRJ123)",
      "required" : true,
      "type" : "string"
    },
    "projectIdentifierOptional" : {
      "name" : "projectIdentifier",
      "in" : "query",
      "description" : "Project name (example: PRJ123)",
      "required" : false,
      "type" : "string"
    },
    "projectVersionId" : {
      "name" : "projectVersionId",
      "in" : "path",
      "description" : "Project version ID guid (example: 9856E6ED-57DB-5EB9-B188-FFD17C9028A5)",
      "required" : true,
      "type" : "string"
    },
    "deploymentRecordId" : {
      "name" : "deploymentRecordId",
      "in" : "path",
      "description" : "Deployment Record guid (example: A756E6ED-47DB-6EB9-A188-BFD17C9028A7)",
      "required" : true,
      "type" : "string"
    },
    "initializationStatusOption" : {
      "name" : "initializeOption",
      "in" : "query",
      "description" : "Specify repository information to be returned",
      "required" : false,
      "type" : "string",
      "default" : "initializedRepositories",
      "enum" : [ "initializedRepositories", "allRepositories" ]
    }
  }
}