

```json
{
  "openapi": "3.0.0",
  "info": {
    "contact": {
      "name": "Team: Car | Slack: #ask-liveops"
    },
    "description": "Live Content is a unified service for management and runtime delivery of both assets (binaries, bundles, files) and configuration (JSON data backed by schemas).",
    "title": "Live Content Admin API",
    "version": "1.3.4"
  },
  "tags": [
    {
      "description": "Operations about files",
      "name": "Files"
    },
    {
      "description": "Operations about configs",
      "name": "Configs"
    },
    {
      "description": "Operations about assets",
      "name": "Assets"
    },
    {
      "description": "Operations about releases",
      "name": "Releases"
    }
  ],
  "servers": [
    {
      "url": "https://services.api.unity.com/live-content/admin/v1"
    }
  ],
  "paths": {
    "/projects/{projectId}/environments/{environmentId}/assets/info": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get assets",
        "description": "Gets all assets information for a given environment. Assets include both files and configs. Assets can be searched/queried by path or variant tag. For example, to search by path you can do \"/assets/info?path=asset.bundle\". To search by variant tag you can do \"/assets/info?variantTag=android\". To search for assets with no variant tags, use \"/assets/info?variantTag\". To get all assets regardless of variant tags, use \"/assets/info\" (omit the variantTag parameter).",
        "operationId": "GetAssets",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Current Page",
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Items Per Page",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "format": "int64",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Path",
            "in": "query",
            "name": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          },
          {
            "deprecated": true,
            "description": "Deprecated: use `variantTag=` (empty value) instead. When true, returns only assets that have no variant tags assigned, ignoring the variantTag parameter. When false or omitted, this filter is not applied.",
            "in": "query",
            "name": "noVariantTag",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "content type",
            "in": "query",
            "name": "contentType",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "is content upload completed or not",
            "in": "query",
            "name": "complete",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "URI-escaped Schema identifier",
            "in": "query",
            "name": "schema",
            "schema": {
              "example": "https%3A%2F%2Fservices.unity.com%2Fapi%2Fschema-registry%2Fv1%2Forganizations%2ForgId%2Fprojects%2FprojectId%2Fschemas%2FschemaName",
              "type": "string"
            }
          },
          {
            "description": "Asset type filter. When specified, returns only assets of the specified type. When omitted, returns all assets (both files and configs).",
            "in": "query",
            "name": "type",
            "schema": {
              "$ref": "#/components/schemas/resourceType"
            }
          },
          {
            "description": "Sort By",
            "in": "query",
            "name": "sortBy",
            "schema": {
              "$ref": "#/components/schemas/sortByAsset"
            }
          },
          {
            "description": "Sort Order",
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "$ref": "#/components/schemas/sortOrder"
            }
          },
          {
            "$ref": "#/components/parameters/FilterQuery"
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/metadata"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Content-Range": {
                "description": "paging in the format - assets [start]-[end]/[total]",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete all assets",
        "description": "Deletes all files and configs for a given environment.",
        "operationId": "DeleteAllAssets",
        "tags": [
          "Assets"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/configs/batch/info": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "post": {
        "summary": "Create multiple configs",
        "description": "Creates multiple new configs in a batch operation.",
        "operationId": "CreateConfigs",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/configCreateBatch"
                },
                "type": "array"
              }
            }
          },
          "description": "Array of configs to create",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/configBatchCreateResponse"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "put": {
        "summary": "Update multiple configs",
        "description": "Updates multiple configs in a batch operation. All properties are overwritten; omitted fields revert to their defaults.",
        "operationId": "UpdateConfigs",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/configCreateBatch"
                },
                "type": "array"
              }
            }
          },
          "description": "Array of configs to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/configBatchUpdateResponse"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "delete": {
        "summary": "Delete multiple configs",
        "description": "Delete multiple configs information in a batch operation.",
        "operationId": "DeleteConfigs",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/fileDeleteBatch"
                },
                "type": "array"
              }
            }
          },
          "description": "Array of configs to delete",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/batchDeleteResponse"
                }
              }
            },
            "description": "OK"
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/configs/content": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get configs with inline content",
        "description": "Gets all configs (metadata + inline content) for a given environment. Pagination and filtering semantics mirror /configs/info.",
        "operationId": "GetConfigsContent",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "description": "Current Page",
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Items Per Page",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "format": "int64",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Path",
            "in": "query",
            "name": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "URI-escaped Schema identifier",
            "in": "query",
            "name": "schema",
            "schema": {
              "example": "https%3A%2F%2Fservices.unity.com%2Fapi%2Fschema-registry%2Fv1%2Forganizations%2ForgId%2Fprojects%2FprojectId%2Fschemas%2FschemaName",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SchemaVersionQuery"
          },
          {
            "description": "Path-based cursor - returns configs listed alphabetically after this config path",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Path-based cursor - Start from the alphabetically first config path",
            "in": "query",
            "name": "start",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          },
          {
            "deprecated": true,
            "description": "Deprecated: use `variantTag=` (empty value) instead. When true, returns only configs that have no variant tags assigned, ignoring the variantTag parameter. When false or omitted, this filter is not applied.",
            "in": "query",
            "name": "noVariantTag",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Sort By",
            "in": "query",
            "name": "sortBy",
            "schema": {
              "$ref": "#/components/schemas/sortBy"
            }
          },
          {
            "description": "Sort Order",
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "$ref": "#/components/schemas/sortOrder"
            }
          },
          {
            "$ref": "#/components/parameters/FilterQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/metadataWithContent"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Content-Range": {
                "description": "paging in the format - configs [start]-[end]/[total]",
                "schema": {
                  "type": "string"
                }
              },
              "X-Next-Cursor": {
                "description": "Cursor token for the next page. Omitted when there are no more results.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/configs/content/(.+)$": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get config content",
        "description": "Returns the structured JSON content of a single config by its path.",
        "operationId": "GetConfigContent",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "description": "The structured config body.",
                  "example": {
                    "items": [
                      {
                        "id": "sword",
                        "price": 100
                      }
                    ]
                  },
                  "type": "object"
                }
              }
            },
            "description": "The structured config body."
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/configs/info": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get configs",
        "description": "Gets all configs information for a given environment. Configs can be searched/queried by path or schema. For example, to search by path you can do \"/configs/info?path=config.json\". To search by schema you can do \"/configs/info?schema=https%3A%2F%2Fservices.unity.com%2Fapi%2Fschema-registry%2Fv1%2Forganizations%2ForgId%2Fprojects%2FprojectId%2Fschemas%2FschemaName\" (must be URI-escaped).",
        "operationId": "GetConfigs",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Current Page",
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Path-based cursor - returns configs listed after this cursor token. Use X-Next-Cursor from the previous response.",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Path-based cursor - Start from the first config. Use with sortBy to control ordering.",
            "in": "query",
            "name": "start",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Items Per Page",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "format": "int64",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Path",
            "in": "query",
            "name": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "URI-escaped Schema identifier",
            "in": "query",
            "name": "schema",
            "schema": {
              "example": "https%3A%2F%2Fservices.unity.com%2Fapi%2Fschema-registry%2Fv1%2Forganizations%2ForgId%2Fprojects%2FprojectId%2Fschemas%2FschemaName",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/SchemaVersionQuery"
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          },
          {
            "deprecated": true,
            "description": "Deprecated: use `variantTag=` (empty value) instead. When true, returns only configs that have no variant tags assigned, ignoring the variantTag parameter. When false or omitted, this filter is not applied.",
            "in": "query",
            "name": "noVariantTag",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "content type",
            "in": "query",
            "name": "contentType",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "is content upload completed or not",
            "in": "query",
            "name": "complete",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Sort By",
            "in": "query",
            "name": "sortBy",
            "schema": {
              "$ref": "#/components/schemas/sortBy"
            }
          },
          {
            "description": "Sort Order",
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "$ref": "#/components/schemas/sortOrder"
            }
          },
          {
            "$ref": "#/components/parameters/FilterQuery"
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/configMetadata"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Content-Range": {
                "description": "paging in the format - configs [start]-[end]/[total]",
                "schema": {
                  "type": "string"
                }
              },
              "X-Next-Cursor": {
                "description": "Cursor token for the next page. Omitted when there are no more results.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete all configs",
        "description": "Marks all configs as deleted within a specific project and environment. All previous versions of configs will still exist. No config content is removed.",
        "operationId": "DeleteAllConfigs",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/configs/info/(.+)$": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get config",
        "description": "Gets a single config file.",
        "operationId": "GetConfig",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/configMetadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "post": {
        "summary": "Create Config File",
        "description": "Creates a new config file.",
        "operationId": "CreateConfigFile",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/configFileCreate"
              }
            }
          },
          "description": "File",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/configMetadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "put": {
        "summary": "Update Config File",
        "description": "Updates a config file. All properties are overwritten; omitted fields revert to their defaults.",
        "operationId": "UpdateConfigFile",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/configFileCreate"
              }
            }
          },
          "description": "File",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/configMetadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "patch": {
        "summary": "Partial update Config",
        "description": "Partially updates a single config's information.",
        "operationId": "PartialUpdateConfigFile",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/configFileUpdate"
              }
            }
          },
          "description": "File",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/configMetadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "delete": {
        "summary": "Delete config",
        "description": "Deletes a specific config file by its path.",
        "operationId": "DeleteConfig",
        "tags": [
          "Configs"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/id"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/files/batch/info": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "post": {
        "summary": "Create multiple files",
        "description": "Creates multiple new files information in a batch operation.",
        "operationId": "CreateFiles",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/fileCreateBatch"
                },
                "type": "array"
              }
            }
          },
          "description": "Array of files to create",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/batchCreateResponse"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "put": {
        "summary": "Update multiple files",
        "description": "Updates multiple files in a batch operation. All properties are overwritten; omitted fields revert to their defaults.",
        "operationId": "UpdateFiles",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/fileCreateBatch"
                },
                "type": "array"
              }
            }
          },
          "description": "Array of files to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/batchUpdateResponse"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "delete": {
        "summary": "Delete multiple files",
        "description": "Delete multiple files information in a batch operation.",
        "operationId": "DeleteFiles",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/fileDeleteBatch"
                },
                "type": "array"
              }
            }
          },
          "description": "Array of files to delete",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/batchDeleteResponse"
                }
              }
            },
            "description": "OK"
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/files/content/(.+)$": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get file content",
        "description": "Retrieve the content of a single file.",
        "operationId": "GetFileContent",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "responses": {
          "307": {
            "description": "Temporary Redirect - Redirects the client to the new content location.",
            "headers": {
              "Location": {
                "description": "The URL to which the client should be redirected to access the file content.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/files/info": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get files",
        "description": "Gets all files information for a given environment. Files can be searched/queried by path or variant tag. For example, to search by path you can do \"/files/info?path=asset.bundle\". To search by variant tag you can do \"/files/info?variantTag=android\". To search for files with no variant tags, use \"/files/info?variantTag\". To get all files regardless of variant tags, use \"/files/info\" (omit the variantTag parameter).",
        "operationId": "GetFiles",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Current Page",
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Path-based cursor - returns files listed after this cursor token. Use X-Next-Cursor from the previous response.",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Path-based cursor - Start from the first file. Use with sortBy to control ordering.",
            "in": "query",
            "name": "start",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Items Per Page",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "format": "int64",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Path",
            "in": "query",
            "name": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          },
          {
            "deprecated": true,
            "description": "Deprecated: use `variantTag=` (empty value) instead. When true, returns only files that have no variant tags assigned, ignoring the variantTag parameter. When false or omitted, this filter is not applied.",
            "in": "query",
            "name": "noVariantTag",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "content type",
            "in": "query",
            "name": "contentType",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "is content upload completed or not",
            "in": "query",
            "name": "complete",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Sort By",
            "in": "query",
            "name": "sortBy",
            "schema": {
              "$ref": "#/components/schemas/sortBy"
            }
          },
          {
            "description": "Sort Order",
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "$ref": "#/components/schemas/sortOrder"
            }
          },
          {
            "$ref": "#/components/parameters/FilterQuery"
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/metadata"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Content-Range": {
                "description": "paging in the format - files [start]-[end]/[total]",
                "schema": {
                  "type": "string"
                }
              },
              "X-Next-Cursor": {
                "description": "Cursor token for the next page. Omitted when there are no more results.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete all files",
        "description": "Marks all files as deleted within a specific project and environment. All previous versions of files will still exist. No file content is removed.",
        "operationId": "DeleteAllFiles",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/files/info/(.+)$": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Get file",
        "description": "Gets a single file information.",
        "operationId": "GetFile",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "post": {
        "summary": "Create file",
        "description": "Creates a new file information.",
        "operationId": "CreateFile",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/fileCreate"
              }
            }
          },
          "description": "File",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "put": {
        "summary": "Update file",
        "description": "Updates an existing file. All properties are overwritten; omitted fields revert to their defaults.",
        "operationId": "UpdateFile",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/fileCreate"
              }
            }
          },
          "description": "File",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "patch": {
        "summary": "Partial Update file",
        "description": "Partially updates a single file's information.",
        "operationId": "PartialUpdateFile",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/fileUpdate"
              }
            }
          },
          "description": "File",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metadata"
                }
              }
            },
            "description": "OK"
          }
        }
      },
      "delete": {
        "summary": "Delete file",
        "description": "Removes a single file information. When DELETE is called on an file we just mark it as deleted but all previous versions of the file still exist. No file content is removed.",
        "operationId": "DeleteFile",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "Environment ID",
            "in": "path",
            "name": "environmentId",
            "required": true,
            "schema": {
              "example": "{{environmentId}}",
              "type": "string"
            }
          },
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-name",
            "required": false,
            "schema": {
              "example": "{{releaseName}}",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "unity-live-release-id",
            "required": false,
            "schema": {
              "example": "{{releaseId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/VariantTagQuery"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "id": {
                      "$ref": "#/components/schemas/id"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        }
      }
    },
    "/projects/{projectId}/releases/{fromReleaseId}/diff/{toReleaseId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Compare releases diff summary",
        "description": "Returns a summary of differences between two releases (added, deleted, modified, unchanged counts).",
        "operationId": "CompareReleasesDiff",
        "tags": [
          "Releases"
        ],
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/FromReleaseId"
          },
          {
            "$ref": "#/components/parameters/ToReleaseId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/releaseCompareSummary"
                }
              }
            },
            "description": "OK"
          }
        }
      }
    },
    "/projects/{projectId}/releases/{fromReleaseId}/diff/{toReleaseId}/assets": {
      "parameters": [
        {
          "$ref": "#/components/parameters/FeatureFlagHeader"
        }
      ],
      "get": {
        "summary": "Compare releases diff assets",
        "description": "Returns per-file differences between two releases with pagination.",
        "operationId": "CompareReleasesDiffAssets",
        "tags": [
          "Releases"
        ],
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "example": "{{projectId}}",
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/FromReleaseId"
          },
          {
            "$ref": "#/components/parameters/ToReleaseId"
          },
          {
            "description": "Current Page",
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Items Per Page",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "format": "int64",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/fileWithState"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Content-Range": {
                "description": "paging in the format - assets [start]-[end]/[total]",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "FeatureFlagHeader": {
        "description": "Comma-separated list of feature flag names to enable for this request. Only honored on management (admin-authenticated) routes. Example: `X-Feature-Flag: file-repo-v2,other-flag`",
        "in": "header",
        "name": "X-Feature-Flag",
        "required": false,
        "schema": {
          "example": "file-repo-v2",
          "type": "string"
        }
      },
      "FilterQuery": {
        "description": "AIP-160 filter expression scoped to the metadata object. Field paths are relative to the metadata object — do not include a \"metadata.\" prefix. Supported operators: = != < <= > >= : (has/contains) AND OR NOT. Wildcards: use * in string values for glob matching (e.g. \"io*\" matches \"ios\"). Examples:\n  ?metadata=platform=\"ios\"\n  ?metadata=platform=\"ios\" AND version>3\n  ?metadata=platform=\"ios\" OR platform=\"android\"\n  ?metadata=NOT platform=\"web\"\n  ?metadata=tags:\"mobile\"\n  ?metadata=version:*",
        "in": "query",
        "name": "metadata",
        "schema": {
          "maxLength": 1000,
          "type": "string"
        }
      },
      "FromReleaseId": {
        "description": "Release ID to compare from (release A)",
        "in": "path",
        "name": "fromReleaseId",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "SchemaVersionQuery": {
        "description": "Version constraint for the schema. Supports exact (1.1.6), partial (1.1), wildcard (1.1.*), single operators (>=1.1.0, <=1.1.0, >1.1.0, <1.1.0, =1.1.0, !=1.1.0, ~>1.1), and comma-separated multi-constraints (>=1.0.0,<2.0.0). When combined with the schema parameter, the schema value is treated as a base URL prefix. Matches documents where at least one schema URL satisfies both constraints.\n",
        "in": "query",
        "name": "schemaVersion",
        "schema": {
          "example": ">=1.0.0,<2.0.0",
          "type": "string"
        }
      },
      "ToReleaseId": {
        "description": "Release ID to compare to (release B)",
        "in": "path",
        "name": "toReleaseId",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "VariantTagQuery": {
        "allowEmptyValue": true,
        "description": "Variant Tag. When present, filters results to those with the specified variant tags. Pass one or more values (e.g. `variantTag=ios&variantTag=android`) to match a specific tag set. Pass an empty value (`variantTag=`) to return only resources that have no variant tags assigned. Omit the parameter entirely to return all resources regardless of variant tags.",
        "explode": true,
        "in": "query",
        "name": "variantTag",
        "schema": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "style": "form"
      }
    },
    "schemas": {
      "DeleteError": {
        "properties": {
          "error": {
            "description": "Error message associated with the file",
            "type": "string"
          },
          "file": {
            "$ref": "#/components/schemas/fileDeleteBatch"
          }
        },
        "required": [
          "file",
          "error"
        ],
        "type": "object"
      },
      "batchCreateResponse": {
        "properties": {
          "created": {
            "items": {
              "$ref": "#/components/schemas/metadata"
            },
            "type": "array"
          },
          "createdIds": {
            "items": {
              "$ref": "#/components/schemas/id"
            },
            "type": "array"
          },
          "error": {
            "items": {
              "$ref": "#/components/schemas/createError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "batchDeleteResponse": {
        "properties": {
          "deletedIds": {
            "items": {
              "$ref": "#/components/schemas/id"
            },
            "type": "array"
          },
          "error": {
            "items": {
              "$ref": "#/components/schemas/DeleteError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "batchUpdateResponse": {
        "properties": {
          "error": {
            "items": {
              "$ref": "#/components/schemas/createError"
            },
            "type": "array"
          },
          "updated": {
            "items": {
              "$ref": "#/components/schemas/metadata"
            },
            "type": "array"
          },
          "updatedIds": {
            "items": {
              "$ref": "#/components/schemas/id"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "configBatchCreateResponse": {
        "properties": {
          "created": {
            "items": {
              "$ref": "#/components/schemas/configMetadata"
            },
            "type": "array"
          },
          "createdIds": {
            "items": {
              "$ref": "#/components/schemas/id"
            },
            "type": "array"
          },
          "error": {
            "items": {
              "$ref": "#/components/schemas/configCreateError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "configBatchUpdateResponse": {
        "properties": {
          "error": {
            "items": {
              "$ref": "#/components/schemas/configCreateError"
            },
            "type": "array"
          },
          "updated": {
            "items": {
              "$ref": "#/components/schemas/configMetadata"
            },
            "type": "array"
          },
          "updatedIds": {
            "items": {
              "$ref": "#/components/schemas/id"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "configCreateBatch": {
        "additionalProperties": true,
        "properties": {
          "$metadata": {
            "type": "object",
            "x-go-custom-tag": "db-model:\"Metadata\"",
            "x-isnullable": true,
            "x-order": 8
          },
          "$path": {
            "example": "ios/character1.bundle",
            "maxLength": 65535,
            "pattern": "^\\S.*$",
            "type": "string",
            "x-go-custom-tag": "db-model:\"Path\"",
            "x-isnullable": true,
            "x-order": 1
          },
          "$schema": {
            "description": "JSON Schema URIs that define the structure of the config",
            "example": [
              "https://schemas.example.com/config-schema.json"
            ],
            "oneOf": [
              {
                "format": "uri",
                "maxLength": 2048,
                "type": "string"
              },
              {
                "items": {
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "x-go-custom-tag": "db-model:\"Schema\"",
            "x-go-type": "apitypes.SchemaValue",
            "x-go-type-import": {
              "name": "apitypes",
              "path": "github.com/Unity-Technologies/cms-asset-service/api/types"
            },
            "x-isnullable": true
          },
          "$sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-isnullable": true,
            "x-order": 9
          },
          "$variantTag": {
            "items": {
              "maxLength": 250,
              "type": "string",
              "x-isnullable": true
            },
            "type": "array",
            "x-go-custom-tag": "db-model:\"VariantTag\"",
            "x-order": 7
          }
        },
        "required": [
          "$path"
        ],
        "type": "object"
      },
      "configCreateError": {
        "properties": {
          "details": {
            "items": {
              "example": {
                "code": "ERROR_CODE_123",
                "message": "Invalid value",
                "path": "nested.value"
              },
              "type": "object"
            },
            "type": "array",
            "x-order": 4
          },
          "error": {
            "description": "Error message associated with the file",
            "type": "string"
          },
          "file": {
            "$ref": "#/components/schemas/configMetadata"
          }
        },
        "required": [
          "file",
          "error"
        ],
        "type": "object"
      },
      "configFileCreate": {
        "additionalProperties": true,
        "properties": {
          "$metadata": {
            "description": "Metadata about the config",
            "type": "object",
            "x-go-custom-tag": "db-model:\"Metadata\"",
            "x-isnullable": true
          },
          "$schema": {
            "description": "JSON Schema URIs that define the structure of the config",
            "example": [
              "https://schemas.example.com/config-schema.json"
            ],
            "oneOf": [
              {
                "format": "uri",
                "maxLength": 2048,
                "type": "string"
              },
              {
                "items": {
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "x-go-custom-tag": "db-model:\"Schema\"",
            "x-go-type": "apitypes.SchemaValue",
            "x-go-type-import": {
              "name": "apitypes",
              "path": "github.com/Unity-Technologies/cms-asset-service/api/types"
            },
            "x-isnullable": true
          },
          "$sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-isnullable": true
          }
        },
        "type": "object"
      },
      "configFileUpdate": {
        "additionalProperties": true,
        "properties": {
          "$metadata": {
            "description": "Metadata about the config",
            "type": "object",
            "x-go-custom-tag": "db-model:\"Metadata\"",
            "x-isnullable": true
          },
          "$schema": {
            "description": "JSON Schema URIs that define the structure of the config",
            "example": [
              "https://schemas.example.com/config-schema.json"
            ],
            "oneOf": [
              {
                "format": "uri",
                "maxLength": 2048,
                "type": "string"
              },
              {
                "items": {
                  "format": "uri",
                  "maxLength": 2048,
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "x-go-custom-tag": "db-model:\"Schema\"",
            "x-go-type": "apitypes.SchemaValue",
            "x-go-type-import": {
              "name": "apitypes",
              "path": "github.com/Unity-Technologies/cms-asset-service/api/types"
            },
            "x-isnullable": true
          },
          "$sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-isnullable": true
          }
        },
        "type": "object"
      },
      "configMetadata": {
        "description": "An admin-facing config response. Same as `metadata` but without `contentUri` — config bodies are served inline via the /configs/content endpoints.",
        "properties": {
          "complete": {
            "type": "boolean",
            "x-go-custom-tag": "bson:\"complete\"",
            "x-order": 13
          },
          "contentHash": {
            "description": "Base64-encoded SHA-256 hash of the file content (44 characters in Base64, including padding). MD5 (deprecated) is accepted for legacy compatibility.",
            "example": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
            "type": "string",
            "x-go-custom-tag": "bson:\"contentHash,omitempty\"",
            "x-isnullable": true,
            "x-order": 8
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer",
            "x-go-custom-tag": "bson:\"contentSize,omitempty\"",
            "x-isnullable": true,
            "x-order": 7
          },
          "contentType": {
            "example": "image/jpeg",
            "type": "string",
            "x-go-custom-tag": "bson:\"contentType,omitempty\"",
            "x-isnullable": true,
            "x-order": 9
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "x-go-custom-tag": "bson:\"createdAt,omitempty\"",
            "x-isnullable": true,
            "x-order": 16
          },
          "createdBy": {
            "type": "string",
            "x-go-custom-tag": "bson:\"createdBy,omitempty\"",
            "x-isnullable": true,
            "x-order": 21
          },
          "createdByName": {
            "type": "string",
            "x-go-custom-tag": "bson:\"createdByName,omitempty\"",
            "x-isnullable": true,
            "x-order": 22
          },
          "deletedAt": {
            "format": "date-time",
            "type": "string",
            "x-go-custom-tag": "bson:\"deletedAt,omitempty\"",
            "x-order": 18
          },
          "id": {
            "$ref": "#/components/schemas/id"
          },
          "lastModifiedBy": {
            "type": "string",
            "x-go-custom-tag": "bson:\"lastModifiedBy,omitempty\"",
            "x-isnullable": true,
            "x-order": 19
          },
          "lastModifiedByName": {
            "type": "string",
            "x-go-custom-tag": "bson:\"lastModifiedByName,omitempty\"",
            "x-isnullable": true,
            "x-order": 20
          },
          "metadata": {
            "additionalProperties": true,
            "example": {
              "description": "File metadata"
            },
            "type": "object",
            "x-go-custom-tag": "bson:\"metadata,omitempty\"",
            "x-isnullable": true,
            "x-order": 15
          },
          "path": {
            "example": "ios/character1.bundle",
            "maxLength": 65535,
            "pattern": "^\\S.*$",
            "type": "string",
            "x-go-custom-tag": "bson:\"path,omitempty\"",
            "x-isnullable": true,
            "x-order": 2
          },
          "schemas": {
            "items": {
              "example": "https://services.unity.com/api/schema-registry/v1/organizations/orgId/projects/projectId/schemas/schemaName",
              "type": "string"
            },
            "type": "array",
            "x-go-custom-tag": "bson:\"schemas,omitempty\"",
            "x-isnullable": true,
            "x-order": 24
          },
          "sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted on create, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-go-custom-tag": "bson:\"sortIndex,omitempty\"",
            "x-isnullable": true,
            "x-order": 25
          },
          "type": {
            "$ref": "#/components/schemas/resourceType"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "x-go-custom-tag": "bson:\"updatedAt,omitempty\"",
            "x-isnullable": true,
            "x-order": 17
          },
          "variantTag": {
            "items": {
              "maxLength": 250,
              "type": "string",
              "x-isnullable": true
            },
            "type": "array",
            "x-go-custom-tag": "bson:\"variantTag,omitempty\"",
            "x-order": 14
          },
          "variants": {
            "description": "Per-variant content metadata. Only present in V2 document format.",
            "items": {
              "$ref": "#/components/schemas/metadataVariant"
            },
            "type": "array",
            "x-isnullable": true,
            "x-order": 26
          }
        },
        "type": "object"
      },
      "createError": {
        "properties": {
          "details": {
            "items": {
              "example": {
                "code": "ERROR_CODE_123",
                "message": "Invalid value",
                "path": "nested.value"
              },
              "type": "object"
            },
            "type": "array",
            "x-order": 4
          },
          "error": {
            "description": "Error message associated with the file",
            "type": "string"
          },
          "file": {
            "$ref": "#/components/schemas/metadata"
          }
        },
        "required": [
          "file",
          "error"
        ],
        "type": "object"
      },
      "fileCreate": {
        "properties": {
          "contentHash": {
            "description": "Base64-encoded SHA-256 (44 chars) or MD5 (22–24 chars, deprecated) hash of the file content",
            "example": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
            "maxLength": 44,
            "minLength": 22,
            "pattern": "^[A-Za-z0-9+/]{22}==$|^[A-Za-z0-9+/]{23}=$|^[A-Za-z0-9+/]{24}$|^[A-Za-z0-9+/]{43}=$",
            "type": "string",
            "x-go-custom-tag": "db-model:\"ContentHash\"",
            "x-isnullable": false,
            "x-order": 3
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer",
            "x-go-custom-tag": "db-model:\"ContentSize\"",
            "x-isnullable": false,
            "x-order": 2
          },
          "contentType": {
            "example": "image/jpeg",
            "type": "string",
            "x-go-custom-tag": "db-model:\"ContentType\"",
            "x-isnullable": false,
            "x-order": 4
          },
          "metadata": {
            "type": "object",
            "x-go-custom-tag": "db-model:\"Metadata\"",
            "x-isnullable": true,
            "x-order": 6
          },
          "sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-go-custom-tag": "db-model:\"SortIndex\"",
            "x-isnullable": true,
            "x-order": 7
          }
        },
        "required": [
          "contentSize",
          "contentHash",
          "contentType"
        ],
        "type": "object"
      },
      "fileCreateBatch": {
        "properties": {
          "contentHash": {
            "description": "Base64-encoded SHA-256 (44 chars) or MD5 (22–24 chars, deprecated) hash of the file content",
            "example": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
            "maxLength": 44,
            "minLength": 22,
            "pattern": "^[A-Za-z0-9+/]{22}==$|^[A-Za-z0-9+/]{23}=$|^[A-Za-z0-9+/]{24}$|^[A-Za-z0-9+/]{43}=$",
            "type": "string",
            "x-go-custom-tag": "db-model:\"ContentHash\"",
            "x-isnullable": false,
            "x-order": 5
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer",
            "x-go-custom-tag": "db-model:\"ContentSize\"",
            "x-isnullable": false,
            "x-order": 4
          },
          "contentType": {
            "example": "image/jpeg",
            "type": "string",
            "x-go-custom-tag": "db-model:\"ContentType\"",
            "x-isnullable": false,
            "x-order": 6
          },
          "metadata": {
            "type": "object",
            "x-go-custom-tag": "db-model:\"Metadata\"",
            "x-isnullable": true,
            "x-order": 8
          },
          "path": {
            "example": "ios/character1.bundle",
            "maxLength": 65535,
            "pattern": "^\\S.*$",
            "type": "string",
            "x-go-custom-tag": "db-model:\"Path\"",
            "x-isnullable": true,
            "x-order": 1
          },
          "sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-go-custom-tag": "db-model:\"SortIndex\"",
            "x-isnullable": true,
            "x-order": 9
          },
          "variantTag": {
            "items": {
              "maxLength": 250,
              "type": "string",
              "x-isnullable": true
            },
            "type": "array",
            "x-go-custom-tag": "db-model:\"VariantTag\"",
            "x-order": 7
          }
        },
        "required": [
          "path",
          "contentSize",
          "contentHash",
          "contentType"
        ],
        "type": "object"
      },
      "fileDeleteBatch": {
        "properties": {
          "path": {
            "example": "ios/character1.bundle",
            "maxLength": 65535,
            "pattern": "^\\S.*$",
            "type": "string",
            "x-go-custom-tag": "db-model:\"Path\"",
            "x-isnullable": true,
            "x-order": 1
          },
          "variantTag": {
            "items": {
              "maxLength": 250,
              "type": "string",
              "x-isnullable": true
            },
            "type": "array",
            "x-go-custom-tag": "db-model:\"VariantTag\"",
            "x-order": 7
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "fileUpdate": {
        "properties": {
          "contentHash": {
            "description": "Base64-encoded SHA-256 (44 chars) or MD5 (22–24 chars, deprecated) hash of the file content",
            "example": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
            "maxLength": 44,
            "minLength": 22,
            "pattern": "^[A-Za-z0-9+/]{22}==$|^[A-Za-z0-9+/]{23}=$|^[A-Za-z0-9+/]{24}$|^[A-Za-z0-9+/]{43}=$",
            "type": "string",
            "x-go-custom-tag": "db-model:\"ContentHash\"",
            "x-isnullable": true,
            "x-order": 4
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer",
            "x-go-custom-tag": "db-model:\"ContentSize\"",
            "x-isnullable": true,
            "x-order": 3
          },
          "contentType": {
            "example": "image/jpeg",
            "type": "string",
            "x-go-custom-tag": "db-model:\"ContentType\"",
            "x-isnullable": true,
            "x-order": 5
          },
          "metadata": {
            "type": "object",
            "x-go-custom-tag": "db-model:\"Metadata\"",
            "x-isnullable": true,
            "x-order": 7
          },
          "sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-go-custom-tag": "db-model:\"SortIndex\"",
            "x-isnullable": true,
            "x-order": 8
          }
        },
        "type": "object"
      },
      "fileWithState": {
        "properties": {
          "complete": {
            "type": "boolean"
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer"
          },
          "contentUri": {
            "type": "string"
          },
          "environmentId": {
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/id"
          },
          "lastModified": {
            "format": "date-time",
            "type": "string"
          },
          "path": {
            "example": "ios/character1.bundle",
            "type": "string"
          },
          "previousFile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/fileWithStatePreviousFile"
              }
            ],
            "nullable": true
          },
          "state": {
            "enum": [
              "added",
              "deleted",
              "modified",
              "unchanged"
            ],
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/resourceType"
          },
          "variantTag": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "fileWithStatePreviousFile": {
        "properties": {
          "complete": {
            "type": "boolean"
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer"
          },
          "contentUri": {
            "type": "string"
          },
          "environmentId": {
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/id"
          },
          "lastModified": {
            "format": "date-time",
            "type": "string"
          },
          "path": {
            "example": "ios/character1.bundle",
            "type": "string"
          }
        },
        "type": "object"
      },
      "id": {
        "example": "b9a0657d-b223-4507-9206-ead33ac06c6d",
        "format": "string",
        "type": "string",
        "x-go-custom-tag": "bson:\"_id,omitempty\"",
        "x-go-name": "Id",
        "x-order": 1
      },
      "metadata": {
        "properties": {
          "complete": {
            "type": "boolean",
            "x-go-custom-tag": "bson:\"complete\"",
            "x-order": 13
          },
          "contentHash": {
            "description": "Base64-encoded SHA-256 hash of the file content (44 characters in Base64, including padding). MD5 (deprecated) is accepted for legacy compatibility.",
            "example": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
            "type": "string",
            "x-go-custom-tag": "bson:\"contentHash,omitempty\"",
            "x-isnullable": true,
            "x-order": 8
          },
          "contentSize": {
            "example": 1234567,
            "format": "int64",
            "type": "integer",
            "x-go-custom-tag": "bson:\"contentSize,omitempty\"",
            "x-isnullable": true,
            "x-order": 7
          },
          "contentType": {
            "example": "image/jpeg",
            "type": "string",
            "x-go-custom-tag": "bson:\"contentType,omitempty\"",
            "x-isnullable": true,
            "x-order": 9
          },
          "contentUri": {
            "type": "string",
            "x-go-custom-tag": "bson:\"contentUri,omitempty\"",
            "x-isnullable": true,
            "x-order": 10
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "x-go-custom-tag": "bson:\"createdAt,omitempty\"",
            "x-isnullable": true,
            "x-order": 16
          },
          "createdBy": {
            "type": "string",
            "x-go-custom-tag": "bson:\"createdBy,omitempty\"",
            "x-isnullable": true,
            "x-order": 21
          },
          "createdByName": {
            "type": "string",
            "x-go-custom-tag": "bson:\"createdByName,omitempty\"",
            "x-isnullable": true,
            "x-order": 22
          },
          "deletedAt": {
            "format": "date-time",
            "type": "string",
            "x-go-custom-tag": "bson:\"deletedAt,omitempty\"",
            "x-order": 18
          },
          "id": {
            "$ref": "#/components/schemas/id"
          },
          "lastModifiedBy": {
            "type": "string",
            "x-go-custom-tag": "bson:\"lastModifiedBy,omitempty\"",
            "x-isnullable": true,
            "x-order": 19
          },
          "lastModifiedByName": {
            "type": "string",
            "x-go-custom-tag": "bson:\"lastModifiedByName,omitempty\"",
            "x-isnullable": true,
            "x-order": 20
          },
          "metadata": {
            "additionalProperties": true,
            "example": {
              "description": "File metadata"
            },
            "type": "object",
            "x-go-custom-tag": "bson:\"metadata,omitempty\"",
            "x-isnullable": true,
            "x-order": 15
          },
          "path": {
            "example": "ios/character1.bundle",
            "maxLength": 65535,
            "pattern": "^\\S.*$",
            "type": "string",
            "x-go-custom-tag": "bson:\"path,omitempty\"",
            "x-isnullable": true,
            "x-order": 2
          },
          "schemas": {
            "items": {
              "example": "https://services.unity.com/api/schema-registry/v1/organizations/orgId/projects/projectId/schemas/schemaName",
              "type": "string"
            },
            "type": "array",
            "x-go-custom-tag": "bson:\"schemas,omitempty\"",
            "x-isnullable": true,
            "x-order": 24
          },
          "signedUrl": {
            "type": "string",
            "x-go-custom-tag": "bson:\"signedUrl,omitempty\"",
            "x-isnullable": true,
            "x-order": 23
          },
          "sortIndex": {
            "description": "Reserved. Optional pre-defined sort key. When omitted on create, the server assigns a default derived from the creation timestamp.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-go-custom-tag": "bson:\"sortIndex,omitempty\"",
            "x-isnullable": true,
            "x-order": 25
          },
          "type": {
            "$ref": "#/components/schemas/resourceType"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "x-go-custom-tag": "bson:\"updatedAt,omitempty\"",
            "x-isnullable": true,
            "x-order": 17
          },
          "variantTag": {
            "items": {
              "maxLength": 250,
              "type": "string",
              "x-isnullable": true
            },
            "type": "array",
            "x-go-custom-tag": "bson:\"variantTag,omitempty\"",
            "x-order": 14
          },
          "variants": {
            "description": "Per-variant content metadata. Only present in V2 document format.",
            "items": {
              "$ref": "#/components/schemas/metadataVariant"
            },
            "type": "array",
            "x-isnullable": true,
            "x-order": 26
          }
        },
        "type": "object"
      },
      "metadataVariant": {
        "description": "Per-variant content metadata for a single variant.",
        "properties": {
          "complete": {
            "type": "boolean"
          },
          "content": {
            "additionalProperties": true,
            "description": "Inline config body. Only present on /configs/content responses in V2 format.",
            "type": "object",
            "x-go-type": "json.RawMessage",
            "x-isnullable": true
          },
          "contentHash": {
            "type": "string",
            "x-isnullable": true
          },
          "contentSize": {
            "format": "int64",
            "type": "integer",
            "x-isnullable": true
          },
          "contentUri": {
            "description": "URI to the file content — Only present for file type.",
            "type": "string",
            "x-isnullable": true
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "x-isnullable": true
          },
          "createdBy": {
            "type": "string",
            "x-isnullable": true
          },
          "createdByName": {
            "type": "string",
            "x-isnullable": true
          },
          "deletedAt": {
            "format": "date-time",
            "type": "string",
            "x-isnullable": true
          },
          "lastModifiedBy": {
            "type": "string",
            "x-isnullable": true
          },
          "lastModifiedByName": {
            "type": "string",
            "x-isnullable": true
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object",
            "x-isnullable": true
          },
          "signedUrl": {
            "type": "string",
            "x-isnullable": true
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "x-isnullable": true
          },
          "variantTag": {
            "description": "Variant tags identifying this variant (empty array for the tagless variant)",
            "items": {
              "maxLength": 250,
              "type": "string",
              "x-isnullable": true
            },
            "type": "array",
            "x-isnullable": true
          }
        },
        "type": "object",
        "x-go-name": "MetadataVariant"
      },
      "metadataWithContent": {
        "description": "An admin-facing config with the same fields as `configMetadata`, plus inline JSON content. V1 format uses top-level contentHash/content; V2 format uses variants[].content instead.",
        "properties": {
          "complete": {
            "type": "boolean"
          },
          "content": {
            "additionalProperties": true,
            "description": "Inline config body. Populated in V1 format; absent in V2 (content moves to variants[].content).",
            "example": {
              "items": [
                {
                  "id": "sword",
                  "price": 100
                }
              ]
            },
            "type": "object",
            "x-go-type": "json.RawMessage"
          },
          "contentHash": {
            "description": "Base64-encoded SHA-256 hash of the config content. Populated in V1 format; absent in V2 (content moves to variants[].contentHash).",
            "example": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
            "type": "string"
          },
          "contentSize": {
            "example": 1234,
            "format": "int64",
            "type": "integer"
          },
          "contentType": {
            "example": "application/json",
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "createdByName": {
            "type": "string"
          },
          "deletedAt": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/id"
          },
          "lastModifiedBy": {
            "type": "string"
          },
          "lastModifiedByName": {
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "description": "User-supplied metadata about the config (not the config body).",
            "type": "object"
          },
          "path": {
            "example": "catalog/items.json",
            "maxLength": 65535,
            "pattern": "^\\S.*$",
            "type": "string"
          },
          "schemas": {
            "items": {
              "example": "https://services.unity.com/api/schema-registry/v1/organizations/orgId/projects/projectId/schemas/schemaName",
              "type": "string"
            },
            "type": "array"
          },
          "sortIndex": {
            "description": "Reserved. Optional pre-defined sort key.",
            "format": "int64",
            "maximum": 32767,
            "minimum": 0,
            "type": "integer",
            "x-isnullable": true
          },
          "type": {
            "$ref": "#/components/schemas/resourceType"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "variantTag": {
            "items": {
              "maxLength": 250,
              "type": "string"
            },
            "type": "array"
          },
          "variants": {
            "description": "Per-variant inline content. Present in V2 document format; absent in V1.",
            "items": {
              "$ref": "#/components/schemas/metadataVariant"
            },
            "type": "array",
            "x-isnullable": true
          }
        },
        "required": [
          "id",
          "path"
        ],
        "type": "object"
      },
      "releaseCompareSummary": {
        "properties": {
          "added": {
            "format": "int64",
            "type": "integer"
          },
          "deleted": {
            "format": "int64",
            "type": "integer"
          },
          "modified": {
            "format": "int64",
            "type": "integer"
          },
          "unchanged": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "added",
          "deleted",
          "modified",
          "unchanged"
        ],
        "type": "object"
      },
      "resourceType": {
        "description": "Resource type enumeration",
        "enum": [
          "file",
          "config",
          "all"
        ],
        "example": "file",
        "type": "string",
        "x-go-custom-tag": "db-model:\"Type\"",
        "x-go-name": "ResourceType",
        "x-isnullable": true,
        "x-order": 3
      },
      "sortBy": {
        "description": "Sort By",
        "enum": [
          "path",
          "contentSize",
          "contentType",
          "updatedAt",
          "createdAt",
          "sortIndex"
        ],
        "example": "path",
        "type": "string",
        "x-go-name": "SortBy"
      },
      "sortByAsset": {
        "description": "Sort By",
        "enum": [
          "path",
          "contentSize",
          "contentType",
          "updatedAt",
          "createdAt",
          "type",
          "sortIndex"
        ],
        "example": "path",
        "type": "string",
        "x-go-name": "SortByAsset"
      },
      "sortOrder": {
        "description": "Sort Order",
        "enum": [
          "asc",
          "desc"
        ],
        "example": "asc",
        "type": "string",
        "x-go-name": "SortOrder"
      }
    }
  }
}
```