

````json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Collaboration Service API",
    "description": "The Collaboration API provides endpoints for creating, reading and managing Annotations.\r\nThis API uses organization and project level roles to authorize requests.",
    "contact": {
      "name": "API Support",
      "url": "https://docs.unity.com/",
      "email": "support@unity3d.com",
      "x-slack-channel-alerts": "#asset-collaboration-dev"
    },
    "license": {
      "name": "Unity Legal"
    },
    "version": "1"
  },
  "servers": [
    {
      "url": "https://services.api.unity.com/collaboration/v1",
      "description": "production"
    }
  ],
  "paths": {
    "/projects/{projectId}/annotations": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Create annotation",
        "description": "Creates a new annotation in the project with a given target.",
        "operationId": "assets.v1.Collaboration.CreateAnnotations",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The ID of the project that the Annotation is to be created within. Project should match any in the target.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Annotation to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.CreateNewAnnotationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.CreateNewAnnotationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/server-configs": {
      "post": {
        "tags": [
          "Jira management"
        ],
        "summary": "Create a Jira ServerConfig.",
        "description": "Creates a new ServerConfig in a Unity organization.",
        "operationId": "assets.v1.CollaborationTaskManagement.CreateServerConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The Organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the ServerConfig to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.CreateServerConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.CreateServerConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/count": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Reads the total count of annotation threads for a specific target within a project.",
        "description": "This method counts root annotations (non-replies) that are active, not deleted and visible to the requesting user.\r\nSupports wildcard target paths ending with \"**\" to match all nested targets under a base path.",
        "operationId": "assets.v1.Collaboration.ReadThreadsCountByTarget",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "target",
            "in": "query",
            "description": "Threads matching the Target will be counted. Glob-like partial matching on the Target field is supported.\r\n\n\r\n            \r\nThis supports partial matching by using a wildcard (`**`) at the end of the target path.\r\n\n\r\n            \r\nFor example, retrieving all threads count with sub targets for an asset can be done with:\r\n\n```assets/projects/{projectId}/assets/{assetId}/**```\n\r\n            \r\nImportant limitations:\r\n\n\r\n- The wildcard must be at the end of the path.\r\n\n\r\n- Full wildcard within the path is not supported.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetThreadsCountByTargetResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/server-configs/{jiraServerConfigId}": {
      "post": {
        "tags": [
          "Jira management"
        ],
        "summary": "Create a Jira ProjectConfig.",
        "description": "Creates a new Jira ProjectConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.CreateJiraProjectConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The Jira ServerConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Jira ProjectConfig to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.CreateJiraProjectConfigRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.CreateJiraProjectConfigResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Jira management"
        ],
        "summary": "Update a Jira ServerConfig.",
        "description": "Update Jira ServerConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.UpdateServerConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The Jira ServerConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Jira ServerConfig to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.UpdateServerConfigRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Jira management"
        ],
        "summary": "Delete a Jira ServerConfig.",
        "description": "Delete Jira ServerConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.DeleteServerConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5772925064011"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The Jira ServerConfig id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/export": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Export Annotations",
        "description": "returns a paginated list of annotations.",
        "operationId": "assets.v1.Collaboration.ExportAnnotations",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the annotations to export.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.ExportAnnotationsApiRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ExportAnnotationsApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotation",
        "description": "Read a single Annotation, given its Project Id and Annotation Id.",
        "operationId": "assets.v1.Collaboration.ReadAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The Id of the project in which the Annotation exists.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation to read.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.Annotation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Update annotation",
        "description": "Updates an existing Annotation given the Project Id and Annotation Id.",
        "operationId": "assets.v1.Collaboration.UpdateAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The id of the project where the annotation exists.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The id of the annotation.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6669ea106d57178f6d028ab8"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Annotation to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.UpdateAnnotationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Delete annotation",
        "description": "Delete an annotation from a project.",
        "operationId": "assets.v1.Collaboration.DeleteAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation to delete.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/project-configs/{jiraProjectConfigId}": {
      "patch": {
        "tags": [
          "Jira management"
        ],
        "summary": "Update a Jira ProjectConfig.",
        "description": "Update Jira ProjectConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.UpdateProjectConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Jira Project Config to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.UpdateProjectConfigRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Jira management"
        ],
        "summary": "Delete a Jira ProjectConfig.",
        "description": "Delete Jira ProjectConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.DeleteProjectConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5772925064011"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations-search": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotations matching the given target",
        "description": "Read annotations matching the target.  Allows glob-like partial matching on the Target field.\r\nIf there is a project in the target, it must match the one given in the url.\r\n            \r\nThis endpoint supports partial matching by using a wildcard (`**`) at the end of the target path.\r\nFor example, retrieving all annotations for an asset can be done with:\r\n```assets/projects/{projectId}/assets/{assetId}/**```.\r\n            \r\nImportant limitations:\r\n- The wildcard must be at the end of the path.\r\n- Full wildcard searching within the path is not supported.",
        "operationId": "assets.v1.Collaboration.ReadAnnotations",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Annotation to get.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/replies": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotation replies",
        "description": "Read the Replies to a Root Annotation given its Project ID and Annotation ID. Response is paginated.",
        "operationId": "assets.v1.Collaboration.ReadReplies",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "Annotation to get Replies for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6336f899d219628f459c3767"
            },
            "example": "6336f899d219628f459c3767"
          },
          {
            "name": "next",
            "in": "query",
            "description": "The pagination token for the next page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The amount of Replies per page. Default is 10.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 10
            },
            "example": 10
          },
          {
            "name": "sortingOrder",
            "in": "query",
            "description": "The order to sort the Replies. Default is Ascending.",
            "schema": {
              "$ref": "#/components/schemas/assets.SortOrder"
            },
            "example": "Ascending"
          },
          {
            "name": "statusFilter",
            "in": "query",
            "description": "Filter search results for array of Annotation Status. Default is All.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/assets.AnnotationStatusFilter"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationRepliesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/server-configs/{jiraServerConfigId}/projects": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Get projects from Jira ServerConfig.",
        "description": "Get projects from Jira ServerConfig",
        "operationId": "assets.v1.CollaborationTaskManagement.GetProjects",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5772925064011"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The Id of the JiraServerConfig to get Projects from.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628274db55fc0366a2057d3"
            },
            "example": "6628274db55fc0366a2057d3"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetTaskManagementProjectsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/server-configs/{jiraServerConfigId}/user-search": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Search users from Jira ServerConfig (Unity organization-scoped).",
        "description": "Search users from Jira ServerConfig (Unity organization-scoped).",
        "operationId": "assets.v1.CollaborationTaskManagement.SearchUsersOrganization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The Jira ServerConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "query",
            "in": "query",
            "description": "The query to search for.",
            "schema": {
              "type": "string",
              "example": "jane"
            },
            "example": "jane"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.SearchTaskManagementUsersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/jira/server-configs/{jiraServerConfigId}/user-search": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Search users from Jira ServerConfig (Unity project-scoped).",
        "description": "Search users from Jira ServerConfig (Unity project-scoped).",
        "operationId": "assets.v1.CollaborationTaskManagement.SearchUsersProject",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id. This is included for the route but not used in the logic.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The Jira ServerConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "query",
            "in": "query",
            "description": "The query to search for.",
            "schema": {
              "type": "string",
              "example": "jane"
            },
            "example": "jane"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.SearchTaskManagementUsersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/attachments": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Create annotation attachment (file, spatial, or sketch).",
        "description": "Creates a new annotation attachment, which may be a file, spatial attachment, or sketch.",
        "operationId": "assets.v1.Collaboration.CreateAnnotationAttachment",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing **either** a `file`, a `spatial-3d`, **or** a `sketch` payload.",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/assets.CreateNewAnnotationFileAttachmentRequest"
                  },
                  {
                    "$ref": "#/components/schemas/assets.CreateNewAnnotationSketchAttachmentRequest"
                  },
                  {
                    "$ref": "#/components/schemas/assets.CreateNewAnnotationSpatialAttachmentRequest"
                  }
                ],
                "description": "A request to create a new annotation attachment."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.CreateNewAnnotationAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/server-configs/{jiraServerConfigId}/test-permissions": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Check if the configuration has the required permissions.",
        "description": "Check if the configuration has the required permissions.",
        "operationId": "assets.v1.CollaborationTaskManagement.HasRequiredPermissions",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraServerConfigId",
            "in": "path",
            "description": "The ID of the Jira ServerConfig to get credentials from.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "jiraProjectId",
            "in": "query",
            "description": "The ID of the Jira project we are testing permissions in.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.HasRequiredPermissionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/attachments/{attachmentId}/upload-url": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotation attachment file upload URL.",
        "description": "Return an upload URL for a given attachment file.\r\nNOTE - If an annotation has multiple files associated with it, the FilePath is required.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationAttachmentFileUploadUrl",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "filePath",
            "in": "query",
            "description": "The path of the file.\r\n\n\r\n            \r\nThis value will be passed through a URL Decode, and is recommended to be sent URL Encoded.\r\n\n\r\n            \r\nThis value is required if there are multiple files associated with the same attachment.",
            "schema": {
              "type": "string",
              "example": "image.jpeg"
            },
            "example": "image.jpeg"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationAttachmentFileUploadUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/jira/project-configs/{jiraProjectConfigId}/link": {
      "put": {
        "tags": [
          "Jira management"
        ],
        "summary": "Link a Unity project to a Jira ProjectConfig.",
        "description": "Link a Unity project to a Jira ProjectConfig",
        "operationId": "assets.v1.CollaborationTaskManagement.LinkProject",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The Unity project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "22222925064011"
            },
            "example": "22222925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Jira management"
        ],
        "summary": "Unlink a Unity project from a Jira ProjectConfig.",
        "description": "Unlink a Unity project from a Jira ProjectConfig",
        "operationId": "assets.v1.CollaborationTaskManagement.UnlinkProject",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The Unity project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "22222925064011"
            },
            "example": "22222925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/attachments/{attachmentId}/finalize": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Finalize annotation attachment.",
        "description": "NOTE - If an attachment has multiple files associated with it, the FilePath is required.",
        "operationId": "assets.v1.Collaboration.FinalizeAnnotationAttachment",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "filePath",
            "in": "query",
            "description": "The path of the file.\r\n\n\r\n            \r\nThis value will be passed through a URL Decode, and is recommended to be sent URL Encoded.\r\n\n\r\n            \r\nThis value is required if there are multiple files associated with the same attachment.",
            "schema": {
              "type": "string",
              "example": "image.jpeg"
            },
            "example": "image.jpeg"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/attachments/{attachmentId}/download-url": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotation attachment file download URL.",
        "description": "Return an download URL for a given file attachment.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationAttachmentFileDownloadUrl",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "filePath",
            "in": "query",
            "description": "The path of the file.\r\n\n\r\n            \r\nThis value is required if there are multiple files associated with the same attachment.",
            "schema": {
              "type": "string",
              "example": "image.jpeg"
            },
            "example": "image.jpeg"
          },
          {
            "name": "width",
            "in": "query",
            "description": "The desired width of the images.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 256
            },
            "example": 256
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationAttachmentFileDownloadUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/configs": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Get all Jira configurations (servers + projects) for the given Unity Organization.",
        "description": "Get all Jira configurations (servers + projects) for the given Unity Organization.",
        "operationId": "assets.v1.CollaborationTaskManagement.GetServerConfigs",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ReadServerConfigsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/jira/configs": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Get available Jira configurations for Unity project.",
        "description": "Get available Jira configurations for Unity project.",
        "operationId": "assets.v1.CollaborationTaskManagement.GetConfigsForProject",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The Unity project we are getting the configurations for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetConfigsForProjectResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/resolve": {
      "patch": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Resolve annotation.",
        "description": "Resolves a thread, given a Project Id and Annotation Id for the Root Annotation.",
        "operationId": "assets.v1.Collaboration.ResolveAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation to resolve.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/test-connection": {
      "post": {
        "tags": [
          "Jira management"
        ],
        "summary": "Check Jira connection.",
        "description": "Validates that the given credentials can be used to connect to the Jira server.",
        "operationId": "assets.v1.CollaborationTaskManagement.CheckServerConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The Organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          }
        ],
        "requestBody": {
          "description": "The request containing the credentials to be checked.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.CheckServerCredentialsRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/attachments/{attachmentId}": {
      "patch": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Update Attachment.",
        "description": "Update an attachment from an annotation in project.",
        "operationId": "assets.v1.Collaboration.UpdateAttachment",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Attachment to update.",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/assets.UpdateFileAttachmentRequest"
                  },
                  {
                    "$ref": "#/components/schemas/assets.UpdateSketchAttachmentRequest"
                  },
                  {
                    "$ref": "#/components/schemas/assets.UpdateSpatialAttachmentRequest"
                  }
                ],
                "description": "A request to update an existing annotation attachment."
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Delete Attachment.",
        "description": "Delete an attachment from an annotation in project.",
        "operationId": "assets.v1.Collaboration.DeleteAttachment",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation to delete.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The Id of the Attachment to delete.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/unresolve": {
      "patch": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Unresolve annotation.",
        "description": "Unresolves a thread, given a Project Id and Annotation Id for the Root Annotation.",
        "operationId": "assets.v1.Collaboration.UnresolveAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation to unresolve.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/jira/project-configs/{jiraProjectConfigId}/issue-search": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Search issues from Jira ProjectConfig.",
        "description": "Search issues from Jira ProjectConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.SearchIssues",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "query",
            "in": "query",
            "description": "The query to search for.",
            "schema": {
              "type": "string",
              "example": "jane"
            },
            "example": "jane"
          },
          {
            "name": "includeSubTasks",
            "in": "query",
            "description": "Indicate whether to include subtasks in the issue list.",
            "schema": {
              "type": "boolean",
              "example": true
            },
            "example": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.SearchTaskManagementIssuesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/jira/project-configs/{jiraProjectConfigId}/issues/{jiraIssueId}": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Get Jira issue details.",
        "description": "Get Jira issue details.",
        "operationId": "assets.v1.CollaborationTaskManagement.GetIssueDetails",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "jiraIssueId",
            "in": "path",
            "description": "The Jira Issue id or key.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "10055"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetTaskManagementIssueDetailsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/jira/issues": {
      "post": {
        "tags": [
          "Jira management"
        ],
        "summary": "Create new Jira Issue.",
        "description": "Creates a new Jira Issue.",
        "operationId": "assets.v1.CollaborationTaskManagement.CreateJiraIssue",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Jira Issue to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.CreateJiraIssueRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.CreateJiraIssueResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/subscription": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Check if user is subscribed to a thread.",
        "description": "Check if a user is subscribed to thread",
        "operationId": "assets.v1.Collaboration.IsSubscribedToThread",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The id of the project the Annotation belongs to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The id of the rootAnnotation (thread) you want to check if the user is subscribed to.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.IsSubscribedToThreadResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Subscribe to a thread.",
        "description": "Subscribes the user to the given thread. A subscribed user will receive notifications associated with the given thread. The User to subscribe is inferred from authentication.",
        "operationId": "assets.v1.Collaboration.SubscribeToThread",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The Id of the project the Annotation belongs to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the rootAnnotation (thread) you want to subscribe to.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Unsubscribe from a thread.",
        "description": "Unsubscribe from notifications for a given thread.",
        "operationId": "assets.v1.Collaboration.UnsubscribeFromThread",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The id of the project the Annotation belongs to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The id of the rootAnnotation (thread) you want to unsubscribe from.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/jira/issues/{jiraIssueId}": {
      "put": {
        "tags": [
          "Jira management"
        ],
        "summary": "Link a Jira issue to an Annotation.",
        "description": "Link a Jira issue to an Annotation",
        "operationId": "assets.v1.CollaborationTaskManagement.LinkJiraIssueToAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "jiraIssueId",
            "in": "path",
            "description": "The Jira Issue id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "10055"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Jira Issue to be linked to Annotation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.LinkJiraIssueToAnnotationRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Jira management"
        ],
        "summary": "Unlink a Jira issue from an Annotation.",
        "description": "Unlink a Jira issue from an Annotation",
        "operationId": "assets.v1.CollaborationTaskManagement.UnlinkJiraIssueFromAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "jiraIssueId",
            "in": "path",
            "description": "The Id of the Jira issue.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "10055"
            },
            "example": "10055"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/jira/project-configs/{jiraProjectConfigId}/issue-types": {
      "get": {
        "tags": [
          "Jira management"
        ],
        "summary": "Get issue types from Jira ProjectConfig.",
        "description": "Get issue types from Jira ProjectConfig.",
        "operationId": "assets.v1.CollaborationTaskManagement.GetIssueTypes",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          },
          {
            "name": "jiraProjectConfigId",
            "in": "path",
            "description": "The Jira ProjectConfig id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetTaskManagementIssueTypesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/reactions": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Create annotation reaction.",
        "description": "Creates a new annotation reaction.",
        "operationId": "assets.v1.Collaboration.CreateAnnotationReaction",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Annotation Reaction to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.CreateNewAnnotationReactionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.Reaction"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Delete annotation reaction.",
        "description": "Removes the current user from the specified annotation reaction.",
        "operationId": "assets.v1.Collaboration.DeleteAnnotationReaction",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "code",
            "in": "query",
            "description": "The single-character Unicode-encoded emoji (UTF-16 surrogate pairs).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "😀"
            },
            "example": "😀"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jira/issue-search": {
      "post": {
        "tags": [
          "Jira management"
        ],
        "summary": "Get Jira issues across organization",
        "description": "returns a paginated list of Jira issues.",
        "operationId": "assets.v1.CollaborationTaskManagement.GetIssuesAcrossOrganization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the Jira issues to get.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetIssuesAcrossOrganizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetIssuesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/status/{targetStatus}": {
      "patch": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Update annotation status.",
        "description": "Updates an existing Annotation status given the Project Id and Annotation Id and Target status.\r\nThe following status transitions are allowed:\r\n- Draft → Sending.\r\n- Draft → Active.\r\n- Sending → Draft.\r\n- Sending → Active.",
        "operationId": "assets.v1.Collaboration.UpdateAnnotationStatus",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          },
          {
            "name": "targetStatus",
            "in": "path",
            "description": "The new status of the Annotation.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/assets.UpdateAnnotationStatus"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations-search/by-profile": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotations by profile",
        "description": "Read annotations matching the target with profile-based filtering.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationsByProfile",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing the profile and filter information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsByProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations-search/by-mention": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotations by mention",
        "description": "Read annotations matching the target with mention filtering.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationsByMention",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing the mentions and filter information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsByMentionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations-search/by-hashtag": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotations by hashtag",
        "description": "Read annotations matching the target with hashtag filtering.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationsByHashtag",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing the hashtags and filter information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsByHashtagRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/fields": {
      "delete": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Remove fields from annotation metadata",
        "description": "Remove one or several metadata field(s) from annotation custom metadata.",
        "operationId": "assets.v1.Collaboration.RemoveMetadataFieldsFromAnnotation",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The id of the project where the asset belongs.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The ID of the annotation.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "65325f523a625f7e1acdb197"
            },
            "example": "65325f523a625f7e1acdb197"
          },
          {
            "name": "metadata",
            "in": "query",
            "description": "The metadata field name(s) to remove from custom metadata.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/threads-count": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Reads the count of annotation threads grouped by target path within a project.",
        "description": "This method aggregates annotations by their target paths and returns the count of threads for each target.\r\nSupports wildcard target paths ending with \"**\" to match all nested targets under a base path.\r\nOnly counts root annotations (non-replies) that are active and not deleted.",
        "operationId": "assets.v1.Collaboration.ReadThreadCountsByTarget",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "target",
            "in": "query",
            "description": "Threads matching the Target will be counted. Glob-like partial matching on the Target field is supported.\r\n\n\r\n            \r\nThis supports partial matching by using a wildcard (`**`) at the end of the target path.\r\n\n\r\n            \r\nFor example, retrieving array of targets/sub-targets count for an asset can be done with:\r\n\n```assets/projects/{projectId}/assets/{assetId}/**```\n\r\n            \r\nImportant limitations:\r\n\n\r\n- The wildcard must be at the end of the path.\r\n\n\r\n- Full wildcard within the path is not supported.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The amount of targets to skip.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 10
            },
            "example": 10
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The page size.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 10
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetThreadCountsByTargetResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/read-receipts": {
      "put": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Upsert read receipt.",
        "description": "Upsert a user's read receipt for a specific annotation within a project by providing a timestamp.",
        "operationId": "assets.v1.Collaboration.UpsertReadReceipt",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation Id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the thread to upsert read receipts to.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.UpsertAnnotationReadReceiptRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/thumbnail/upload-url": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotation thumbnail upload URL.",
        "description": "Return an upload URL for a thumbnail on a given annotation.",
        "operationId": "assets.v1.Collaboration.ReadThumbnailUploadUrl",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ReadThumbnailUploadUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/thumbnail/finalize": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Finalize annotation thumbnail upload.",
        "description": "Finalize the upload of a thumbnail for an annotation.",
        "operationId": "assets.v1.Collaboration.FinalizeThumbnailUpload",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The Id of the Annotation.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "6628074db55fc0366a2057d0"
            },
            "example": "6628074db55fc0366a2057d0"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations/{annotationId}/thumbnail/download-url": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotation thumbnail download URL.",
        "description": "Return download URL for a thumbnail on a given annotation.",
        "operationId": "assets.v1.Collaboration.ReadThumbnailDownloadUrl",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "annotationId",
            "in": "path",
            "description": "The annotation id.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
            },
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          {
            "name": "width",
            "in": "query",
            "description": "The desired width of the thumbnail.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 256
            },
            "example": 256
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ReadThumbnailDownloadUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/annotations-search/by-profile": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Get annotations across organization by profile",
        "description": "returns a paginated list of annotations.",
        "operationId": "assets.v1.Collaboration.GetAnnotationsAcrossOrganization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the annotations to get.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsAcrossOrganizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/annotations-search/by-mention-entity": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Read annotations by entity mention",
        "description": "Read annotations matching the target with entity mention filtering.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationsByEntityMention",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request containing the entity mentions and filter information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsByMentionEntityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/annotations-search/by-mention-entity": {
      "post": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Get annotations across organization by entity mention",
        "description": "returns a paginated list of annotations.",
        "operationId": "assets.v1.Collaboration.ReadAnnotationsByEntityMentionAcrossOrganization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "5772925064011"
          }
        ],
        "requestBody": {
          "description": "The request containing the information of the annotations to get.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/assets.GetAnnotationsByMentionEntityAcrossOrganizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.GetAnnotationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/mentions-search/hashtag": {
      "get": {
        "tags": [
          "Annotation management"
        ],
        "summary": "Search hashtags",
        "description": "Search the hashtags used within the project, with optional prefix filtering.",
        "operationId": "assets.v1.Collaboration.SearchHashtags",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The project id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SearchText",
            "in": "query",
            "description": "Optional prefix filter to match against the mentioned entity id.\r\nIf provided, only entities starting with the given text will be returned.",
            "schema": {
              "type": "string",
              "example": "des"
            },
            "example": "des"
          },
          {
            "name": "Next",
            "in": "query",
            "description": "The pagination token given by the previous fetch.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "description": "The amount of mentions per page. Default is 10.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SortingOrder",
            "in": "query",
            "description": "The order to sort the mentions. Default is Ascending.",
            "schema": {
              "$ref": "#/components/schemas/assets.SortOrder"
            }
          },
          {
            "name": "SortingField",
            "in": "query",
            "description": "The field to sort the mentions from the page.\r\nAllowed values: \"name\", \"threadCount\", \"lastUsed\"",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.SearchMentionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/assets.ErrorMessage"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "assets.Annotation": {
        "required": [
          "annotationId",
          "created",
          "createdBy",
          "messageType",
          "projectId",
          "status",
          "target",
          "updated",
          "updatedBy"
        ],
        "type": "object",
        "properties": {
          "annotationId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Annotation.",
            "example": "6628074db55fc0366a2057d0"
          },
          "projectId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Project the Annotation belongs to."
          },
          "messageType": {
            "minLength": 1,
            "type": "string",
            "description": "Message type of the Annotation.\r\n            \r\nPossible values:\r\n- __User__: This Annotation was created by a User.\r\n- __Resolve__: This Annotation was created by the system when a User resolved an Annotation.\r\n- __Unresolve__ This Annotation was created by the system when a User unresolved an Annotation.\r\n- __Jira__ The Annotation was created by the system when a Jira Integration action was taken.",
            "example": "User"
          },
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "Defines the relationship between an annotation and its target entity.\r\n\n\r\n            \r\nThe `Target` field specifies the annotated object using a slash-delimited path.\r\nTargets begin with a service identifier, with \"assets\" (Asset Manager) currently being the only supported service.\r\nOther service designations are allowed but may have limited functionality.\r\n            \r\nIn Asset Manager, the standard target format for an asset is:\r\n```assets/projects/{projectId}/assets/{assetId}```\r\n            \r\nThis structure supports extensibility, such as targeting files within an asset or entities in other systems.\r\n\n\r\n            \r\nThe Read Annotation Matching Target endpoint allows wildcard searches at `/` delimiters.\r\n\n\r\n            \r\nExample: Retrieving all annotations for an asset:\r\n```assets/projects/{projectId}/assets/{assetId}/**```",
            "example": "assets/projects/e5a3ca16-13c7-4f2d-a5bb-984e349911df/assets/65325f523a625f7e1acdb197"
          },
          "targetContext": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Provides additional metadata for identifying and validating a target.\r\n\n\r\n            \r\nThe `TargetContext` allows specifying supplementary details about the target entity.\r\nIn supported services, this metadata can be configured for validation.\r\n            \r\nCurrently supported fields:\r\n- `assetVersion`: A UUID representing the targeted asset version.\r\n- `versionNumber`: A numeric value indicating the asset version number.\r\n            \r\nWhen used within the assets service, these fields enhance the precision of target resolution.",
            "nullable": true,
            "example": {
              "assetVersion": "b095dce9-6034-44c4-a02a-d41d7afbfab5"
            }
          },
          "rootAnnotationId": {
            "type": "string",
            "description": "To create a reply to an existing Annotation, provide the id of the Annotation. This will create a thread.\r\n\n\r\n            \r\nRoot annotations cannot be nested, if an annotation has a RootAnnotationId associated with it, it cannot accept another.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          },
          "status": {
            "minLength": 1,
            "type": "string",
            "description": "Status of the Annotation.\r\n            \r\nPossible values:\r\n- __Active__: This Annotation is active (visible to everyone).\r\n- __Sending__: This Annotation is in an \"Outbox\" position (visible to it's creator only).\r\n- __Draft__ This Annotation is still being written (visible to it's creator only).",
            "example": "Active"
          },
          "text": {
            "type": "string",
            "description": "Comment text.\r\nRestrictions:\r\n- Text is limited to 10,000 characters.\r\nThis field can also be used to direct notifications, using the Mentions\r\nformat detailed in the Annotation description.",
            "nullable": true,
            "example": " This is a text Annotation"
          },
          "replyCount": {
            "type": "integer",
            "description": "Total number of Replies to this annotation.\r\n\n\r\n            \r\nOnly relevant if this annotation is the start of a thread.",
            "format": "int32",
            "nullable": true,
            "example": 3
          },
          "replyUserIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of unique userIds that have replied to this RootAnnotation, max 5 users will be returned\r\n\n\r\n            \r\nIf the user making this request has replied, their Id will be included in the list.",
            "nullable": true,
            "example": [
              "5772465996530",
              "5772465996531",
              "5772465996533"
            ]
          },
          "latestReply": {
            "type": "string",
            "description": "Timestamp of latest Reply for the RootAnnotation.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "nullable": true,
            "example": "2023-09-15T15:48:26.731Z"
          },
          "created": {
            "type": "string",
            "description": "Timestamp when the Annotation was created.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "example": "2023-09-15T15:48:26.731Z"
          },
          "createdBy": {
            "minLength": 1,
            "type": "string",
            "description": "The Unity account Id of the creator of the Annotation.\r\n             \n\r\n            \r\n             In the case of system generated annotations, such as Un/Resolve annotations, this field is the ID of the user that triggered the action.",
            "example": "5772465996530"
          },
          "updated": {
            "type": "string",
            "description": "The date when the Annotation was last updated.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "example": "2023-09-15T15:48:26.731Z"
          },
          "updatedBy": {
            "minLength": 1,
            "type": "string",
            "description": "The Unity account Id of the user whom last updated the Annotation.",
            "example": "5772465996530"
          },
          "resolved": {
            "type": "string",
            "description": "Timestamp of when the Annotation was resolved.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "nullable": true,
            "example": "2023-09-15T15:48:26.731Z"
          },
          "resolvedBy": {
            "type": "string",
            "description": "The Unity account Id of the user who resolved the Annotation.",
            "nullable": true,
            "example": "5772465996530"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Metadata for the Annotation\r\n\n\r\n            \r\nThis is not currently displayed by the frontend, but can be used to store information for custom use cases.",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/assets.AnnotationFileAttachment"
                },
                {
                  "$ref": "#/components/schemas/assets.AnnotationSketchAttachment"
                },
                {
                  "$ref": "#/components/schemas/assets.AnnotationSpatialAttachment"
                }
              ],
              "description": "Represents an attachment linked to an annotation.\r\n\n\r\nAttachments can include files, or other formats that will extend the API.\r\n\n\r\n            \r\n- Attachments provide additional context or location data.\r\n\n\r\n- File attachments should be uploaded and downloaded via separate URL endpoints.\r\n\n\r\n- <b>Important:</b> This definition may be extended in the future.\r\n\n\r\n  Users should filter for their supported attachment types."
            },
            "description": "Represents an attachment linked to an annotation.\r\n            \r\nAttachments can include files, or other formats that will extend the API.\r\n\n\r\n            \r\n- Attachments provide additional context or location data.\r\n- File attachments should be uploaded and downloaded via separate URL endpoints.\r\n- <b>Important:</b> This definition may be extended in the future.\r\n  Users should filter for their supported attachment types.",
            "nullable": true
          },
          "reactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.Reaction"
            },
            "description": "The Annotation Reactions.\r\n\n\r\n            \r\nThis will always contain the Id of the user who has fetched this information if they are in the list.",
            "nullable": true,
            "example": [
              {
                "userIds": [
                  "5772465996530"
                ],
                "code": "👍",
                "count": 1
              },
              {
                "userIds": [
                  "5772465996531"
                ],
                "code": "😀",
                "count": 1
              },
              {
                "userIds": [
                  "5772465996531",
                  "5772465996532",
                  "5772465996533"
                ],
                "code": "😂",
                "count": 3
              }
            ]
          },
          "integrations": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/assets.IntegrationJiraIssue"
              }
            },
            "description": "Details about Integrations that have been connected to this Annotation.",
            "nullable": true,
            "example": {
              "JiraIssues": [
                {
                  "type": "Jira",
                  "jiraIssueId": "10001",
                  "jiraProjectConfigId": "6628074db55fc0366a2057d0",
                  "jiraIssueKey": "TEST-1",
                  "jiraIssueUrl": "https://jira.com/browse/TEST-1",
                  "sourceAnnotationId": "6628074db55fc0366a2057d1"
                },
                {
                  "type": "Jira",
                  "jiraIssueId": "10002",
                  "jiraProjectConfigId": "6628074db55fc0366a2057d0",
                  "jiraIssueKey": "TEST-2",
                  "jiraIssueUrl": "https://jira.com/browse/TEST-2",
                  "sourceAnnotationId": "6628074db55fc0366a2057d1"
                }
              ]
            }
          },
          "hasDraftReply": {
            "type": "boolean",
            "description": "Indicates whether the annotation has a draft reply.\r\n\n\r\n            \r\nIf the user making this request has a draft reply, this field will be true.",
            "nullable": true,
            "example": true
          },
          "threadAttachmentsCount": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Number of the attachments (root annotation + replies) in the thread, grouped by attachment type",
            "nullable": true,
            "example": {
              "file": 2,
              "spatial-3d": 3
            }
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "localSpace": {
            "$ref": "#/components/schemas/assets.LocalSpace"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "replyLastReadTimestamp": {
            "type": "string",
            "description": "Indicates the timestamp of the last time replies associated with the Annotation were read by the user.\r\n\n\r\n            \r\nOnly relevant if this annotation is the start of a thread.",
            "format": "date-time",
            "nullable": true,
            "example": "2023-09-15T15:48:26.731Z"
          },
          "replyUnreadCount": {
            "type": "integer",
            "description": "Indicates the count of replies to the Annotation that are still unread.\r\n\n\r\n            \r\nOnly relevant if this annotation is the start of a thread.",
            "format": "int32",
            "nullable": true,
            "example": 3
          },
          "hasThumbnail": {
            "type": "boolean",
            "description": "Indicates whether the annotation has a thumbnail.",
            "nullable": true,
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an Annotation."
      },
      "assets.AnnotationAttachment": {
        "required": [
          "attachmentId",
          "created",
          "createdBy",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "minLength": 1,
            "type": "string",
            "description": "The type of the Attachment, this should be used to identify the specific type of Attachment given.",
            "example": "\"file\" | \"spatial-3d\" | \"sketch\""
          },
          "attachmentId": {
            "minLength": 1,
            "type": "string",
            "description": "The Id of the attachment.",
            "example": "67cd7cae3ca1a1e9ae67f45c"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Metadata for the Attachment. Can be used to store information about the attachments relevant for custom applications.",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          },
          "created": {
            "type": "string",
            "description": "Timestamp when the Annotation Attachment was created.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "example": "2023-09-15T15:48:26.731Z"
          },
          "createdBy": {
            "minLength": 1,
            "type": "string",
            "description": "The Unity account Id of the creator of the Annotation Attachment.",
            "example": "5772465996530"
          }
        },
        "additionalProperties": false,
        "description": "Represents an attachment linked to an annotation.\r\n\n\r\nAttachments can include files, or other formats that will extend the API.\r\n\n\r\n            \r\n- Attachments provide additional context or location data.\r\n\n\r\n- File attachments should be uploaded and downloaded via separate URL endpoints.\r\n\n\r\n- <b>Important:</b> This definition may be extended in the future.\r\n\n\r\n  Users should filter for their supported attachment types."
      },
      "assets.AnnotationExport": {
        "required": [
          "annotationId",
          "annotationUrl",
          "assetId",
          "assetName",
          "author",
          "created",
          "isReply",
          "issueIds",
          "target"
        ],
        "type": "object",
        "properties": {
          "assetId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Asset.",
            "example": "65325f523a625f7e1acdb197"
          },
          "assetName": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the Asset."
          },
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "Defines the relationship between an annotation and its target entity.\r\n\n\r\n            \r\nThe `Target` field specifies the annotated object using a slash-delimited path.\r\nTargets begin with a service identifier, with \"assets\" (Asset Manager) currently being the only supported service.\r\nOther service designations are allowed but may have limited functionality.\r\n            \r\nIn Asset Manager, the standard target format for an asset is:\r\n```assets/projects/{projectId}/assets/{assetId}```\r\n            \r\nThis structure supports extensibility, such as targeting files within an asset or entities in other systems.\r\n\n\r\n            \r\nThe Read Annotation Matching Target endpoint allows wildcard searches at `/` delimiters.\r\n\n\r\n            \r\nExample: Retrieving all annotations for an asset:\r\n```assets/projects/{projectId}/assets/{assetId}/**```",
            "example": "assets/projects/e5a3ca16-13c7-4f2d-a5bb-984e349911df/assets/65325f523a625f7e1acdb197"
          },
          "targetContext": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Provides additional metadata for identifying and validating a target.\r\n\n\r\n            \r\nThe `TargetContext` allows specifying supplementary details about the target entity.\r\nIn supported services, this metadata can be configured for validation.\r\n            \r\nCurrently supported fields:\r\n- `assetVersion`: A UUID representing the targeted asset version.\r\n- `versionNumber`: A numeric value indicating the asset version number.\r\n            \r\nWhen used within the assets service, these fields enhance the precision of target resolution.",
            "nullable": true,
            "example": {
              "assetVersion": "b095dce9-6034-44c4-a02a-d41d7afbfab5"
            }
          },
          "threadId": {
            "type": "string",
            "description": "The thread id of the Annotation.",
            "nullable": true
          },
          "annotationId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Annotation.",
            "example": "6628074db55fc0366a2057d0"
          },
          "isReply": {
            "type": "boolean",
            "description": "Indicates whether the annotation is a reply within a thread (true) or the root annotation that starts the thread (false)."
          },
          "created": {
            "type": "string",
            "description": "Timestamp when the Annotation was created.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "example": "2023-09-15T15:48:26.731Z"
          },
          "author": {
            "minLength": 1,
            "type": "string",
            "description": "The creator of the Annotation."
          },
          "isResolved": {
            "type": "boolean",
            "description": "Indicates whether the annotation is resolved or not."
          },
          "text": {
            "type": "string",
            "description": "Comment text.",
            "nullable": true,
            "example": " This is a text Annotation"
          },
          "attachmentsCount": {
            "type": "integer",
            "description": "Total number of Annotation attachments.",
            "format": "int32",
            "example": 3
          },
          "issueIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The task management issue ids."
          },
          "annotationUrl": {
            "minLength": 1,
            "type": "string",
            "description": "The asset manager annotation URL."
          }
        },
        "additionalProperties": false,
        "description": "Represents an Annotation."
      },
      "assets.AnnotationFileAttachment": {
        "required": [
          "filePath",
          "status"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.AnnotationAttachment"
          }
        ],
        "properties": {
          "filePath": {
            "minLength": 1,
            "type": "string",
            "description": "A simple filename or a relative path to a target directory for the attachment.\r\n\n\r\n            \r\nExamples:\r\n\"image.jpeg\" | \"test/assets/image.jpeg\"",
            "example": "test/assets/image.jpeg"
          },
          "fileSize": {
            "type": "integer",
            "description": "The file size.",
            "format": "int64",
            "example": 1024
          },
          "fileType": {
            "type": "string",
            "description": "The file type.\r\n\n\r\n            \r\nExamples:\r\n\"image\" | \"video\" | \"audio\" | \"text\" | \"3Dmodel\" | \"Other\"",
            "nullable": true,
            "example": "image"
          },
          "contentType": {
            "type": "string",
            "description": "The file content type, MIME type if relevant.\r\n\n\r\n            \r\nThis should match the MIME type of the file if it exists. https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types",
            "nullable": true,
            "example": "image/jpeg"
          },
          "status": {
            "minLength": 1,
            "type": "string",
            "description": "Status of the attachment file.\r\n            \r\nPossible values:\r\n- __Unknown__: Unknown status.\r\n- __Draft__: The file is in draft.\r\n- __Uploaded__: The file has been uploaded.",
            "example": "Uploaded"
          }
        },
        "additionalProperties": false,
        "description": "A file attachment."
      },
      "assets.AnnotationQueryClause": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Gets or sets the clause type discriminator.\r\nSupported values: `equals`, `has`, `hasNot`, `glob`, `in`, `mention-entity`, `and`, `or`.\r\nDeprecated values (still accepted): `status`, `resolve-status`, `jira-association`.",
            "nullable": true
          },
          "field": {
            "type": "string",
            "description": "Gets or sets the field name to filter on.\r\nUsed by `equals`, `has`, `hasNot`, `glob`, and `in` clauses.",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "Gets or sets the filter value.\r\nUsed by `equals` and `glob` clauses, and deprecated `status`, `resolve-status`, `jira-association` clauses.",
            "nullable": true
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets or sets the filter values. Used by `in` clauses (max 100 entries).",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "description": "Gets or sets the entity type to filter by. Used by `mention-entity` clauses (e.g. `asset`, `user`, `hashtag`).",
            "nullable": true
          },
          "entityIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets or sets the entity IDs to filter by. Used by `mention-entity` clauses.",
            "nullable": true
          },
          "query": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.AnnotationQueryClause"
            },
            "description": "Gets or sets the nested clauses. Used by `and` and `or` clauses.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a single filter clause in an annotation query.\r\n\nSupported clause types and their field usage:<list type=\"table\"><listheader><term>Type</term><description>Fields</description></listheader><item><term>`equals`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field: `status` | `resolve-status` | `annotationParentId`.    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Value: the value to match exactly.    For `status`: `Active`, `Sending`, `Draft`.    For `resolve-status`: `Resolved`, `Unresolved`.  </description></item><item><term>`has`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field: `annotationParentId` | `integrations.JiraIssues`.    Matches annotations where the field is present and non-empty.  </description></item><item><term>`hasNot`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field: `annotationParentId` | `integrations.JiraIssues`.    Matches annotations where the field is absent or empty.  </description></item><item><term>`glob`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field: `target` (only supported field).    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Value: a glob pattern, e.g. `assets/projects/{projectId}/assets/{assetId}/**`.  </description></item><item><term>`in`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field: `createdBy` | `updatedBy`.    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Values: the user ids to match (max 100); an annotation matches when the field    equals any of them. `equals` with a single Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Value is accepted on the same    fields as a one-element shorthand.    `createdBy` matches the user who created the annotation. `updatedBy` matches the    user who <b>last acted on</b> the annotation: it is stamped with the creator at creation and    restamped by edit, resolve, unresolve and delete — there is no edit history, so only the most    recent actor matches.  </description></item><item><term>`mention-entity`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.EntityType: the entity type to filter by (e.g. `asset`, `user`, `hashtag`).    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.EntityIds: the entity IDs to match against.  </description></item><item><term>`and`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Query: child clauses, all of which must match (logical AND).  </description></item><item><term>`or`</term><description>Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Query: child clauses, at least one of which must match (logical OR).  </description></item><item><term>`status` (deprecated)</term><description>    Use `equals` with Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field = `status` instead.    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Value: `All` (default), `Active`, `Sending`, `Draft`.  </description></item><item><term>`resolve-status` (deprecated)</term><description>    Use `equals` with Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field = `resolve-status` instead.    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Value: `All` (default), `Resolved`, `Unresolved`.  </description></item><item><term>`jira-association` (deprecated)</term><description>    Use `has` / `hasNot` with Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Field = `integrations.JiraIssues` instead.    Unity.ContentAssetCloud.Api.Domain.V1.Requests.AnnotationQueryClause.Value: `All` (default), `WithJiraTickets`, `WithoutJiraTickets`.  </description></item></list>"
      },
      "assets.AnnotationSketchAttachment": {
        "required": [
          "camera",
          "sketchData"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.AnnotationAttachment"
          }
        ],
        "properties": {
          "sketchData": {
            "minLength": 1,
            "type": "string",
            "description": "The JSON data of the sketch."
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "preview": {
            "$ref": "#/components/schemas/assets.FileDetailsView"
          },
          "sketchImage": {
            "$ref": "#/components/schemas/assets.FileDetailsView"
          }
        },
        "additionalProperties": false,
        "description": "A sketch attachment."
      },
      "assets.AnnotationSpatialAttachment": {
        "required": [
          "camera",
          "position"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.AnnotationAttachment"
          }
        ],
        "properties": {
          "label": {
            "type": "string",
            "description": "A simple label for the attachment.",
            "nullable": true,
            "example": "buildingChimneyAnnotation"
          },
          "position": {
            "$ref": "#/components/schemas/assets.Position"
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "local": {
            "$ref": "#/components/schemas/assets.LocalSpace"
          }
        },
        "additionalProperties": false,
        "description": "A spatial-3d attachment."
      },
      "assets.AnnotationStatusFilter": {
        "enum": [
          "All",
          "Active",
          "Sending",
          "Draft"
        ],
        "type": "string",
        "description": "Filter for the Status of the Annotations."
      },
      "assets.Camera": {
        "required": [
          "position",
          "rotation"
        ],
        "type": "object",
        "properties": {
          "position": {
            "$ref": "#/components/schemas/assets.Position"
          },
          "rotation": {
            "$ref": "#/components/schemas/assets.Rotation"
          },
          "fieldOfView": {
            "type": "number",
            "description": "Vertical camera field of view. Should be null if the camera is an orthographic projection.",
            "format": "float",
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/assets.Position"
          },
          "projection": {
            "type": "string",
            "description": "Projection type for the camera. Possible values: \"orthographic\" | \"perspective\".",
            "nullable": true
          },
          "verticalSize": {
            "type": "number",
            "description": "Vertical viewing size for the camera. Should be null if the camera is a perspective projection.",
            "format": "float",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Camera datastructure."
      },
      "assets.CheckServerCredentialsRequest": {
        "required": [
          "key",
          "url",
          "username"
        ],
        "type": "object",
        "properties": {
          "url": {
            "minLength": 1,
            "type": "string",
            "description": "The URL of the Jira server we are configuring.",
            "example": "https://jira.mycompany.com"
          },
          "username": {
            "minLength": 1,
            "type": "string",
            "description": "Username used to connect to the Jira server.",
            "example": "myusername@mycompany.com"
          },
          "key": {
            "minLength": 1,
            "type": "string",
            "description": "Key used to connect to the Jira server.",
            "example": "mysecretapitoken"
          }
        },
        "additionalProperties": false,
        "description": "A request to check credentials for a given Server."
      },
      "assets.CreateAnnotationStatus": {
        "enum": [
          "Active",
          "Draft"
        ],
        "type": "string",
        "description": "The status of the Annotation."
      },
      "assets.CreateJiraIssueRequest": {
        "required": [
          "issueTypeId",
          "jiraProjectConfigId",
          "summary"
        ],
        "type": "object",
        "properties": {
          "jiraProjectConfigId": {
            "minLength": 1,
            "type": "string",
            "description": "The Jira ProjectConfig Id to use for creating the Jira issue.",
            "example": "6628074db55fc0366a2057a5"
          },
          "issueTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "The Id of type of the Jira issue to create.",
            "example": "1002"
          },
          "summary": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "The summary of the Jira issue to create.",
            "example": "Jira issue summary"
          },
          "description": {
            "type": "string",
            "description": "The description of the Jira issue to create.",
            "nullable": true,
            "example": "Jira issue description"
          },
          "reporterUserId": {
            "type": "string",
            "description": "The Jira UserId of the reporter of the Jira issue to create.",
            "nullable": true,
            "example": "16c98b87d16f886a25e6c552"
          },
          "assigneeUserId": {
            "type": "string",
            "description": "The Jira UserId of the assignee of the Jira issue to create.",
            "nullable": true,
            "example": "16c98b87d16f886a25e6c552"
          },
          "parentIssueId": {
            "type": "string",
            "description": "The Jira Id of the parent issue if creating a sub-task.",
            "nullable": true,
            "example": "84894"
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get the configurations for a project."
      },
      "assets.CreateJiraIssueResponse": {
        "type": "object",
        "properties": {
          "jiraIssueId": {
            "type": "string",
            "description": "The newly created Jira Issue Id.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          }
        },
        "additionalProperties": false,
        "description": "The success response of the Jira Issue."
      },
      "assets.CreateJiraProjectConfigRequest": {
        "required": [
          "defaultReporterId",
          "jiraProjectId"
        ],
        "type": "object",
        "properties": {
          "jiraProjectId": {
            "minLength": 1,
            "type": "string",
            "description": "Unique Id for the Jira project.",
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          "defaultReporterId": {
            "minLength": 1,
            "type": "string",
            "description": "Used when creating a new issue, if the creator of the Annotation cannot be matched to a Jira users, this user will be used instead as the reporter.",
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          "linkedUnityProjectIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Link this ProjectConfig to a list of Unity projects. If this list is not empty, this ProjectConfig will only be available to the linked projects.",
            "nullable": true,
            "example": [
              "6628074db55fc0366a2057d0"
            ]
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new Jira ProjectConfig."
      },
      "assets.CreateJiraProjectConfigResponse": {
        "type": "object",
        "properties": {
          "jiraProjectConfigId": {
            "type": "string",
            "description": "The newly created Jira Project Config id.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          }
        },
        "additionalProperties": false,
        "description": "The success response of the Jira Project Config creation."
      },
      "assets.CreateNewAnnotationAttachmentRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "minLength": 1,
            "type": "string",
            "description": "The type of the Attachment, this should be used to identify the specific type of Attachment given.",
            "example": "file"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Metadata for the Attachment",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new annotation attachment."
      },
      "assets.CreateNewAnnotationAttachmentResponse": {
        "type": "object",
        "properties": {
          "attachmentId": {
            "type": "string",
            "description": "ID of the created attachment.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          },
          "uploadUrl": {
            "type": "string",
            "description": "The upload url for the sole file in the attachment.\r\n\n\r\n            \r\nOnly returned if there is a single file in the attachment, otherwise UploadUrls will be used.",
            "nullable": true
          },
          "uploadUrls": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A dictionary of upload URLs for the files in the created attachment.\r\n\n\r\n            \r\nOnly returned if there are multiple file in the attachment, otherwise UploadUrl will be used.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response of a creating a new annotation attachment.\r\n\n\r\n            \r\nNote - Only one of UploadUrl and UploadUrls will be returned."
      },
      "assets.CreateNewAnnotationFileAttachmentRequest": {
        "required": [
          "filePath"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.CreateNewAnnotationAttachmentRequest"
          }
        ],
        "properties": {
          "filePath": {
            "minLength": 1,
            "type": "string",
            "description": "A simple filename or a relative path to a target directory for the attachment.\r\n            \r\nExamples:\r\n\"image.jpeg\" | \"test/assets/image.jpeg\"",
            "example": "test/assets/image.jpeg"
          },
          "fileSize": {
            "type": "integer",
            "description": "The file size.",
            "format": "int64",
            "example": 1024
          },
          "fileType": {
            "type": "string",
            "description": "The file type.\r\n            \r\nExamples:\r\n\"image\" | \"video\" | \"audio\" | \"text\" | \"3Dmodel\" | \"Other\"",
            "nullable": true,
            "example": "image"
          },
          "contentType": {
            "type": "string",
            "description": "The file content type, MIME type if relevant.\r\n            \r\n\n\r\nThis should match the MIME type of the file if it exists. https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types",
            "nullable": true,
            "example": "image/jpeg"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new annotation file attachment."
      },
      "assets.CreateNewAnnotationReactionRequest": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "minLength": 1,
            "type": "string",
            "description": "The single-character Unicode-encoded emoji (UTF-16 surrogate pairs).",
            "example": "😀"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new Annotation."
      },
      "assets.CreateNewAnnotationRequest": {
        "required": [
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "String containing a path encoding of the element (e.g. asset) to associate the Annotation with.\r\n\n\r\n            \r\nFormat:\r\n    assets/projects/{projectId}/assets/{assetId}",
            "example": "assets/projects/e5a3ca16-13c7-4f2d-a5bb-984e349911df/assets/65325f523a625f7e1acdb197"
          },
          "targetContext": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional metadata used to further identify the element to associate the Annotation with.\r\n\n\r\n            \r\nExamples of fields that could be used if you are using the assets service marker are:\r\n- assetVersion: string\r\n    ID of the Asset Version to target within the Asset Manager.\r\n- versionNumber: int\r\n    Numeric value representing the Version of the Asset to target.",
            "nullable": true,
            "example": {
              "assetVersion": "b095dce9-6034-44c4-a02a-d41d7afbfab5"
            }
          },
          "rootAnnotationId": {
            "type": "string",
            "description": "null if Annotation is a Root Annotation or an Annotation ID of a root annotation if this Annotation is a Reply in a Thread\r\n\n\r\n            \r\nThe RootAnnotationId allows for a root/child relationship. These cannot be nested, allowing only for a thread design.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          },
          "text": {
            "type": "string",
            "description": "Text for the Annotation\r\n\n\r\n            \r\n### Restrictions\r\n\n\r\n            \r\n - Must be less than 10,000 characters\r\n            \r\n            \r\n### Mentioning a User\r\n\n\r\n            \r\nTo mention a User, use format `:user[username]{#user_id}`.\r\n\n\r\nFor example `:user[Jane Doe]{#9876543211011}`, where `Jane Doe` is the user's display name\r\n\n\r\nand `9876543211011` is the user's Unity ID. The username is used when rendering the Annotation\r\n\n\r\nfor display, ie `@Jane Doe` will be displayed.",
            "nullable": true,
            "example": "This text mentions :user[Jane Doe]{#9876543211011}"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Object for holding additional user definited metadata.\r\n\n\r\n            \r\nThis is not used within the annotations system, but can be useful for storing information useful for enhancing the annotation within a custom system.\r\nThis will not be displayed on the web portal currently.",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          },
          "unresolveRootAnnotation": {
            "type": "boolean",
            "description": "If creating a reply, set to true to unresolve the rootAnnotation.\r\n\n\r\n            \r\nThis is only applicable for annotations in a thread that has been marked as resolved. In other cases it will have no effect."
          },
          "attachments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/assets.CreateNewAnnotationFileAttachmentRequest"
                },
                {
                  "$ref": "#/components/schemas/assets.CreateNewAnnotationSketchAttachmentRequest"
                },
                {
                  "$ref": "#/components/schemas/assets.CreateNewAnnotationSpatialAttachmentRequest"
                }
              ],
              "description": "A request to create a new annotation attachment."
            },
            "description": "The attachments that should be created with the annotation.\r\n\n\r\n            \r\n### Attachment Types\r\n\n\r\n            \r\nThese attachments can have multiple types, as defined by the OneOf schema.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/assets.CreateAnnotationStatus"
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "localSpace": {
            "$ref": "#/components/schemas/assets.LocalSpace"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new Annotation."
      },
      "assets.CreateNewAnnotationResponse": {
        "type": "object",
        "properties": {
          "annotationId": {
            "type": "string",
            "description": "ID of the created Annotation.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          }
        },
        "additionalProperties": false,
        "description": "The response of a creating a new Annotation."
      },
      "assets.CreateNewAnnotationSketchAttachmentRequest": {
        "required": [
          "camera",
          "sketchData"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.CreateNewAnnotationAttachmentRequest"
          }
        ],
        "properties": {
          "sketchData": {
            "minLength": 1,
            "type": "string",
            "description": "The JSON data of the sketch."
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "preview": {
            "$ref": "#/components/schemas/assets.FileDetails"
          },
          "sketchImage": {
            "$ref": "#/components/schemas/assets.FileDetails"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new sketch annotation attachment."
      },
      "assets.CreateNewAnnotationSpatialAttachmentRequest": {
        "required": [
          "camera",
          "label",
          "position"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.CreateNewAnnotationAttachmentRequest"
          }
        ],
        "properties": {
          "label": {
            "minLength": 1,
            "type": "string",
            "description": "A simple label for the attachment.",
            "example": "buildingChimneyAnnotation"
          },
          "position": {
            "$ref": "#/components/schemas/assets.Position"
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "local": {
            "$ref": "#/components/schemas/assets.LocalSpace"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new spatial annotation attachment."
      },
      "assets.CreateServerConfigRequest": {
        "required": [
          "key",
          "name",
          "url",
          "username"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "User provided name for the configuration.",
            "example": "My Jira Server"
          },
          "url": {
            "minLength": 1,
            "type": "string",
            "description": "The URL of the Jira server we are configuring.",
            "example": "https://jira.mycompany.com"
          },
          "username": {
            "minLength": 1,
            "type": "string",
            "description": "Username used to connect to the Jira server.",
            "example": "myusername@mycompany.com"
          },
          "key": {
            "minLength": 1,
            "type": "string",
            "description": "Key used to connect to the Jira server.",
            "example": "mysecretapitoken"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new ServerConfig."
      },
      "assets.CreateServerConfigResponse": {
        "type": "object",
        "properties": {
          "jiraServerConfigId": {
            "type": "string",
            "description": "ID of the created JiraServerConfig.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          }
        },
        "additionalProperties": false,
        "description": "The response of a creating a new ServerConfig."
      },
      "assets.ErrorMessage": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "stackTrace": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.ErrorMessageDetail"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "assets.ErrorMessageDetail": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "assets.ExportAnnotationsApiRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Annotations matching the Target will be returned. Glob-like partial matching on the Target field is supported.\r\n\n\r\n            \r\nThis supports partial matching by using a wildcard (`**`) at the end of the target path.\r\n\n\r\n            \r\nFor example, retrieving all annotations for an asset can be done with:\r\n\n```assets/projects/{projectId}/assets/{assetId}/**```\n\r\n            \r\nImportant limitations:\r\n\n\r\n- The wildcard must be at the end of the path.\r\n\n\r\n- Full wildcard searching within the path is not supported.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32",
            "example": 10
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is \"annotationId\".\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get a single Annotation."
      },
      "assets.ExportAnnotationsApiResponse": {
        "type": "object",
        "properties": {
          "annotations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.AnnotationExport"
            },
            "description": "The definition of the Annotations.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token for next page.\r\n             \n\r\n            \r\n             If null, there are no more annotations.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "The total count of annotations.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "The response with Annotations to export."
      },
      "assets.FileDetails": {
        "required": [
          "fileSize"
        ],
        "type": "object",
        "properties": {
          "fileSize": {
            "type": "integer",
            "description": "The file size.",
            "format": "int64"
          },
          "fileType": {
            "type": "string",
            "description": "The file type.",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "description": "The file content type, MIME type if relevant.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "File data for sketch attachment."
      },
      "assets.FileDetailsView": {
        "required": [
          "filePath",
          "fileSize",
          "status"
        ],
        "type": "object",
        "properties": {
          "filePath": {
            "minLength": 1,
            "type": "string",
            "description": "The file path."
          },
          "fileSize": {
            "type": "integer",
            "description": "The file size.",
            "format": "int64"
          },
          "fileType": {
            "type": "string",
            "description": "The file type.",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "description": "The file content type, MIME type if relevant.",
            "nullable": true
          },
          "status": {
            "minLength": 1,
            "type": "string",
            "description": "Status of the attachment file.\r\n            \r\nPossible values:\r\n- __Unknown__: Unknown status.\r\n- __Draft__: The file is in draft.\r\n- __Uploaded__: The file has been uploaded.",
            "example": "Uploaded"
          }
        },
        "additionalProperties": false,
        "description": "File data for sketch attachment."
      },
      "assets.GetAnnotationAttachmentFileDownloadUrlResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The download url.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response of getting an annotation file attachment download url."
      },
      "assets.GetAnnotationAttachmentFileUploadUrlResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The signed upload URL to upload the file.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response of getting an annotation attachment file upload URL."
      },
      "assets.GetAnnotationRepliesResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.Annotation"
            },
            "description": "The Replies for the given Annotation.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token for next page.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found Replies matching Annotation."
      },
      "assets.GetAnnotationsAcrossOrganizationRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Optional domain-level wildcard target to filter annotations across the organization,\r\ne.g. \"assets/**\" or \"unity/**\". When omitted, annotations for all accessible projects are returned.",
            "nullable": true,
            "example": "assets/**"
          },
          "baseProfile": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Apply a profile to be used as the basis of the request. Defaults to empty query if not provided.\r\nThe profiles are applied in order, with later profiles overriding earlier ones in case of conflicts.\r\nAllowed values: \"all\", \"threads\", \"active\", \"resolved\", \"unresolved\", \"draft\", \"sending\", \"hasJiraTickets\"",
            "nullable": true
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields to include in the response.\r\nAllowed values: \"replyUserIds\", \"replyCount\", \"latestReply\", \"attachments\", \"threadAttachmentsCount\", \"replyLastReadTimestamp\", \"replyUnreadCount\"",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32",
            "example": 10
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is \"annotationId\".\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A request to get annotations across organization."
      },
      "assets.GetAnnotationsByHashtagRequest": {
        "required": [
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "Wildcard pattern to match against annotation targetUri.",
            "example": "asset/projects/{projectId}/assets/{assetId}/**"
          },
          "hashtags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of hashtags to filter annotations by tag.\r\nIf provided, only annotations containing any of the specified hashtags will be returned.",
            "nullable": true
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields to include in the response.\r\nAllowed values: \"replyUserIds\", \"replyCount\", \"latestReply\", \"attachments\", \"threadAttachmentsCount\", \"replyLastReadTimestamp\", \"replyUnreadCount\"",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32"
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is \"annotationId\".\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get annotations by hashtags."
      },
      "assets.GetAnnotationsByMentionEntityAcrossOrganizationRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Optional domain-level wildcard target to filter annotations across the organization,\r\ne.g. \"assets/**\" or \"unity/**\". When omitted, no target filtering occurs.",
            "nullable": true,
            "example": "assets/**"
          },
          "mentionEntityIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of entityIds to filter annotations by entity mention.\r\nIf provided, only annotations where any of the specified entity ids have been mentioned will be returned.",
            "nullable": true
          },
          "mentionEntityType": {
            "type": "string",
            "description": "The entity type.\r\nAllowed values: \"user\", \"hashtag\", \"asset\"",
            "nullable": true
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields to include in the response.\r\nAllowed values: \"replyUserIds\", \"replyCount\", \"latestReply\", \"attachments\", \"threadAttachmentsCount\", \"replyLastReadTimestamp\", \"replyUnreadCount\"",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32",
            "example": 10
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is \"annotationId\".\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A request to get annotations by entity mentions across organization."
      },
      "assets.GetAnnotationsByMentionEntityRequest": {
        "required": [
          "mentionEntityIds",
          "mentionEntityType",
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "Wildcard pattern to match against annotation targetUri.",
            "example": "asset/projects/{projectId}/assets/{assetId}/**"
          },
          "mentionEntityIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of entityIds to filter annotations by entity mention.\r\nIf provided, only annotations where any of the specified entity ids have been mentioned will be returned."
          },
          "mentionEntityType": {
            "minLength": 1,
            "type": "string",
            "description": "The entity type.\r\nAllowed values: \"user\", \"hashtag\", \"asset\""
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields to include in the response.\r\nAllowed values: \"replyUserIds\", \"replyCount\", \"latestReply\", \"attachments\", \"threadAttachmentsCount\", \"replyLastReadTimestamp\", \"replyUnreadCount\"",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32"
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is AnnotationId.\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get annotations by entity mentions."
      },
      "assets.GetAnnotationsByMentionRequest": {
        "required": [
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "Wildcard pattern to match against annotation targetUri.",
            "example": "asset/projects/{projectId}/assets/{assetId}/**"
          },
          "mentions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of userIds to filter annotations by mention.\r\nIf provided, only annotations where any of the specified users have been mentioned will be returned.",
            "nullable": true
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields to include in the response.\r\nAllowed values: \"replyUserIds\", \"replyCount\", \"latestReply\", \"attachments\", \"threadAttachmentsCount\", \"replyLastReadTimestamp\", \"replyUnreadCount\"",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32"
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is AnnotationId.\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get annotations by mentions."
      },
      "assets.GetAnnotationsByProfileRequest": {
        "required": [
          "target"
        ],
        "type": "object",
        "properties": {
          "target": {
            "minLength": 1,
            "type": "string",
            "description": "Wildcard pattern to match against annotation targetUri.",
            "example": "asset/projects/{projectId}/assets/{assetId}/**"
          },
          "baseProfile": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Apply a profile to be used as the basis of the request. Defaults to empty query if not provided.\r\nThe profiles are applied in order, with later profiles overriding earlier ones in case of conflicts.\r\nAllowed values: \"all\", \"threads\", \"active\", \"resolved\", \"unresolved\", \"draft\", \"sending\", \"hasJiraTickets\"",
            "nullable": true
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields to include in the response.\r\nAllowed values: \"replyUserIds\", \"replyCount\", \"latestReply\", \"attachments\", \"threadAttachmentsCount\", \"replyLastReadTimestamp\", \"replyUnreadCount\"",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32"
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is \"annotationId\".\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get annotations by profile."
      },
      "assets.GetAnnotationsRequest": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "Wildcard pattern to match against annotation targetUri.\r\n\n\r\n            \r\nSupports partial matching using two wildcard characters (`**`) at the end of the target path.\r\n\n\r\n            \r\nFor example, retrieving all annotations for an asset:\r\n\n```assets/projects/{projectId}/assets/{assetId}/**```\n\r\n            \r\nFor new integrations, prefer using a `glob` clause in Unity.ContentAssetCloud.Api.Domain.V1.Requests.GetAnnotationsRequest.Query instead.\r\nIf both are provided, they are combined as a top-level AND clause.",
            "nullable": true
          },
          "query": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.AnnotationQueryClause"
            },
            "description": "An optional array of typed filter clauses applied as an implicit AND.\r\nSupported clause types: `equals`, `has`, `hasNot`, `glob`, `in`, `mention-entity`, `and`, `or`.\r\nNote: clauses of a recognised type nested inside an `or` clause are rejected with\r\n`InvalidInput`, as OR semantics are not supported for them.",
            "nullable": true
          },
          "includeFields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional fields to include in each returned annotation.\r\nBy default these fields are omitted from the response.\r\nAllowed values: `replyUserIds`, `replyCount`, `latestReply`, `attachments`,\r\n`threadAttachmentsCount`, `replyLastReadTimestamp`, `replyUnreadCount`.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Annotations per page. Default is 10.",
            "format": "int32",
            "example": 10
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          },
          "sortingField": {
            "type": "string",
            "description": "The field to sort the annotations from the page. Default is \"annotationId\".\r\nAllowed values: \"annotationId\", \"latestReply\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to get a single Annotation."
      },
      "assets.GetAnnotationsResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.Annotation"
            },
            "description": "The definition of the Annotations.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token for next page.\r\n             \n\r\n            \r\n             If null, there are no more annotations.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found Annotations matching Target."
      },
      "assets.GetConfigsForProjectResponse": {
        "type": "object",
        "properties": {
          "jiraServerConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementServerConfigLimited"
            },
            "description": "List of configurations that are available for the given Unity project.",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "If details about a specific Jira project cannot be retrieved, the project will be excluded from the returned JiraProjectConfigs and a warning will be included in this list.\r\nIf details about a specific Jira user cannot be retrieved, the user details will not be included and a warning will be included in this list. The JiraProjectConfig containing the user will still be included.",
            "nullable": true,
            "example": [
              "Failed to get details for project with Id '10100', error: Project not found",
              "Failed to get details for user with Id '100', error: User not found"
            ]
          }
        },
        "additionalProperties": false,
        "description": "The response for an GetConfigsForProject request."
      },
      "assets.GetIssuesAcrossOrganizationRequest": {
        "type": "object",
        "properties": {
          "baseProfile": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Apply a profile to be used as the basis of the request. Defaults to empty query if not provided.\r\nThe profiles are applied in order, with later profiles overriding earlier ones in case of conflicts.\r\nAllowed values: \"all\", \"active\", \"resolved\", \"unresolved\", \"draft\", \"sending\"\r\n            \r\nThe chosen profile is used to filter root annotations according to the specified criteria.\r\nOnly annotations that match the selected profile will be considered, and Jira issues will be displayed only for those annotations.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token given by the previous fetch.",
            "nullable": true
          },
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "The amount of Jira issues per page. Default is 10.",
            "format": "int32",
            "example": 10
          },
          "sortingOrder": {
            "$ref": "#/components/schemas/assets.SortOrder"
          }
        },
        "additionalProperties": false,
        "description": "A request to get Jira issues across organization."
      },
      "assets.GetIssuesResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.JiraIssueAssociation"
            },
            "description": "The definition of the Issues.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token for next page.\r\n             \n\r\n            \r\n             If null, there are no more Jira issues.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found Jira issues."
      },
      "assets.GetTaskManagementIssueDetailsResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the issue.",
            "nullable": true,
            "example": "10055"
          },
          "key": {
            "type": "string",
            "description": "Key of the issue, typically in the format \"PROJECT-123\".",
            "nullable": true,
            "example": "PROJ-456"
          },
          "type": {
            "$ref": "#/components/schemas/assets.TaskManagementIssueType"
          },
          "status": {
            "$ref": "#/components/schemas/assets.TaskManagementIssueStatus"
          },
          "summary": {
            "type": "string",
            "description": "Short summary of the issue.",
            "nullable": true,
            "example": "Fix login issue causing 500 errors"
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the issue.",
            "nullable": true,
            "example": "Users are experiencing intermittent login failures due to session timeouts."
          },
          "reporter": {
            "$ref": "#/components/schemas/assets.TaskManagementUser"
          },
          "assignee": {
            "$ref": "#/components/schemas/assets.TaskManagementUser"
          },
          "url": {
            "type": "string",
            "description": "Web URL of the issue in the Jira system.",
            "nullable": true,
            "example": "https://example.com/browse/PROJ-456"
          },
          "priority": {
            "type": "string",
            "description": "Priority level of the issue, such as \"High\", \"Medium\", or \"Low\".",
            "nullable": true,
            "example": "High"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a Task Management issue."
      },
      "assets.GetTaskManagementIssueTypesResponse": {
        "type": "object",
        "properties": {
          "issueTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementIssueTypeExtended"
            },
            "description": "The definition of the IssueTypes.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found IssueTypes."
      },
      "assets.GetTaskManagementProjectsResponse": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementProject"
            },
            "description": "The definition of the Project.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found Projects."
      },
      "assets.GetThreadCountsByTargetResponse": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.ThreadCountPerTarget"
            },
            "description": "Each target, sub target counts.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with threads count matching Target."
      },
      "assets.GetThreadsCountByTargetResponse": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Threads count.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "The response with threads count matching Target."
      },
      "assets.HasRequiredPermissionsResponse": {
        "type": "object",
        "properties": {
          "hasRequiredPermissions": {
            "type": "boolean",
            "description": "True if the required all permissions are granted.",
            "example": false
          },
          "missingRequiredPermissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of missing permissions.",
            "nullable": true,
            "example": [
              "Browse Projects",
              "Create Issues"
            ]
          }
        },
        "additionalProperties": false,
        "description": "The response for an HasRequiredPermissions request."
      },
      "assets.IntegrationJiraIssue": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of integration.",
            "nullable": true,
            "example": "Jira"
          },
          "jiraIssueId": {
            "type": "string",
            "description": "The id of the Jira Issue.",
            "nullable": true,
            "example": "1001"
          },
          "jiraProjectConfigId": {
            "type": "string",
            "description": "The project configuration id.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          },
          "jiraIssueKey": {
            "type": "string",
            "description": "The key of the TaskManagement Issue.",
            "nullable": true,
            "example": "TEST-1"
          },
          "jiraIssueUrl": {
            "type": "string",
            "description": "The url of the TaskManagement Issue.",
            "nullable": true,
            "example": "https://jira.com/browse/TEST-1"
          },
          "sourceAnnotationId": {
            "type": "string",
            "description": "The source annotation id.",
            "nullable": true,
            "example": "5772925064011"
          },
          "createdBy": {
            "type": "string",
            "description": "The id of the user that created or linked the issue.",
            "nullable": true,
            "example": "3573303820305"
          }
        },
        "additionalProperties": false,
        "description": "Integration details for a Jira Issue."
      },
      "assets.IsSubscribedToThreadResponse": {
        "type": "object",
        "properties": {
          "isSubscribed": {
            "type": "boolean",
            "description": "Response to the request to check if user is subscribed to a thread."
          }
        },
        "additionalProperties": false,
        "description": "The response for an `/is-subscribed` request."
      },
      "assets.JiraIssueAssociation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the Jira Issue.",
            "nullable": true,
            "example": "1001"
          },
          "key": {
            "type": "string",
            "description": "The key of the TaskManagement Issue.",
            "nullable": true,
            "example": "TEST-1"
          },
          "url": {
            "type": "string",
            "description": "The url of the TaskManagement Issue.",
            "nullable": true,
            "example": "https://jira.com/browse/TEST-1"
          },
          "sourceAnnotationId": {
            "type": "string",
            "description": "The source annotation id.",
            "nullable": true,
            "example": "5772925064011"
          },
          "projectConfigId": {
            "type": "string",
            "description": "The project configuration id.",
            "nullable": true,
            "example": "6628074db55fc0366a2057d0"
          },
          "created": {
            "type": "string",
            "description": "Timestamp when the Jira issue was created.\r\n\n\r\n            \r\nThis is in ISO format.",
            "format": "date-time",
            "example": "2023-09-15T15:48:26.731Z"
          },
          "createdBy": {
            "type": "string",
            "description": "The Unity account Id of the creator of the Jira issues.\r\n             \n",
            "nullable": true,
            "example": "5772465996530"
          }
        },
        "additionalProperties": false,
        "description": "Jira issue association"
      },
      "assets.LinkJiraIssueToAnnotationRequest": {
        "type": "object",
        "properties": {
          "jiraProjectConfigId": {
            "type": "string",
            "description": "The Id of the JiraProjectConfig.",
            "nullable": true,
            "example": "6628274db55fc0366a2057d3"
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to Link a Jira issue to an annotation."
      },
      "assets.LocalSpace": {
        "required": [
          "cameraPosition",
          "parentId",
          "position"
        ],
        "type": "object",
        "properties": {
          "parentId": {
            "minLength": 1,
            "type": "string",
            "description": "Reference to local anchor model"
          },
          "position": {
            "$ref": "#/components/schemas/assets.Position"
          },
          "cameraPosition": {
            "$ref": "#/components/schemas/assets.Position"
          }
        },
        "additionalProperties": false,
        "description": "LocalSpace datastructure."
      },
      "assets.MentionAggregateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The mentioned entity id (lowercase-normalized for hashtags).",
            "nullable": true,
            "example": "design"
          },
          "displayName": {
            "type": "string",
            "description": "The most recent display name used for the entity.",
            "nullable": true,
            "example": "Design"
          },
          "threadCount": {
            "type": "integer",
            "description": "The number of distinct threads mentioning the entity.",
            "format": "int64",
            "example": 25
          },
          "lastUsed": {
            "type": "string",
            "description": "When the entity was last mentioned.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents an aggregated mention entity (e.g. a hashtag) with its usage statistics."
      },
      "assets.Position": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number",
            "description": "The x component of the Position.",
            "format": "float"
          },
          "y": {
            "type": "number",
            "description": "The y component of the Position.",
            "format": "float"
          },
          "z": {
            "type": "number",
            "description": "The z component of the Position.",
            "format": "float"
          }
        },
        "additionalProperties": false,
        "description": "The representation of a Position (3D)."
      },
      "assets.Reaction": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The single-character Unicode-encoded emoji (UTF-16 surrogate pairs).",
            "nullable": true,
            "example": "😀"
          },
          "count": {
            "type": "integer",
            "description": "Number of users who have reacted.",
            "format": "int32",
            "example": 3
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Representing the userIds who have reacted with the specified emoji, max 10 users will be return including the authenticated\r\nuser who has reacted.",
            "nullable": true,
            "example": [
              "5772465996530",
              "5772465996531",
              "5772465996533"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the annotation reaction."
      },
      "assets.ReadServerConfigsResponse": {
        "type": "object",
        "properties": {
          "jiraServerConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementServerConfig"
            },
            "description": "The ServerConfigs.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response to the request for reading ServerConfigs."
      },
      "assets.ReadThumbnailDownloadUrlResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The download url.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response of getting an annotation thumbnail download url."
      },
      "assets.ReadThumbnailUploadUrlResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The signed upload URL to upload the thumbnail.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response of getting an annotation thumbnail upload URL."
      },
      "assets.Rotation": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number",
            "description": "The x component of the Rotation.",
            "format": "float"
          },
          "y": {
            "type": "number",
            "description": "The y component of the Rotation.",
            "format": "float"
          },
          "z": {
            "type": "number",
            "description": "The z component of the Rotation.",
            "format": "float"
          }
        },
        "additionalProperties": false,
        "description": "The representation of a Rotation (Quaternion)."
      },
      "assets.SearchMentionsResponse": {
        "type": "object",
        "properties": {
          "mentions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.MentionAggregateDto"
            },
            "description": "The aggregated mentions matching the search.",
            "nullable": true
          },
          "next": {
            "type": "string",
            "description": "The pagination token for next page.\r\n             \n\r\n            \r\n             If empty, there are no more mentions.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with the aggregated mentions matching the search."
      },
      "assets.SearchTaskManagementIssuesResponse": {
        "type": "object",
        "properties": {
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementSearchIssue"
            },
            "description": "The definition of the Issues.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found Issues."
      },
      "assets.SearchTaskManagementUsersResponse": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementSearchUser"
            },
            "description": "The definition of the Users.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The response with found Users."
      },
      "assets.SortOrder": {
        "enum": [
          "Ascending",
          "Descending"
        ],
        "type": "string",
        "description": "Order to sort the results."
      },
      "assets.TaskManagementIssueStatus": {
        "required": [
          "category",
          "colorName",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Status.",
            "example": "10055"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the Status.",
            "example": "To Do"
          },
          "category": {
            "minLength": 1,
            "type": "string",
            "description": "The category of the status, which classifies statuses into broader groups such as \"TODO\", \"IN_PROGRESS\", or \"DONE\".",
            "example": "TODO"
          },
          "colorName": {
            "minLength": 1,
            "type": "string",
            "description": "The color name associated with the status, used for UI representation.",
            "example": "blue-gray"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management Issue status."
      },
      "assets.TaskManagementIssueType": {
        "required": [
          "iconUrl",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Issue type.",
            "example": "10055"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the Issue type.",
            "example": "Task"
          },
          "iconUrl": {
            "minLength": 1,
            "type": "string",
            "description": "URL to the icon for the Issue type.",
            "example": "https://example.com/icon.png"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management Issue type."
      },
      "assets.TaskManagementIssueTypeExtended": {
        "required": [
          "iconUrl",
          "id",
          "isSubtask",
          "isSupported",
          "name",
          "notSupportedReasons"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Issue type.",
            "example": "10055"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the Issue type.",
            "example": "Task"
          },
          "iconUrl": {
            "minLength": 1,
            "type": "string",
            "description": "URL to the icon for the Issue type.",
            "example": "https://example.com/icon.png"
          },
          "isSubtask": {
            "type": "boolean",
            "description": "If true, a parent Issue needs to be included in create issue request",
            "example": false
          },
          "isSupported": {
            "type": "boolean",
            "description": "If false, this issue cannot be created.",
            "example": false
          },
          "notSupportedReasons": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "If IsSupported=false, this will contain a list for reasons why the Issue type cannot be created.",
            "example": [
              "Summary is required but not supported."
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management Issue type."
      },
      "assets.TaskManagementProject": {
        "required": [
          "iconUrl",
          "id",
          "key",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the project.",
            "example": "10100"
          },
          "key": {
            "minLength": 1,
            "type": "string",
            "description": "Key of the project.",
            "example": "MTP"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the project.",
            "example": "My Tasks Project"
          },
          "iconUrl": {
            "minLength": 1,
            "type": "string",
            "description": "URL to the icon for the project.",
            "example": "https://jira.mycompany.com/avatars/icon.png"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management project."
      },
      "assets.TaskManagementProjectConfig": {
        "required": [
          "defaultReporter",
          "jiraProjectConfigId",
          "linkedUnityProjectIds",
          "project"
        ],
        "type": "object",
        "properties": {
          "jiraProjectConfigId": {
            "minLength": 1,
            "type": "string",
            "description": "The Project config id.",
            "example": "6629574db55fc0311a2057d0"
          },
          "linkedUnityProjectIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of Unity Projects this config is linked to.",
            "example": [
              "4b57b5fb-f3be-4be4-b455-1234210a5678",
              "4b57b5fb-f3be-1234-b455-1234210a5678",
              "1234b5fb-f3be-4be4-b455-1234210a5678"
            ]
          },
          "project": {
            "$ref": "#/components/schemas/assets.TaskManagementProject"
          },
          "defaultReporter": {
            "$ref": "#/components/schemas/assets.TaskManagementUser"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management ProjectConfig."
      },
      "assets.TaskManagementProjectConfigLimited": {
        "required": [
          "jiraProjectConfigId",
          "project"
        ],
        "type": "object",
        "properties": {
          "jiraProjectConfigId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the ProjectConfig.",
            "example": "6629574db55fc0311a2057d0"
          },
          "project": {
            "$ref": "#/components/schemas/assets.TaskManagementProject"
          },
          "defaultReporter": {
            "$ref": "#/components/schemas/assets.TaskManagementUser"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management ProjectConfig Limited."
      },
      "assets.TaskManagementSearchIssue": {
        "required": [
          "html",
          "iconUrl",
          "id",
          "key",
          "summary"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Issue.",
            "example": "5772925064011"
          },
          "key": {
            "minLength": 1,
            "type": "string",
            "description": "Key of the Issue.",
            "example": "TASK-1"
          },
          "iconUrl": {
            "minLength": 1,
            "type": "string",
            "description": "URL to the icon for the Issue.",
            "example": "https://example.com/icon.png"
          },
          "summary": {
            "minLength": 1,
            "type": "string",
            "description": "The summary of the Issue in plain text.",
            "example": "Jane Doe"
          },
          "html": {
            "minLength": 1,
            "type": "string",
            "description": "HTML representation of the search result with the matched query string highlighted with the HTML strong tag.",
            "example": "<strong>Jane</strong> Doe"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management Issues."
      },
      "assets.TaskManagementSearchUser": {
        "required": [
          "html",
          "iconUrl",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the User.",
            "example": "5772925064011"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the User.",
            "example": "Jane Doe"
          },
          "iconUrl": {
            "minLength": 1,
            "type": "string",
            "description": "URL to the icon for the project.",
            "example": "https://example.com/icon.png"
          },
          "html": {
            "minLength": 1,
            "type": "string",
            "description": "HTML representation of the search result with the matched query string highlighted with the HTML strong tag.",
            "example": "<strong>Jane</strong> Doe"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management Users."
      },
      "assets.TaskManagementServerConfig": {
        "required": [
          "jiraProjectConfigs",
          "jiraServerConfigId",
          "name",
          "url",
          "username"
        ],
        "type": "object",
        "properties": {
          "jiraServerConfigId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the ServerConfig.",
            "example": "6628074db55fc0366a2057d0"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "User provided name for the configuration.",
            "example": "My Jira Server"
          },
          "url": {
            "minLength": 1,
            "type": "string",
            "description": "The URL of the Jira server.",
            "example": "https://jira.mycompany.com"
          },
          "username": {
            "minLength": 1,
            "type": "string",
            "description": "Username used to connect to the Jira server.",
            "example": "myusername@mycompany.com"
          },
          "jiraProjectConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementProjectConfig"
            },
            "description": "The Jira ProjectConfigs."
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management ServerConfig."
      },
      "assets.TaskManagementServerConfigLimited": {
        "required": [
          "jiraProjectConfigs",
          "jiraServerConfigId",
          "name"
        ],
        "type": "object",
        "properties": {
          "jiraServerConfigId": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the Jira ServerConfig.",
            "example": "6628074db55fc0366a2057d0"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the ServerConfig.",
            "example": "My Jira Server"
          },
          "jiraProjectConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/assets.TaskManagementProjectConfigLimited"
            },
            "description": "The ProjectConfigs."
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management ServerConfig Limited."
      },
      "assets.TaskManagementUser": {
        "required": [
          "iconUrl",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id of the User.",
            "example": "5772925064011"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the User.",
            "example": "Jane Doe"
          },
          "iconUrl": {
            "minLength": 1,
            "type": "string",
            "description": "URL to the icon for the project.",
            "example": "https://example.com/icon.png"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Task Management Users."
      },
      "assets.ThreadCountPerTarget": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "The thread target.",
            "nullable": true,
            "example": "assets/projects/{projectId}/assets/{assetId}"
          },
          "count": {
            "type": "integer",
            "description": "The threads count.",
            "format": "int64",
            "example": 25
          }
        },
        "additionalProperties": false,
        "description": "Represents threads count per target."
      },
      "assets.TimeDetails": {
        "required": [
          "timeScale",
          "timeStamp"
        ],
        "type": "object",
        "properties": {
          "timeScale": {
            "type": "number",
            "description": "Equals 1/timebase where timebase represents a single tick in seconds.",
            "format": "float"
          },
          "timeStamp": {
            "type": "number",
            "description": "The time in ticks, based on the time given by 1/timescale",
            "format": "float"
          }
        },
        "additionalProperties": false,
        "description": "Time datastructure."
      },
      "assets.UpdateAnnotationAttachmentRequest": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "minLength": 1,
            "type": "string",
            "description": "The type of the Attachment, this should be used to identify the specific type of Attachment given.",
            "example": "file"
          }
        },
        "additionalProperties": false,
        "description": "A request to update an existing annotation attachment."
      },
      "assets.UpdateAnnotationRequest": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Comment text.\r\n\n\r\n            \r\nRestrictions:\r\n\n\r\n- Text is limited to 10,000 characters.\r\n\n\r\n- Text cannot start or end with whitespace characters.\r\n\n\r\nThis field can also be used to direct notifications, using the Mentions\r\n\n\r\nformat detailed in the Annotation description.",
            "nullable": true,
            "example": "This is updated text"
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "localSpace": {
            "$ref": "#/components/schemas/assets.LocalSpace"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Object for holding additional user defined metadata.",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to update an Annotation."
      },
      "assets.UpdateAnnotationStatus": {
        "enum": [
          "Active",
          "Sending",
          "Draft"
        ],
        "type": "string",
        "description": "The status of the Annotation."
      },
      "assets.UpdateFileAttachmentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.UpdateAnnotationAttachmentRequest"
          }
        ],
        "properties": {
          "fileSize": {
            "type": "integer",
            "description": "The file size.",
            "format": "int64",
            "nullable": true,
            "example": 1024
          },
          "fileType": {
            "type": "string",
            "description": "The file type.\r\n            \r\nExamples:\r\n\"image\" | \"video\" | \"audio\" | \"text\" | \"3Dmodel\" | \"Other\"",
            "nullable": true,
            "example": "image"
          },
          "contentType": {
            "type": "string",
            "description": "The file content type, MIME type if relevant.\r\n            \r\n\n\r\nThis should match the MIME type of the file if it exists. https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types",
            "nullable": true,
            "example": "image/jpeg"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Metadata for the Attachment",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "A request to update a file annotation attachment."
      },
      "assets.UpdateProjectConfigRequest": {
        "type": "object",
        "properties": {
          "defaultReporterId": {
            "type": "string",
            "description": "Used when creating a new issue, if the creator of the Annotation cannot be matched to a Jira users, this user will be used instead as the reporter.",
            "nullable": true,
            "example": "e5a3ca16-13c7-4f2d-a5bb-984e349911df"
          },
          "linkedUnityProjectIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of Unity Project Ids that this Jira ProjectConfig is linked to. If this value is set, it will replace the\r\nexisting list of linked Unity projects with given list of Unity project Ids.",
            "nullable": true,
            "example": [
              "6628074db55fc0366a2057d0"
            ]
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new ProjectConfig."
      },
      "assets.UpdateServerConfigRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "User provided name for the configuration.",
            "nullable": true,
            "example": "My Jira Server"
          },
          "url": {
            "type": "string",
            "description": "The URL of the Jira server we are configuring.",
            "nullable": true,
            "example": "https://jira.mycompany.com"
          },
          "username": {
            "type": "string",
            "description": "Username used to connect to the Jira server.",
            "nullable": true,
            "example": "myusername@mycompany.com"
          },
          "key": {
            "type": "string",
            "description": "Key used to connect to the Jira server.",
            "nullable": true,
            "example": "mysecretapitoken"
          }
        },
        "additionalProperties": false,
        "description": "A request to create a new ServerConfig."
      },
      "assets.UpdateSketchAttachmentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.UpdateAnnotationAttachmentRequest"
          }
        ],
        "properties": {
          "sketchData": {
            "type": "string",
            "description": "The JSON data of the sketch.",
            "nullable": true
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "preview": {
            "$ref": "#/components/schemas/assets.FileDetails"
          },
          "sketchImage": {
            "$ref": "#/components/schemas/assets.FileDetails"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Metadata for the Attachment",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "A request to update a sketch annotation attachment."
      },
      "assets.UpdateSpatialAttachmentRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/assets.UpdateAnnotationAttachmentRequest"
          }
        ],
        "properties": {
          "label": {
            "type": "string",
            "description": "A simple label for the attachment.",
            "nullable": true,
            "example": "pointOfInterestLabel"
          },
          "position": {
            "$ref": "#/components/schemas/assets.Position"
          },
          "camera": {
            "$ref": "#/components/schemas/assets.Camera"
          },
          "time": {
            "$ref": "#/components/schemas/assets.TimeDetails"
          },
          "local": {
            "$ref": "#/components/schemas/assets.LocalSpace"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number",
                  "format": "double"
                },
                {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "boolean"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "description": "Metadata for the Attachment",
            "nullable": true,
            "example": {
              "StringField": "string value",
              "BoolField": true,
              "Base64BytesField": "dGVzdCB0ZXh0IGVuY29kaW5n",
              "DoubleField": 10.5,
              "FloatField": 10.005,
              "IntField": 10,
              "LongField": 9223372000000000000,
              "DateTimeField": "2023-08-16T08:49:12.1674180-04:00",
              "ListField": [
                "string value",
                10,
                false
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "A request to update a spatial annotation attachment."
      },
      "assets.UpsertAnnotationReadReceiptRequest": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "description": "The time when the user last viewed the Annotation replies.",
            "format": "date-time",
            "example": "2023-09-15T15:48:26.731Z"
          }
        },
        "additionalProperties": false,
        "description": "Represents the request to upsert an Annotation ReadReceipt."
      }
    },
    "securitySchemes": {
      "Client": {
        "type": "http",
        "description": "To get started with Authentication, please visit the [Client Authentication section](https://services.docs.unity.com/docs/client-auth).",
        "scheme": "bearer"
      },
      "ServiceAccount": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "Client": []
    },
    {
      "ServiceAccount": []
    }
  ],
  "tags": [
    {
      "name": "Annotation management",
      "description": "Operations related to annotation management."
    },
    {
      "name": "Jira management",
      "description": "Operations related to jira management."
    }
  ]
}
````