

```json
{
  "openapi": "3.0.1",
  "info": {
    "contact": {
      "name": "API Support"
    },
    "description": "Storage service provides the endpoints for managing datasets and artifacts.",
    "license": {
      "name": "Unity Legal",
      "url": "https://unity.com/legal"
    },
    "title": "Storage Service API",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "description": "Production",
      "url": "https://services.api.unity.com/assets/storage/v1"
    }
  ],
  "paths": {
    "/organizations/{organizationId}/vcs-integrations": {
      "parameters": [
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Lists all VCS integrations under the specified organization.",
        "operationId": "GetVcsIntegrations",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "int representing number of items to skip",
            "in": "query",
            "name": "offset",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "int representing max returned items",
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVcsIntegrationsResponse"
                }
              }
            },
            "description": "Returns an object containing a list of integrations."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to list integrations."
          }
        },
        "summary": "Lists all VCS integrations under the specified organization.",
        "tags": [
          "VCSIntegrations"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs": {
      "parameters": [
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "description": "Creates a new UVCS integration under the specified organization.",
        "operationId": "CreateUvcsIntegration",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUvcsIntegrationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUvcsIntegrationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUvcsIntegrationRequest"
              }
            }
          },
          "description": "The UVCS integration information."
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VcsIntegrationDto"
                }
              }
            },
            "description": "Returns the newly created UVCS integration."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to create UVCS integrations."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no administrator rights to any UVCS organization, or the organizations are read-only."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If a UVCS integration with the same name already exists under the organization."
          }
        },
        "summary": "Creates a new UVCS integration under the specified organization.",
        "tags": [
          "VCSIntegrations"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs/{integrationId}": {
      "parameters": [
        {
          "description": "Path parameter integrationId",
          "in": "path",
          "name": "integrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Gets a UVCS integration.",
        "operationId": "GetUvcsIntegration",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VcsIntegrationDto"
                }
              }
            },
            "description": "Returns the UVCS integration."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to read the UVCS integration."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the UVCS integration does not exist."
          }
        },
        "summary": "Gets a UVCS integration.",
        "tags": [
          "VCSIntegrations"
        ]
      },
      "put": {
        "description": "Updates an existing UVCS integration.",
        "operationId": "UpdateUvcsIntegration",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUvcsIntegrationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUvcsIntegrationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUvcsIntegrationRequest"
              }
            }
          },
          "description": "The updated UVCS integration information."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VcsIntegrationDto"
                }
              }
            },
            "description": "Returns the updated UVCS integration."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to update UVCS integrations."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no administrator rights to any UVCS organization, or the organizations are read-only."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If a UVCS integration with the given id does not exist."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If a UVCS integration with the same name already exists under the organization."
          }
        },
        "summary": "Updates an existing UVCS integration.",
        "tags": [
          "VCSIntegrations"
        ]
      },
      "delete": {
        "description": "Deletes a UVCS integration.",
        "operationId": "DeleteUvcsIntegration",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "If the UVCS integration was successfully deleted."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to delete UVCS integrations."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the UVCS integration does not exist."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the UVCS integration is in use by one or more datasets."
          }
        },
        "summary": "Deletes a UVCS integration.",
        "tags": [
          "VCSIntegrations"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs/{integrationId}/organizations": {
      "parameters": [
        {
          "description": "Path parameter integrationId",
          "in": "path",
          "name": "integrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Lists all UVCS organizations that are readable by the current user.",
        "operationId": "GetOrganizations",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The VCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "int representing number of items to skip",
            "in": "query",
            "name": "offset",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "int representing max returned items",
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListUvcsOrganizationsResponse"
                }
              }
            },
            "description": "Returns an object containing a list of UVCS organizations."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to list UVCS organizations."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the VCS integration was not found."
          }
        },
        "summary": "Lists all UVCS organizations that are readable by the current user.",
        "tags": [
          "VCSBrowser"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs/{integrationId}/organizations/{organizationName}/repositories": {
      "parameters": [
        {
          "description": "Path parameter integrationId",
          "in": "path",
          "name": "integrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter organizationName",
          "in": "path",
          "name": "organizationName",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Lists all UVCS repositories that are readable by the current user.",
        "operationId": "GetRepositories",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The VCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS organization name.",
            "in": "path",
            "name": "organizationName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "int representing number of items to skip",
            "in": "query",
            "name": "offset",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "int representing max returned items",
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListUvcsRepositoriesResponse"
                }
              }
            },
            "description": "Returns an object containing a list of UVCS repositories."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to list UVCS repositories."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the VCS integration or UVCS organization was not found."
          }
        },
        "summary": "Lists all UVCS repositories that are readable by the current user.",
        "tags": [
          "VCSBrowser"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs/{integrationId}/organizations/{organizationName}/repositories/{repositoryName}/branches": {
      "parameters": [
        {
          "description": "Path parameter integrationId",
          "in": "path",
          "name": "integrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter organizationName",
          "in": "path",
          "name": "organizationName",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter repositoryName",
          "in": "path",
          "name": "repositoryName",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Lists all branches that are readable by the current user in the repository.",
        "operationId": "GetBranches",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The VCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS organization name.",
            "in": "path",
            "name": "organizationName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The repository name.",
            "in": "path",
            "name": "repositoryName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "int representing number of items to skip",
            "in": "query",
            "name": "offset",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "int representing max returned items",
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListUvcsBranchesResponse"
                }
              }
            },
            "description": "Returns an object containing a list of branches."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to list branches."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the VCS integration, UVCS organization or UVCS repository was not found."
          }
        },
        "summary": "Lists all branches that are readable by the current user in the repository.",
        "tags": [
          "VCSBrowser"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs/{integrationId}/organizations/{organizationName}/repositories/{repositoryName}/branches/{branchName}/folder-info/(.*)": {
      "parameters": [
        {
          "description": "Path parameter branchName",
          "in": "path",
          "name": "branchName",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter integrationId",
          "in": "path",
          "name": "integrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter organizationName",
          "in": "path",
          "name": "organizationName",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter repositoryName",
          "in": "path",
          "name": "repositoryName",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Get folder information (files, folders and total size in bytes) from a branch. This operation is valid for folders only.",
        "operationId": "GetFolderInfo",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The VCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS organization name.",
            "in": "path",
            "name": "organizationName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The repository name.",
            "in": "path",
            "name": "repositoryName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The branch name.",
            "in": "path",
            "name": "branchName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If true, traverse the entire directory tree.",
            "in": "query",
            "name": "recursive",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FolderInfoDto"
                }
              }
            },
            "description": "Returns an object containing the number of files, folders and total size in bytes."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the informed path does not resolve to a folder."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to retrieve folder information."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the VCS integration, UVCS organization, UVCS repository or UVCS filepath was not found."
          }
        },
        "summary": "Get folder information (files, folders and total size in bytes) from a branch.",
        "tags": [
          "VCSBrowser"
        ]
      }
    },
    "/organizations/{organizationId}/vcs-integrations/uvcs/{integrationId}/organizations/{organizationName}/repositories/{repositoryName}/branches/{branchName}/items/(.*)": {
      "parameters": [
        {
          "description": "Path parameter branchName",
          "in": "path",
          "name": "branchName",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter integrationId",
          "in": "path",
          "name": "integrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Genesis ID of the organization",
          "in": "path",
          "name": "organizationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter organizationName",
          "in": "path",
          "name": "organizationName",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter repositoryName",
          "in": "path",
          "name": "repositoryName",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Lists all items that are available in the specified repository and branch.",
        "operationId": "GetBranchItems",
        "parameters": [
          {
            "description": "The Unity organization identifier.",
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The VCS integration identifier.",
            "in": "path",
            "name": "integrationId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The UVCS organization name.",
            "in": "path",
            "name": "organizationName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The repository name.",
            "in": "path",
            "name": "repositoryName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The branch name.",
            "in": "path",
            "name": "branchName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "int representing number of items to skip",
            "in": "query",
            "name": "offset",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "int representing max returned items",
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListUvcsBranchItemsResponse"
                }
              }
            },
            "description": "Returns an object containing a list of items."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user is not authorized to list items."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the VCS integration, UVCS organization, UVCS repository or UVCS filepath was not found."
          }
        },
        "summary": "Lists all items that are available in the specified repository and branch.",
        "tags": [
          "VCSBrowser"
        ]
      }
    },
    "/projects/{projectId}/assets/{assetId}/versions/{assetVersion}/datasets/{dataSetId}/files/(.*)": {
      "parameters": [
        {
          "description": "Path parameter assetId",
          "in": "path",
          "name": "assetId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter assetVersion",
          "in": "path",
          "name": "assetVersion",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter dataSetId",
          "in": "path",
          "name": "dataSetId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Project ID",
          "in": "path",
          "name": "projectId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Downloads the specified asset artifact by redirecting to a cloud storage URL. When width or height parameters are informed, and the artifact is a supported image format (image/jpeg, image/gif, image/png, image/tiff, image/webp), it resizes the artifact. If both width and height are informed, the resized image may not preserve its aspect ratio. The minimum resized image dimensions are 2x2 pixels; the maximum resized image dimensions are 3850x3850 pixels.",
        "operationId": "GetArtifactByProjectIdAndAssetId",
        "parameters": [
          {
            "description": "Project identifier.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Asset identifier.",
            "in": "path",
            "name": "assetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Asset version.",
            "in": "path",
            "name": "assetVersion",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Dataset identifier.",
            "in": "path",
            "name": "dataSetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Width of the resized image, in quantized intervals of 50. For instance, if the requested width is 48, the resized image width will be 50; if the requested width is 64, the resized image width will be 100.",
            "in": "query",
            "name": "width",
            "schema": {
              "format": "int32",
              "maximum": 3850,
              "minimum": 50,
              "type": "integer"
            }
          },
          {
            "description": "Height of the resized image, in quantized intervals of 50. For instance, if the requested height is 48, the resized image height will be 50; if the requested height is 64, the resized image height will be 100.",
            "in": "query",
            "name": "height",
            "schema": {
              "format": "int32",
              "maximum": 3850,
              "minimum": 50,
              "type": "integer"
            }
          },
          {
            "description": "If true, returns an object containing the signed URL.",
            "in": "query",
            "name": "url",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArtifactDownloadUriDto"
                }
              }
            },
            "description": "Returns the resized image (for resizing requests) or an object with the signed URL. If both width and height are informed, the resized image may not preserve the aspect ratio."
          },
          "302": {
            "description": "Redirects the user to the file download URL."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the width or height is invalid, the image format is not supported, or the resized image dimensions are less than 2x2 or greater than 3850x3850 pixels."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user does not have read access to the dataset."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the dataset does not exist."
          }
        },
        "summary": "Downloads the specified asset artifact by redirecting to a cloud storage URL.",
        "tags": [
          "Assets"
        ]
      }
    },
    "/vcs-integrations/projects/{projectId}/assets/{assetId}/versions/{assetVersion}/datasets": {
      "parameters": [
        {
          "description": "Path parameter assetId",
          "in": "path",
          "name": "assetId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter assetVersion",
          "in": "path",
          "name": "assetVersion",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Project ID",
          "in": "path",
          "name": "projectId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "description": "Creates datasets under the specified Asset Manager project and asset.",
        "operationId": "CreateVcsDataSet",
        "parameters": [
          {
            "description": "The Asset Manager project identifier.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset identifier.",
            "in": "path",
            "name": "assetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset version identifier.",
            "in": "path",
            "name": "assetVersion",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUvcsIntegrationDataSetRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUvcsIntegrationDataSetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUvcsIntegrationDataSetRequest"
              }
            }
          },
          "description": "The dataset information."
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "An object representing a VCS dataset.",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/VcsIntegrationDataSetDto"
                    },
                    {
                      "$ref": "#/components/schemas/UvcsIntegrationDataSetDto"
                    }
                  ]
                }
              }
            },
            "description": "Returns the dataset identifier."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no access to the project, asset or asset version."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no administrator rights to the UVCS organization, or the organization is read-only."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the VCS integration does not exist."
          }
        },
        "summary": "Creates datasets under the specified Asset Manager project and asset.",
        "tags": [
          "VCSDatasets"
        ]
      }
    },
    "/vcs-integrations/projects/{projectId}/assets/{assetId}/versions/{assetVersion}/datasets/{datasetId}": {
      "parameters": [
        {
          "description": "Path parameter assetId",
          "in": "path",
          "name": "assetId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter assetVersion",
          "in": "path",
          "name": "assetVersion",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Path parameter datasetId",
          "in": "path",
          "name": "datasetId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "description": "Project ID",
          "in": "path",
          "name": "projectId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "description": "Gets a dataset under the specified Asset Manager project and asset.",
        "operationId": "GetVcsDataSet",
        "parameters": [
          {
            "description": "The Asset Manager project identifier.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset identifier.",
            "in": "path",
            "name": "assetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset version identifier.",
            "in": "path",
            "name": "assetVersion",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The dataset identifier.",
            "in": "path",
            "name": "datasetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "An object representing a VCS dataset.",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/VcsIntegrationDataSetDto"
                    },
                    {
                      "$ref": "#/components/schemas/UvcsIntegrationDataSetDto"
                    }
                  ]
                }
              }
            },
            "description": "Returns the dataset."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no access to the project, asset or asset version."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the dataset does not exist."
          }
        },
        "summary": "Gets a dataset under the specified Asset Manager project and asset.",
        "tags": [
          "VCSDatasets"
        ]
      },
      "put": {
        "description": "Updates datasets under the specified Asset Manager project and asset.",
        "operationId": "UpdateVcsDataSet",
        "parameters": [
          {
            "description": "The Asset Manager project identifier.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset identifier.",
            "in": "path",
            "name": "assetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset version identifier.",
            "in": "path",
            "name": "assetVersion",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The dataset identifier.",
            "in": "path",
            "name": "datasetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVcsIntegrationDataSetRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVcsIntegrationDataSetRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVcsIntegrationDataSetRequest"
              }
            }
          },
          "description": "The updated dataset information."
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "An object representing a VCS dataset.",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/VcsIntegrationDataSetDto"
                    },
                    {
                      "$ref": "#/components/schemas/UvcsIntegrationDataSetDto"
                    }
                  ]
                }
              }
            },
            "description": "Returns the dataset identifier."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no access to the project, asset or asset version."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no administrator rights to the UVCS organization, or the organization is read-only."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the dataset does not exist."
          }
        },
        "summary": "Updates datasets under the specified Asset Manager project and asset.",
        "tags": [
          "VCSDatasets"
        ]
      },
      "delete": {
        "description": "Deletes datasets under the specified Asset Manager project and asset.",
        "operationId": "DeleteVcsDataSet",
        "parameters": [
          {
            "description": "The Asset Manager project identifier.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset identifier.",
            "in": "path",
            "name": "assetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The Asset Manager asset version identifier.",
            "in": "path",
            "name": "assetVersion",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The dataset identifier.",
            "in": "path",
            "name": "datasetId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "If the dataset was successfully deleted."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the user has no access to the project, asset or asset version."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            },
            "description": "If the dataset does not exist."
          }
        },
        "summary": "Deletes datasets under the specified Asset Manager project and asset.",
        "tags": [
          "VCSDatasets"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ArtifactDownloadUriDto": {
        "additionalProperties": false,
        "description": "An object containing the artifact download location.",
        "properties": {
          "expiry": {
            "description": "The uri expiry.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "location": {
            "description": "The artifact location.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CreateUvcsIntegrationDataSetRequest": {
        "additionalProperties": false,
        "description": "An object containing the parameters required to create UVCS datasets.",
        "properties": {
          "configurations": {
            "$ref": "#/components/schemas/UvcsIntegrationDataSetConfigurationDto"
          },
          "datasetName": {
            "description": "The name of the dataset.",
            "type": "string"
          },
          "items": {
            "description": "The list of files from UVCS.",
            "items": {
              "$ref": "#/components/schemas/VcsIntegrationDataSetItemDto"
            },
            "type": "array"
          },
          "pauseSync": {
            "description": "Whether or not to keep in sync with UVCS.",
            "type": "boolean"
          },
          "vcsIntegrationId": {
            "description": "The VCS integration identifier.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CreateUvcsIntegrationRequest": {
        "additionalProperties": false,
        "description": "An object containing the parameters required to create a new VCS integration.",
        "properties": {
          "name": {
            "description": "The VCS integration name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FolderInfoDto": {
        "additionalProperties": false,
        "description": "An object representing the number of files, folders and total size in bytes.",
        "properties": {
          "files": {
            "description": "The number of files.",
            "type": "integer"
          },
          "folders": {
            "description": "The number of folders.",
            "type": "integer"
          },
          "totalSize": {
            "description": "The total size of files in bytes.",
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ListUvcsBranchItemsResponse": {
        "additionalProperties": false,
        "description": "Represents a response to list VCS branch items.",
        "properties": {
          "limit": {
            "description": "The limit.",
            "format": "int32",
            "type": "integer"
          },
          "offset": {
            "description": "The offset.",
            "format": "int32",
            "type": "integer"
          },
          "results": {
            "description": "Item list.",
            "items": {
              "$ref": "#/components/schemas/UvcsBranchItemDto"
            },
            "type": "array"
          },
          "total": {
            "description": "Total item count.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ListUvcsBranchesResponse": {
        "additionalProperties": false,
        "description": "Represents a response to list VCS branches.",
        "properties": {
          "limit": {
            "description": "The limit.",
            "format": "int32",
            "type": "integer"
          },
          "offset": {
            "description": "The offset.",
            "format": "int32",
            "type": "integer"
          },
          "results": {
            "description": "Branch list.",
            "items": {
              "$ref": "#/components/schemas/UvcsBranchDto"
            },
            "type": "array"
          },
          "total": {
            "description": "Total branch count.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ListUvcsOrganizationsResponse": {
        "additionalProperties": false,
        "description": "Represents a response to list VCS organizations.",
        "properties": {
          "limit": {
            "description": "The limit.",
            "format": "int32",
            "type": "integer"
          },
          "offset": {
            "description": "The offset.",
            "format": "int32",
            "type": "integer"
          },
          "results": {
            "description": "Organization list.",
            "items": {
              "$ref": "#/components/schemas/UvcsOrganizationDto"
            },
            "type": "array"
          },
          "total": {
            "description": "Total organization count.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ListUvcsRepositoriesResponse": {
        "additionalProperties": false,
        "description": "Represents a response to list VCS repositories.",
        "properties": {
          "limit": {
            "description": "The limit.",
            "format": "int32",
            "type": "integer"
          },
          "offset": {
            "description": "The offset.",
            "format": "int32",
            "type": "integer"
          },
          "results": {
            "description": "Repository list.",
            "items": {
              "$ref": "#/components/schemas/UvcsRepositoryDto"
            },
            "type": "array"
          },
          "total": {
            "description": "Total repository count.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ListVcsIntegrationsResponse": {
        "additionalProperties": false,
        "description": "An object containing a list of VCS integrations.",
        "properties": {
          "limit": {
            "description": "The max number of items to return.",
            "format": "int32",
            "type": "integer"
          },
          "offset": {
            "description": "The number of items to skip.",
            "format": "int32",
            "type": "integer"
          },
          "results": {
            "description": "The list of VCS integrations.",
            "items": {
              "$ref": "#/components/schemas/VcsIntegrationDto"
            },
            "type": "array"
          },
          "total": {
            "description": "The total number of items.",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ProblemDetails": {
        "additionalProperties": {},
        "properties": {
          "code": {
            "example": 54,
            "nullable": true,
            "type": "integer"
          },
          "detail": {
            "example": "The target resource couldn't be found",
            "type": "string"
          },
          "requestId": {
            "example": "684529e0-265b-4875-8ee2-3f839c6aced2",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "example": 404,
            "type": "integer"
          },
          "title": {
            "example": "Not Found",
            "type": "string"
          },
          "type": {
            "example": "https://services.docs.unity.com/docs/errors#54",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateUvcsIntegrationRequest": {
        "additionalProperties": false,
        "description": "An object containing the parameters required to update an existing VCS integration.",
        "properties": {
          "name": {
            "description": "The name of the VCS integration.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateVcsIntegrationDataSetRequest": {
        "additionalProperties": false,
        "description": "An object containing the parameters required to update VCS datasets.",
        "properties": {
          "items": {
            "description": "The list of files from VCS.",
            "items": {
              "$ref": "#/components/schemas/VcsIntegrationDataSetItemDto"
            },
            "nullable": true,
            "type": "array"
          },
          "pauseSync": {
            "description": "Whether or not to keep in sync with VCS.",
            "nullable": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "UvcsBranchDto": {
        "additionalProperties": false,
        "description": "Represents a VCS branch.",
        "properties": {
          "id": {
            "description": "The branch ID.",
            "type": "string"
          },
          "name": {
            "description": "The branch name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UvcsBranchItemDto": {
        "additionalProperties": false,
        "description": "Represents a response to list VCS branch items.",
        "properties": {
          "comment": {
            "description": "Item comment.",
            "type": "string"
          },
          "commitReference": {
            "description": "The item commit reference.",
            "type": "string"
          },
          "contentType": {
            "description": "The item content type.",
            "type": "string"
          },
          "dateTime": {
            "description": "Item date and time.",
            "format": "date-time",
            "type": "string"
          },
          "filePath": {
            "description": "The normalized item path.",
            "type": "string"
          },
          "isDir": {
            "description": "Whether the item represents a directory or a file.",
            "type": "boolean"
          },
          "item": {
            "description": "The item name.",
            "type": "string"
          },
          "path": {
            "description": "OBSOLETE - The item path.",
            "type": "string"
          },
          "revisionId": {
            "description": "The item revision identifier.",
            "format": "int32",
            "type": "integer"
          },
          "size": {
            "description": "The item size in bytes.",
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UvcsIntegrationDataSetConfigurationDto": {
        "additionalProperties": false,
        "description": "An object containing the parameters required for UVCS datasets.",
        "properties": {
          "branch": {
            "description": "The branch name.",
            "type": "string"
          },
          "organization": {
            "description": "The organization name.",
            "type": "string"
          },
          "repository": {
            "description": "The reposistory name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UvcsIntegrationDataSetDto": {
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/VcsIntegrationDataSetDto"
          }
        ],
        "description": "An object representing a UVCS dataset.",
        "properties": {
          "configurations": {
            "$ref": "#/components/schemas/UvcsIntegrationDataSetConfigurationDto"
          }
        },
        "type": "object"
      },
      "UvcsOrganizationDto": {
        "additionalProperties": false,
        "description": "Represents a VCS organization.",
        "properties": {
          "description": {
            "description": "The organization description.",
            "nullable": true,
            "type": "string"
          },
          "displayName": {
            "description": "The organization display name.",
            "type": "string"
          },
          "isEncrypted": {
            "description": "Whether the organization contents are encrypted or not.",
            "type": "boolean"
          },
          "name": {
            "description": "The organization name.",
            "type": "string"
          },
          "slug": {
            "description": "The organization slug.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UvcsRepositoryDto": {
        "additionalProperties": false,
        "description": "Represents a VCS repository.",
        "properties": {
          "defaultBranch": {
            "description": "The repository default branch.",
            "type": "string"
          },
          "description": {
            "description": "The repository description.",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "The repository ID.",
            "type": "string"
          },
          "name": {
            "description": "The repository name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "VcsIntegrationDataSetDto": {
        "additionalProperties": false,
        "description": "An object representing a VCS dataset.",
        "properties": {
          "datasetId": {
            "description": "The dataset identifier this VCS dataset point to.",
            "type": "string"
          },
          "items": {
            "description": "The list of files mapped from VCS.",
            "items": {
              "$ref": "#/components/schemas/VcsIntegrationDataSetItemDto"
            },
            "type": "array"
          },
          "pauseSync": {
            "description": "Whether or not to keep in sync with VCS.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "VcsIntegrationDataSetItemDto": {
        "additionalProperties": false,
        "description": "An object representing a VCS dataset item.",
        "properties": {
          "filePath": {
            "description": "The VCS filepath.",
            "type": "string"
          },
          "isDir": {
            "description": "Whether the item represents a directory or a file.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "VcsIntegrationDto": {
        "additionalProperties": false,
        "description": "An object representing a VCS integration.",
        "properties": {
          "id": {
            "description": "The VCS integration identifier.",
            "type": "string"
          },
          "name": {
            "description": "The VCS integration name.",
            "type": "string"
          },
          "provider": {
            "$ref": "#/components/schemas/VcsProviderType"
          }
        },
        "type": "object"
      },
      "VcsProviderType": {
        "description": "The VCS provider type.",
        "enum": [
          "Uvcs",
          "Perforce",
          "Git"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "bearerFormat": "JWT",
        "description": "JWT authorization header using Bearer schema.\r\nPut only your JWT token here.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "tags": [
    {
      "description": "Downloads assets and resizes images.",
      "name": "Assets"
    },
    {
      "description": "Browse VCS repositories.",
      "name": "VCSBrowser"
    },
    {
      "description": "Creates, updates and deletes VCS Integrations datasets.",
      "name": "VCSDatasets"
    },
    {
      "description": "Lists, creates, updates and deletes VCS integrations.",
      "name": "VCSIntegrations"
    }
  ]
}
```