{
  "openapi": "3.1.0",
  "info": {
    "title": "api",
    "description": "",
    "license": {
      "name": ""
    },
    "version": "0.2.9"
  },
  "paths": {
    "/api/admin/ai/sync": {
      "post": {
        "tags": [
          "Admin"
        ],
        "operationId": "admin_sync_models",
        "responses": {
          "200": {
            "description": "Sync result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SyncModelsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing admin API key"
          },
          "500": {
            "description": "Sync failed"
          }
        }
      }
    },
    "/api/admin/alerts/check": {
      "post": {
        "tags": [
          "Admin"
        ],
        "operationId": "admin_check_alerts",
        "responses": {
          "200": {
            "description": "Alert check result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CheckAlertsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or missing admin API key"
          }
        }
      }
    },
    "/api/admin/workspaces/{slug}/add-credit": {
      "post": {
        "tags": [
          "Admin"
        ],
        "operationId": "admin_workspace_add_credit",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Workspace slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceBillingAddCreditParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credit added",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceBillingCurrentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid amount"
          },
          "401": {
            "description": "Invalid or missing admin API key"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      }
    },
    "/api/agents/capabilities": {
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_capability_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateModelCapabilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelCapabilityResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/capabilities/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_capability_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelCapabilityResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": ""
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_capability_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      },
      "patch": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_capability_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModelCapabilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelCapabilityResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/code-review/{namespace}/{repo}": {
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "trigger_code_review",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerCodeReviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "AI code review triggered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriggerCodeReviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Repository or PR not found"
          }
        }
      }
    },
    "/api/agents/models": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_list",
        "parameters": [
          {
            "name": "provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModelResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateModelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/models/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": ""
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      },
      "patch": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/parameters": {
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_parameter_profile_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateModelParameterProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelParameterProfileResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/parameters/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_parameter_profile_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelParameterProfileResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": ""
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_parameter_profile_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      },
      "patch": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_parameter_profile_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModelParameterProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelParameterProfileResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/pr-description/{namespace}/{repo}": {
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "generate_pr_description",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePrDescriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "AI-generated PR description",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeneratePrDescriptionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Repository or PR not found"
          }
        }
      }
    },
    "/api/agents/pricing": {
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_pricing_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateModelPricingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelPricingResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/pricing/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_pricing_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelPricingResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": ""
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_pricing_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      },
      "patch": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_pricing_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModelPricingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelPricingResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/providers": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "provider_list",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProviderResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "provider_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProviderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/providers/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "provider_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Provider UUID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": ""
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "operationId": "provider_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      },
      "patch": {
        "tags": [
          "Agent"
        ],
        "operationId": "provider_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProviderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/versions": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_version_list",
        "parameters": [
          {
            "name": "model_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModelVersionResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_version_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateModelVersionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelVersionResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/versions/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_version_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelVersionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": ""
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_version_delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      },
      "patch": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_version_update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateModelVersionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelVersionResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          },
          "403": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        }
      }
    },
    "/api/agents/versions/{model_version_id}/capabilities": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_capability_list",
        "parameters": [
          {
            "name": "model_version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModelCapabilityResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/agents/versions/{model_version_id}/parameters": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_parameter_profile_list",
        "parameters": [
          {
            "name": "model_version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModelParameterProfileResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/agents/versions/{model_version_id}/pricing": {
      "get": {
        "tags": [
          "Agent"
        ],
        "operationId": "model_pricing_list",
        "parameters": [
          {
            "name": "model_version_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModelPricingResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/auth/captcha": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_auth_captcha",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptchaQuery"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Captcha generated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CaptchaResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/email": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_email_get",
        "responses": {
          "200": {
            "description": "Current email address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_EmailResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/auth/email/change": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_email_change",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailChangeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Verification email sent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid password"
          },
          "409": {
            "description": "Email already in use"
          }
        }
      }
    },
    "/api/auth/email/verify": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_email_verify",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailVerifyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Email updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or expired token"
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_auth_login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Login successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Invalid credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "428": {
            "description": "Two-factor authentication required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/logout": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_auth_logout",
        "responses": {
          "200": {
            "description": "Logout successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/me": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_auth_me",
        "responses": {
          "200": {
            "description": "Current user info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ContextMe"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/password/change": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_user_change_password",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Password changed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized or invalid password",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/password/confirm": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_user_confirm_password_reset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmResetPasswordParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Password reset confirmed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or expired token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/password/reset": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_user_request_password_reset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Password reset email sent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/register": {
      "post": {
        "tags": [
          "Auth"
        ],
        "operationId": "api_auth_register",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Registration successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "409": {
            "description": "Username or email already exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/init": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_init_bare",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitInitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Bare repository initialized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_GitInitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/is-repo/{path}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_is_repo",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Repository path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if path is a repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_bool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/open/{path}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_open",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Repository path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Open repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_GitInitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/open/{path}/workdir": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_open_workdir",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Repository path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Open repository working directory",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_GitInitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/issue/{project}/issues": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issues",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_create",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/summary": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_summary",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get issue summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_get",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_delete",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_update",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/assignees": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_assignee_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue assignees",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_IssueAssigneeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_assignee_add",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAssignUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add assignee to issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueAssigneeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/assignees/{assignee_id}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_assignee_remove",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "assignee_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove assignee from issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/close": {
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_close",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Close issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/comments": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue comments",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueCommentListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_create",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueCommentCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create issue comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/comments/{comment_id}": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_get",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get issue comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_delete",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete issue comment"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_update",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueCommentUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update issue comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_reaction_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List comment reactions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReactionListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_reaction_add",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReactionAddRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add reaction to comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReactionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions/{reaction}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_comment_reaction_remove",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "reaction",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove reaction from comment"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/labels": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_label_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue labels",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_IssueLabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_label_add",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueAddLabelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add label to issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueLabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/labels/{label_id}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_label_remove",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove label from issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/pulls": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_pull_request_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue pull requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_IssuePullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_pull_request_link",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueLinkPullRequestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Link pull request to issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssuePullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/pulls/{repo_id}/{pr_number}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_pull_request_unlink",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "repo_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unlink pull request from issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/reactions": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_reaction_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue reactions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReactionListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_reaction_add",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReactionAddRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add reaction to issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReactionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/reactions/{reaction}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_reaction_remove",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "reaction",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove reaction from issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/reopen": {
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_reopen",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Reopen issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/repos": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_repo_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue repos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_IssueRepoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_repo_link",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueLinkRepoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Link repo to issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueRepoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/repos/{repo_id}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_repo_unlink",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "repo_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unlink repo from issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/subscribe": {
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_subscribe",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Subscribe to issue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IssueSubscriberResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_unsubscribe",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unsubscribe from issue"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/issues/{number}/subscribers": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "issue_subscriber_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List issue subscribers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_IssueSubscriberResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/labels": {
      "get": {
        "tags": [
          "Issues"
        ],
        "operationId": "label_list",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List labels",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_LabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "operationId": "label_create",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLabelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/issue/{project}/labels/{label_id}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "operationId": "label_delete",
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete label"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/me/mentions": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "mention_list",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List mentions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_MentionNotificationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/me/mentions/read-all": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "mention_read_all",
        "responses": {
          "200": {
            "description": "Mark all mentions as read"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/me/notifications": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "notification_list",
        "parameters": [
          {
            "name": "only_unread",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List notifications",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_NotificationListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/me/notifications/read-all": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "notification_mark_all_read",
        "responses": {
          "200": {
            "description": "Mark all notifications as read"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/me/notifications/{notification_id}/archive": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "notification_archive",
        "parameters": [
          {
            "name": "notification_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Archive notification"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/me/notifications/{notification_id}/read": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "notification_mark_read",
        "parameters": [
          {
            "name": "notification_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mark notification as read"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/project_room/{project_name}/room-categories": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "category_list",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List room categories",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RoomCategoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "category_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomCategoryCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create room category",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomCategoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/project_room/{project_name}/rooms": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "room_list",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "only_public",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List rooms",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RoomResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "room_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create room",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectInitParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProjectInitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/me/invitations": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_my_invitations",
        "responses": {
          "200": {
            "description": "List my invitations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_InvitationListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/me/join-requests": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_my_join_requests",
        "responses": {
          "200": {
            "description": "List my join requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_JoinRequestListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_info",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get project info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProjectInfoRelational"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/activities": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_activities",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "event_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "ISO 8601 datetime, e.g. 2025-01-01T00:00:00Z",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "ISO 8601 datetime, e.g. 2025-12-31T23:59:59Z",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List project activities",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ActivityLogListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden — no access to this project"
          },
          "404": {
            "description": "Project not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_log_activity",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityLogParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Activity logged",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ActivityLogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Project not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/audit-logs": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_audit_logs",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List project audit logs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_AuditLogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_log_audit",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLogParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Log project audit event",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_AuditLogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/audit-logs/{log_id}": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_audit_log",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "log_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get project audit log",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_AuditLogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/billing": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_billing",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get project billing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProjectBillingCurrentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/billing/history": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_billing_history",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get project billing history",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProjectBillingHistoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/boards": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "board_list",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "description": "Project name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List boards",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_BoardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "board_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBoardParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create board",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BoardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/projects/{project_name}/boards/{board_id}": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "board_get",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get board with columns and cards",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BoardWithColumnsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "board_delete",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete board"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "board_update",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBoardParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update board",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BoardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/boards/{board_id}/columns": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "column_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "board_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateColumnParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create column",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ColumnResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Board not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/cards": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "card_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCardParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/projects/{project_name}/cards/{card_id}": {
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "card_delete",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete card"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "card_update",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCardParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/cards/{card_id}/move": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "card_move",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveCardParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Move card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/columns/{column_id}": {
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "column_delete",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "column_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete column"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "column_update",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "column_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateColumnParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update column",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ColumnResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/invitations": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_invitations",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List project invitations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_InvitationListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_invite_user",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Invite user to project"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/invitations/accept": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_accept_invitation",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Accept project invitation"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/invitations/reject": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_reject_invitation",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Reject project invitation"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/invitations/{user_id}": {
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "project_cancel_invitation",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Cancel project invitation"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/join-requests": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_join_requests",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List join requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_JoinRequestListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_submit_join_request",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitJoinRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Submit join request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/join-requests/{request_id}": {
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "project_cancel_join_request",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "request_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Cancel join request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_process_join_request",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "request_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProcessJoinRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Process join request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/join-requests/{request_id}/answers": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_join_answers",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "request_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get join request answers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_JoinAnswersListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_submit_join_answers",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "request_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AnswerRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Submit join request answers"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/join-settings": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_join_settings",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get join settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_JoinSettingsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_update_join_settings",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateJoinSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update join settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_JoinSettingsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/labels": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_labels",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List project labels",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LabelListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_create_label",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLabelParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create project label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/labels/{label_id}": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_get_label",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get project label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "project_delete_label",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete project label"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_update_label",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLabelParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update project label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_LabelResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/like": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_is_like",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if user likes project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IsLikeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_like",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Like project"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "project_unlike",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unlike project"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/likes/count": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_likes_count",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get like count"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/likes/users": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_like_users",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List users who liked project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_LikeUserInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/members": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_members",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List project members",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MemberListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/members/role": {
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_update_member_role",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMemberRoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update member role"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/members/{user_id}": {
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "project_remove_member",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove member from project"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/repos": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_repos",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get project repositories",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProjectRepositoryPagination"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Project not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_repo_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectRepoCreateParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create a repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProjectRepoCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Repository name already exists"
          }
        }
      }
    },
    "/api/projects/{project_name}/settings/name": {
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_exchange_name",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeProjectName"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update project name"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/settings/title": {
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_exchange_title",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeProjectTitle"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update project title"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/settings/visibility": {
      "patch": {
        "tags": [
          "Project"
        ],
        "operationId": "project_exchange_visibility",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeProjectVisibility"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update project visibility"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/skills": {
      "get": {
        "tags": [
          "Skill"
        ],
        "operationId": "skill_list",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List skills",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_SkillResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Project not found"
          }
        }
      },
      "post": {
        "tags": [
          "Skill"
        ],
        "operationId": "skill_create",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSkillRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create skill",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SkillResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Skill already exists"
          }
        }
      }
    },
    "/api/projects/{project_name}/skills/scan": {
      "post": {
        "tags": [
          "Skill"
        ],
        "operationId": "skill_scan",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Scan repos for skills",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ScanResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/projects/{project_name}/skills/{slug}": {
      "get": {
        "tags": [
          "Skill"
        ],
        "operationId": "skill_get",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get skill",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SkillResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Skill"
        ],
        "operationId": "skill_delete",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete skill",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DeleteSkillResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Skill"
        ],
        "operationId": "skill_update",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSkillRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update skill",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SkillResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/watch": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_is_watch",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if user watches project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_IsWatchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_watch",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Watch project"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Project"
        ],
        "operationId": "project_unwatch",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unwatch project"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/watches/count": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_watches_count",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get watch count"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{project_name}/watches/users": {
      "get": {
        "tags": [
          "Project"
        ],
        "operationId": "project_watch_users",
        "parameters": [
          {
            "name": "project_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List users watching project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_WatchUserInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/projects/{source_project}/repos/{repo_name}/transfer": {
      "post": {
        "tags": [
          "Project"
        ],
        "operationId": "project_transfer_repo",
        "parameters": [
          {
            "name": "source_project",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferRepoParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Transfer repo to another project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TransferRepoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List pull requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PullRequestCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/summary": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_summary",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get pull request summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{number}": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete pull request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_update",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PullRequestUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{number}/close": {
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_close",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Close pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{number}/reopen": {
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pull_request_reopen",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Reopen pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PullRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "path",
            "in": "query",
            "description": "Filter by file path",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resolved",
            "in": "query",
            "description": "Filter by resolved status",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "file_only",
            "in": "query",
            "description": "Only inline comments (true) or only general comments (false)",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List pull request review comments",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewCommentListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewCommentCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create pull request review comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}": {
      "delete": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete pull request review comment"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_update",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewCommentUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update pull request review comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies": {
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_reply",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewCommentReplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Reply to a comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/resolve": {
      "put": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_resolve",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mark comment as resolved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_comment_unresolve",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "comment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mark comment as unresolved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewCommentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/commits": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pr_commits_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "description": "Pull request number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List commits in a pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PrCommitsListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/conflicts": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "merge_conflict_check",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check merge conflicts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MergeConflictResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/diff/side-by-side": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "pr_diff_side_by_side",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "description": "Pull request number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Side-by-side diff for a pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SideBySideDiffResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "merge_analysis",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get merge analysis",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MergeAnalysisResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "merge_execute",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Execute merge",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MergeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          },
          "409": {
            "description": "Conflict"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge/abort": {
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "merge_abort",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Abort merge"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge/in_progress": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "merge_is_in_progress",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if merge is in progress"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_request_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List review requests for a pull request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewRequestListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_request_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewRequestCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create or update a review request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests/{reviewer}": {
      "delete": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_request_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "reviewer",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete (cancel) a review request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests/{reviewer}/dismiss": {
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_request_dismiss",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "reviewer",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Dismiss a review request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews": {
      "get": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List pull request reviews",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_submit",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewSubmitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Submit pull request review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_update",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update pull request review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ReviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews/{reviewer_id}": {
      "delete": {
        "tags": [
          "PullRequest"
        ],
        "operationId": "review_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "reviewer_id",
            "in": "path",
            "description": "Reviewer UUID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete pull request review"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/branch-protections": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "branch_protection_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List branch protection rules",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_BranchProtectionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "branch_protection_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BranchProtectionCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create a branch protection rule",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchProtectionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/branch-protections/check-approvals": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "branch_protection_check_approvals",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pr_number",
            "in": "query",
            "description": "Pull request number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check approval count against branch protection",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApprovalCheckResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/branch-protections/{id}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "branch_protection_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Rule id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get a branch protection rule",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchProtectionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "branch_protection_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Rule id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete a branch protection rule"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "branch_protection_update",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Rule id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BranchProtectionUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update a branch protection rule",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchProtectionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_update_repo",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitUpdateRepoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update repository settings"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/archive": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_archive",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_depth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "path_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get archive",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ArchiveResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/archive/cached": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_archive_cached",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_depth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "path_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if archive is cached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ArchiveCachedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/archive/invalidate": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_archive_invalidate",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_depth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "path_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Invalidate archive cache",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ArchiveInvalidateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/archive/invalidate/{commit_oid}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_archive_invalidate_all",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Invalidate all archive caches for commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ArchiveInvalidateAllResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/archive/list": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_archive_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_depth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "path_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List archive entries",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ArchiveListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/archive/summary": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_archive_summary",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_depth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "path_filter",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get archive summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ArchiveSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blame/{commit_oid}/{tail:.*}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blame_file",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit_oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tail",
            "in": "path",
            "description": "File path within the repository",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BlameHunkResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blob": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blob_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BlobCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create blob",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BlobCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blob/{oid}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blob_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Blob object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get blob info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BlobInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blob/{oid}/content": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blob_content",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Blob object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get blob content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BlobContentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blob/{oid}/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blob_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Blob object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check blob exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BlobExistsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blob/{oid}/is-binary": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blob_is_binary",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Blob object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if blob is binary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BlobIsBinaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/blob/{oid}/size": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_blob_size",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Blob object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get blob size",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BlobSizeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List branches",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BranchCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/current": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_current",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get current branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/diff": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_diff",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get branch diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchDiffResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/fast-forward/{target}": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_fast_forward",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "path",
            "description": "Target branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Fast-forward branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchFastForwardResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/is-ancestor": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_is_ancestor",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if branch is ancestor",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchIsAncestorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/is-conflicted": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_is_conflicted",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if branch has conflicts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchIsConflictedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/is-detached": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_is_detached",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if HEAD is detached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchIsDetachedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/is-merged": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_is_merged",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if branch is merged",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchIsMergedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/merge-base": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_merge_base",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get merge base",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchMergeBaseResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/move": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_move",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BranchMoveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Move branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/remote/{name}": {
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_delete_remote",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Remote branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete remote branch"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/rename": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_rename",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BranchRenameRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Rename branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/summary": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_summary",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get branch summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/upstream": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_set_upstream",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BranchSetUpstreamRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Set upstream branch"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/{name}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete branch"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/{name}/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check branch exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchExistsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/{name}/is-head": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_is_head",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if branch is HEAD",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchIsHeadResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/{name}/tracking-difference": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_tracking_difference",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tracking difference",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchTrackingDiffResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/branches/{name}/upstream": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_branch_upstream",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Branch name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get upstream branch",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_BranchInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_log",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rev",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit log (paginated)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitLogResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommitCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitCreateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/branches": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_branches",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit branches",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitBranchesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/graph": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_graph",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit graph",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitGraphResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/graph-react": {
      "get": {
        "tags": [
          "Git"
        ],
        "summary": "Returns commit graph data enriched with full commit metadata (author, timestamp,\nparents, lane_index) for use with @gitgraph/react on the frontend.",
        "operationId": "git_commit_graph_react",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit graph for gitgraph-react",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitGraphReactResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/reflog": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_reflog",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit reflog",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_CommitReflogEntryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/resolve": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_resolve_rev",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Resolve revision to commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/tags": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_tags",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit tags",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitTagsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/walk": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_walk",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Walk commits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/amend": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_amend",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommitAmendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Amend commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/ancestors": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_ancestors",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit ancestors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/author": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_author",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit author",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitAuthorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/cherry-pick": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_cherry_pick",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommitCherryPickRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Cherry-pick commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/cherry-pick/abort": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_cherry_pick_abort",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommitCherryPickAbortRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Abort cherry-pick",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_bool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/descendants": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_descendants",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit descendants",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if commit exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitExistsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/first-parent": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_first_parent",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit first parent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Option_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/is-commit": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_is_commit",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if object is a commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitIsCommitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/is-merge": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_is_merge",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if commit is a merge",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitIsMergeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/is-tip": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_is_tip",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if commit is a tip",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitIsTipResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/message": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_message",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/parent-count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_parent_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit parent count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitParentCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/parent-ids": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_parent_ids",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit parent IDs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitParentIdsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/parent/{index}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_parent",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit parent",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/ref-count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_ref_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit ref count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitRefCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/refs": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_refs",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit refs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_CommitRefInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/revert": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_revert",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommitRevertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Revert commit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/revert/abort": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_revert_abort",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommitRevertAbortRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Abort revert",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_bool"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/short-id": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_short_id",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit short ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitShortIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/summary": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_summary",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/commits/{oid}/tree-id": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_commit_tree_id",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get commit tree ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_CommitTreeIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/config/entries": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_config_entries",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List repository config entries",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ConfigSnapshotResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/config/{key}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_config_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "Config key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get repository config value",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Value"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Git"
        ],
        "operationId": "git_config_set",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "Config key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigSetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Set repository config value"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_config_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "Config key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete repository config key"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/config/{key}/has": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_config_has",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "path",
            "description": "Config key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if repository config key exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ConfigBoolResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/contributors": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_contributors",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of contributors",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ContributorsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/description": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_description_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get repository description",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DescriptionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Git"
        ],
        "operationId": "git_description_set",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DescriptionQuery"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Set repository description",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DescriptionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_description_reset",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Reset repository description",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DescriptionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/description/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_description_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if repository description exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Value"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_tree_to_tree",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "old_tree",
            "in": "query",
            "description": "Old tree OID (commit or tree SHA)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "new_tree",
            "in": "query",
            "description": "New tree OID (commit or tree SHA)",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tree to tree diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffResultResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/commit/{commit}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_commit_to_workdir",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "path",
            "description": "Commit identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Commit to workdir diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffResultResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/commit/{commit}/index": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_commit_to_index",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "path",
            "description": "Commit identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Commit to index diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffResultResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/index": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_index_to_tree",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Index to tree diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffResultResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/patch-id": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_patch_id",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Patch ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffPatchIdResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/side-by-side": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_side_by_side",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Side-by-side diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SideBySideDiffResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/stats": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_stats",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Diff statistics",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/diff/workdir": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_diff_workdir_to_index",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Workdir to index diff",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_DiffResultResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/abort": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_abort",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Abort an in-progress merge"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/analysis/{ref_name}/{their_oid}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_analysis_for_ref",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ref_name",
            "in": "path",
            "description": "Reference name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "their_oid",
            "in": "path",
            "description": "The OID to analyze merge against",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Perform merge analysis for a specific ref",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MergeAnalysisResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/analysis/{their_oid}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_analysis",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "their_oid",
            "in": "path",
            "description": "The OID to analyze merge against",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Perform merge analysis",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MergeAnalysisResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/base/{oid1}/{oid2}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_base",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid1",
            "in": "path",
            "description": "First commit OID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid2",
            "in": "path",
            "description": "Second commit OID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get merge base of two commits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_String"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/commits": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_commits",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeCommitsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Merge commits"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/heads": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_mergehead_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List merge heads",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_MergeheadInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/in-progress": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_is_in_progress",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if merge is in progress",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Value"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/is-conflicted": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_is_conflicted",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if merge has conflicts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Value"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/merge/trees": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_merge_trees",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeTreesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Merge trees"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/readme": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_readme",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git reference (branch, tag, commit). Defaults to the repository's default branch.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get README content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_GitReadmeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/refs": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of refs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RefInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_update",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Ref updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefUpdateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Ref created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefUpdateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/refs/rename": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_rename",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ref renamed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/refs/{name}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Ref name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ref info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Ref name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ref deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefDeleteResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/refs/{name}/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Ref name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ref exists check",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefExistsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/refs/{name}/target": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_ref_target",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Ref name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ref target",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RefTargetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/star": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_star",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Star the repository"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_unstar",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unstar the repository"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/star/count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_star_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get star count for the repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_StarCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/star/is-starred": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_is_starred",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if the current user has starred the repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Value"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/star/users": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_star_user_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List users who starred the repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_StarUserListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List all tags",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_TagInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create an annotated tag",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tag count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/lightweight": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_create_lightweight",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagCreateLightweightRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create a lightweight tag",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/message": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_update_message",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagUpdateMessageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update tag message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/names": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_list_names",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List all tag names",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_String"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/rename": {
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_rename",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagRenameQuery"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Rename a tag",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/summary": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_summary",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tag summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/{name}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get a tag by name",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete a tag"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/{name}/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if a tag exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagExistsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/{name}/is-annotated": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_is_annotated",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if a tag is annotated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagIsAnnotatedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/{name}/message": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_message",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tag message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/{name}/tagger": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_tagger",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tag tagger info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagTaggerResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tags/{name}/target": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tag_target",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "Tag name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tag target OID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TagTargetResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/diff-stats": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_diffstats",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tree diff stats",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeDiffStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{commit}/commit-entry-by-path": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_entry_by_commit_path",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "path",
            "description": "Commit OID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tree entry by commit path",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeEntryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tree info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}/entry-by-path": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_entry_by_path",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tree entry by path",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeEntryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}/entry-count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_entry_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tree entry count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeEntryCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}/entry/{index}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_entry",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "index",
            "in": "path",
            "description": "Entry index",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get tree entry by index",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeEntryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}/exists": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_exists",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if tree exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeExistsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}/is-empty": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_is_empty",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if tree is empty",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_TreeIsEmptyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/tree/{oid}/list": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_tree_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "oid",
            "in": "path",
            "description": "Tree object ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List tree entries",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_TreeEntryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/watch": {
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_watch",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitWatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Watch the repository"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_unwatch",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unwatch the repository"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/watch/count": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_watch_count",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get watch count for the repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WatchCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/watch/is-watched": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_is_watched",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if the current user is watching the repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Value"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/watch/users": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_watch_user_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Project namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List users who are watching the repository",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WatchUserListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/webhooks": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_webhook_list",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List webhooks",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WebhookListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Git"
        ],
        "operationId": "git_webhook_create",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create webhook",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WebhookResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}": {
      "get": {
        "tags": [
          "Git"
        ],
        "operationId": "git_webhook_get",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhook_id",
            "in": "path",
            "description": "Webhook ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get webhook",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WebhookResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Git"
        ],
        "operationId": "git_webhook_delete",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhook_id",
            "in": "path",
            "description": "Webhook ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete webhook"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Git"
        ],
        "operationId": "git_webhook_update",
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "Repository namespace",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "webhook_id",
            "in": "path",
            "description": "Webhook ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update webhook",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WebhookResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/room-categories/{category_id}": {
      "delete": {
        "tags": [
          "Room"
        ],
        "operationId": "category_delete",
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete room category"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Room"
        ],
        "operationId": "category_update",
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomCategoryUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update room category",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomCategoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "room_get",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get room",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Room"
        ],
        "operationId": "room_delete",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete room"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Room"
        ],
        "operationId": "room_update",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update room",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/ai": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "ai_list",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List room AI configurations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RoomAiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "put": {
        "tags": [
          "Room"
        ],
        "operationId": "ai_upsert",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomAiUpsertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Upsert room AI configuration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomAiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/ai/{model_id}": {
      "delete": {
        "tags": [
          "Room"
        ],
        "operationId": "ai_delete",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "model_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete room AI configuration"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/members": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "member_list",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List room members",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RoomMemberResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "member_add",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomMemberAddRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add room member",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMemberResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/members/me/read-seq": {
      "patch": {
        "tags": [
          "Room"
        ],
        "operationId": "member_set_read_seq",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomMemberReadSeqRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Set member read sequence",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMemberResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/members/{user_id}": {
      "delete": {
        "tags": [
          "Room"
        ],
        "operationId": "member_remove",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove room member"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/members/{user_id}/role": {
      "patch": {
        "tags": [
          "Room"
        ],
        "operationId": "member_update_role",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomMemberRoleUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update member role",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMemberResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/messages": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "message_create",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomMessageCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create room message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/messages/search": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "message_search",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Search messages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MessageSearchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/messages/{message_id}": {
      "patch": {
        "tags": [
          "Room"
        ],
        "operationId": "message_update",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomMessageUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update room message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/messages/{message_id}/edit-history": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "message_edit_history",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get message edit history",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_MessageEditHistoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/messages/{message_id}/pin": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "pin_add",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Add room pin",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomPinResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Room"
        ],
        "operationId": "pin_remove",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove room pin"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/messages/{message_id}/revoke": {
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "message_revoke",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "message_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Revoke room message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMessageResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/pins": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "pin_list",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List room pins",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RoomPinResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/threads": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "thread_list",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List room threads",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_RoomThreadResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "post": {
        "tags": [
          "Room"
        ],
        "operationId": "thread_create",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomThreadCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create room thread",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomThreadResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/rooms/{room_id}/threads/{thread_id}/messages": {
      "get": {
        "tags": [
          "Room"
        ],
        "operationId": "thread_messages",
        "parameters": [
          {
            "name": "room_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "thread_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "before_seq",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "after_seq",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List thread messages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_RoomMessageListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "operationId": "search",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search keyword",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Comma-separated types: projects,repos,issues,users. Default: all",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number, default 1",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Results per page, default 20, max 100",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/access-keys": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "list_access_keys",
        "responses": {
          "200": {
            "description": "List access keys",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_AccessKeyListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "create_access_key",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccessKeyParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create access key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_AccessKeyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/access-keys/{access_key_id}": {
      "delete": {
        "tags": [
          "User"
        ],
        "operationId": "delete_access_key",
        "parameters": [
          {
            "name": "access_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete access key"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/me/heatmap": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_my_contribution_heatmap",
        "responses": {
          "200": {
            "description": "Get my contribution heatmap",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ContributionHeatmapResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/keys": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "list_ssh_keys",
        "responses": {
          "200": {
            "description": "List SSH keys",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SshKeyListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "add_ssh_key",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddSshKeyParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add SSH key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SshKeyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/keys/{key_id}": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_ssh_key",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get SSH key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SshKeyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "User"
        ],
        "operationId": "delete_ssh_key",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete SSH key"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "patch": {
        "tags": [
          "User"
        ],
        "operationId": "update_ssh_key",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSshKeyParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update SSH key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_SshKeyResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/me/notifications/preferences": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_notification_preferences",
        "responses": {
          "200": {
            "description": "Get notification preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_NotificationPreferencesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "User"
        ],
        "operationId": "update_notification_preferences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationPreferencesParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update notification preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_NotificationPreferencesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/preferences": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_preferences",
        "responses": {
          "200": {
            "description": "Get user preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PreferencesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "User"
        ],
        "operationId": "update_preferences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreferencesParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update user preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_PreferencesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/profile": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_my_profile",
        "responses": {
          "200": {
            "description": "Get current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProfileResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "patch": {
        "tags": [
          "User"
        ],
        "operationId": "update_my_profile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProfileParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProfileResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/projects": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_current_user_projects",
        "responses": {
          "200": {
            "description": "Get current user projects",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserProjectsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/me/repos": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_current_user_repos",
        "responses": {
          "200": {
            "description": "Get current user repos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserReposResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/users/{username}": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_profile_by_username",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get user profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ProfileResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/activity": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_user_activity",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get user activity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserActivityResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/follow": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "is_subscribed_to_target",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Check if following user"
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "subscribe_target",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Follow user"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      },
      "delete": {
        "tags": [
          "User"
        ],
        "operationId": "unsubscribe_target",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Unfollow user"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/followers": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_subscribers",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List followers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_SubscriptionInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/followers/count": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_subscriber_count",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get follower count"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/following": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_following_list",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List following users",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_UserCard"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/following/count": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_subscription_count",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get following count"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/heatmap": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_contribution_heatmap",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get contribution heatmap",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_ContributionHeatmapResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/info": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_user_info",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get user info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserInfoExternal"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/projects": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_user_projects",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get user projects",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserProjectsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/repos": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_user_repos",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get user repos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserReposResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/users/{username}/stars": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "get_user_stars",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get user stars",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_UserStarsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/workspaces": {
      "post": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceInitParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create workspace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Slug or name already exists"
          }
        }
      }
    },
    "/api/workspaces/invitations/accept": {
      "post": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_accept_invitation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceInviteAcceptParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Accept invitation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or expired token"
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Already accepted"
          }
        }
      }
    },
    "/api/workspaces/invitations/accept-by-slug": {
      "post": {
        "tags": [
          "Workspace"
        ],
        "summary": "Accept a workspace invitation by slug.",
        "operationId": "workspace_accept_invitation_by_slug",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceAcceptBySlugParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Accept invitation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid or expired token"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Invitation not found"
          },
          "409": {
            "description": "Already accepted"
          }
        }
      }
    },
    "/api/workspaces/me": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_list",
        "responses": {
          "200": {
            "description": "List my workspaces",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/workspaces/me/invitations": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "summary": "List all pending workspace invitations for the current user.",
        "operationId": "workspace_my_invitations",
        "responses": {
          "200": {
            "description": "List my workspace invitations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_MyWorkspaceInvitation"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/workspaces/{slug}": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_info",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get workspace info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      },
      "delete": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_delete",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete workspace"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied (owner only)"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      },
      "patch": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_update",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceUpdateParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update workspace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Workspace not found"
          },
          "409": {
            "description": "Name already exists"
          }
        }
      }
    },
    "/api/workspaces/{slug}/billing": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_billing_current",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Workspace slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get workspace billing info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceBillingCurrentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Not a workspace member"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      }
    },
    "/api/workspaces/{slug}/billing/credits": {
      "post": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_billing_add_credit",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Workspace slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceBillingAddCreditParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add credit to workspace billing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceBillingCurrentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Not a workspace member"
          }
        }
      }
    },
    "/api/workspaces/{slug}/billing/history": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_billing_history",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Workspace slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get workspace billing history",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceBillingHistoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/api/workspaces/{slug}/invitations": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_pending_invitations",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List pending invitations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_Vec_PendingInvitationInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      },
      "post": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_invite_member",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkspaceInviteParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Send invitation"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "User not found"
          },
          "409": {
            "description": "Already a member"
          }
        }
      }
    },
    "/api/workspaces/{slug}/invitations/{user_id}": {
      "delete": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_cancel_invitation",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Cancel invitation"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Invitation not found"
          }
        }
      }
    },
    "/api/workspaces/{slug}/members": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_members",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List workspace members",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceMembersResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Not a member"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      }
    },
    "/api/workspaces/{slug}/members/role": {
      "patch": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_update_member_role",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRoleParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Update member role"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Workspace or member not found"
          }
        }
      }
    },
    "/api/workspaces/{slug}/members/{user_id}": {
      "delete": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_remove_member",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Remove member"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Permission denied"
          },
          "404": {
            "description": "Member not found"
          }
        }
      }
    },
    "/api/workspaces/{slug}/projects": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_projects",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Workspace slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List workspace projects",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceProjectsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Not a workspace member"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      }
    },
    "/api/workspaces/{slug}/stats": {
      "get": {
        "tags": [
          "Workspace"
        ],
        "operationId": "workspace_stats",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "description": "Workspace slug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Get workspace stats",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse_WorkspaceStatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Not a workspace member"
          },
          "404": {
            "description": "Workspace not found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccessKeyListResponse": {
        "type": "object",
        "required": [
          "access_keys",
          "total"
        ],
        "properties": {
          "access_keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessKeyResponse"
            }
          },
          "total": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "AccessKeyResponse": {
        "type": "object",
        "required": [
          "id",
          "name",
          "scopes",
          "is_revoked",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "access_key": {
            "type": [
              "string",
              "null"
            ]
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "is_revoked": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ActivityLogListResponse": {
        "type": "object",
        "required": [
          "logs",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityLogResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "user_role": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MemberRole",
                "description": "The current user's role in the project."
              }
            ]
          }
        }
      },
      "ActivityLogParams": {
        "type": "object",
        "required": [
          "event_type",
          "title",
          "is_private"
        ],
        "properties": {
          "event_type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "repo_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "event_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "event_sub_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "metadata": {},
          "is_private": {
            "type": "boolean"
          }
        }
      },
      "ActivityLogResponse": {
        "type": "object",
        "required": [
          "id",
          "project_uid",
          "actor_uid",
          "event_type",
          "title",
          "is_private",
          "visibility",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "repo_uid": {
            "type": "string",
            "format": "uuid"
          },
          "actor_uid": {
            "type": "string",
            "format": "uuid"
          },
          "event_type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "is_private": {
            "type": "boolean"
          },
          "visibility": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          }
        }
      },
      "AddSshKeyParams": {
        "type": "object",
        "required": [
          "title",
          "public_key"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "public_key": {
            "type": "string"
          }
        }
      },
      "AlertDetail": {
        "type": "object",
        "required": [
          "workspace_id",
          "workspace_name",
          "alert_type",
          "threshold",
          "current_value",
          "recipients"
        ],
        "properties": {
          "workspace_id": {
            "type": "string",
            "format": "uuid"
          },
          "workspace_name": {
            "type": "string"
          },
          "alert_type": {
            "type": "string"
          },
          "threshold": {
            "type": "number",
            "format": "double"
          },
          "current_value": {
            "type": "number",
            "format": "double"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AnswerRequest": {
        "type": "object",
        "required": [
          "question",
          "answer"
        ],
        "properties": {
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          }
        }
      },
      "ApiError": {
        "type": "object",
        "required": [
          "code",
          "error",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Error numeric code"
          },
          "error": {
            "type": "string",
            "description": "Error slug identifier"
          },
          "message": {
            "type": "string",
            "description": "Human-readable error message"
          }
        }
      },
      "ApiResponse_AccessKeyListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "access_keys",
              "total"
            ],
            "properties": {
              "access_keys": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccessKeyResponse"
                }
              },
              "total": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_AccessKeyResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "name",
              "scopes",
              "is_revoked",
              "created_at"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "name": {
                "type": "string"
              },
              "access_key": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scopes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "expires_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "is_revoked": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ActivityLogListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "logs",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "logs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ActivityLogResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "user_role": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/MemberRole",
                    "description": "The current user's role in the project."
                  }
                ]
              }
            }
          }
        }
      },
      "ApiResponse_ActivityLogResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project_uid",
              "actor_uid",
              "event_type",
              "title",
              "is_private",
              "visibility",
              "created_at"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "project_uid": {
                "type": "string",
                "format": "uuid"
              },
              "repo_uid": {
                "type": "string",
                "format": "uuid"
              },
              "actor_uid": {
                "type": "string",
                "format": "uuid"
              },
              "event_type": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "content": {
                "type": "string"
              },
              "is_private": {
                "type": "boolean"
              },
              "visibility": {
                "type": "string"
              },
              "created_at": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_ApiError": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "code",
              "error",
              "message"
            ],
            "properties": {
              "code": {
                "type": "integer",
                "format": "int32",
                "description": "Error numeric code"
              },
              "error": {
                "type": "string",
                "description": "Error slug identifier"
              },
              "message": {
                "type": "string",
                "description": "Human-readable error message"
              }
            }
          }
        }
      },
      "ApiResponse_ApprovalCheckResult": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "enough_approvals",
              "approvals",
              "required",
              "reviewers"
            ],
            "properties": {
              "enough_approvals": {
                "type": "boolean"
              },
              "approvals": {
                "type": "integer",
                "format": "int32"
              },
              "required": {
                "type": "integer",
                "format": "int32"
              },
              "reviewers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReviewerInfo"
                }
              }
            }
          }
        }
      },
      "ApiResponse_ArchiveCachedResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commit_oid",
              "format",
              "cached"
            ],
            "properties": {
              "commit_oid": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "cached": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_ArchiveInvalidateAllResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commit_oid",
              "count"
            ],
            "properties": {
              "commit_oid": {
                "type": "string"
              },
              "count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_ArchiveInvalidateResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commit_oid",
              "format",
              "invalidated"
            ],
            "properties": {
              "commit_oid": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "invalidated": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_ArchiveListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commit_oid",
              "entries",
              "total_entries"
            ],
            "properties": {
              "commit_oid": {
                "type": "string"
              },
              "entries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArchiveEntryResponse"
                }
              },
              "total_entries": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_ArchiveResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commit_oid",
              "format",
              "size",
              "data"
            ],
            "properties": {
              "commit_oid": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "minimum": 0
              },
              "data": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_ArchiveSummaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commit_oid",
              "format",
              "total_entries",
              "total_size"
            ],
            "properties": {
              "commit_oid": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "total_entries": {
                "type": "integer",
                "minimum": 0
              },
              "total_size": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_AuditLogResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project_uid",
              "actor_uid",
              "action"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "project_uid": {
                "type": "string",
                "format": "uuid"
              },
              "actor_uid": {
                "type": "string",
                "format": "uuid"
              },
              "action": {
                "type": "string"
              },
              "details": {
                "type": "object"
              }
            }
          }
        }
      },
      "ApiResponse_BlobContentResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "size",
              "is_binary",
              "content"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "minimum": 0
              },
              "is_binary": {
                "type": "boolean"
              },
              "content": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_BlobCreateResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "size"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_BlobExistsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "exists"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "exists": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BlobInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "size",
              "is_binary"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "minimum": 0
              },
              "is_binary": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BlobIsBinaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "is_binary"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "is_binary": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BlobSizeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "size"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "size": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_BoardResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project",
              "name",
              "created_by",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "project": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_by": {
                "type": "string",
                "format": "uuid"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_BoardWithColumnsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "board",
              "columns"
            ],
            "properties": {
              "board": {
                "$ref": "#/components/schemas/BoardResponse"
              },
              "columns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ColumnWithCardsResponse"
                }
              }
            }
          }
        }
      },
      "ApiResponse_BranchDiffResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "ahead",
              "behind",
              "diverged"
            ],
            "properties": {
              "ahead": {
                "type": "integer",
                "minimum": 0
              },
              "behind": {
                "type": "integer",
                "minimum": 0
              },
              "diverged": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchExistsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "exists"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "exists": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchFastForwardResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid"
            ],
            "properties": {
              "oid": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_BranchInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "oid",
              "is_head",
              "is_remote",
              "is_current"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "oid": {
                "type": "string"
              },
              "is_head": {
                "type": "boolean"
              },
              "is_remote": {
                "type": "boolean"
              },
              "is_current": {
                "type": "boolean"
              },
              "upstream": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_BranchIsAncestorResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "child",
              "ancestor",
              "is_ancestor"
            ],
            "properties": {
              "child": {
                "type": "string"
              },
              "ancestor": {
                "type": "string"
              },
              "is_ancestor": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchIsConflictedResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "is_conflicted"
            ],
            "properties": {
              "is_conflicted": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchIsDetachedResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "is_detached"
            ],
            "properties": {
              "is_detached": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchIsHeadResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "is_head"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "is_head": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchIsMergedResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "branch",
              "into",
              "is_merged"
            ],
            "properties": {
              "branch": {
                "type": "string"
              },
              "into": {
                "type": "string"
              },
              "is_merged": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchMergeBaseResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "branch1",
              "branch2",
              "base"
            ],
            "properties": {
              "branch1": {
                "type": "string"
              },
              "branch2": {
                "type": "string"
              },
              "base": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_BranchProtectionResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "repo",
              "branch",
              "forbid_push",
              "forbid_pull",
              "forbid_merge",
              "forbid_deletion",
              "forbid_force_push",
              "forbid_tag_push",
              "required_approvals",
              "dismiss_stale_reviews",
              "require_linear_history",
              "allow_fork_syncing"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "branch": {
                "type": "string"
              },
              "forbid_push": {
                "type": "boolean"
              },
              "forbid_pull": {
                "type": "boolean"
              },
              "forbid_merge": {
                "type": "boolean"
              },
              "forbid_deletion": {
                "type": "boolean"
              },
              "forbid_force_push": {
                "type": "boolean"
              },
              "forbid_tag_push": {
                "type": "boolean"
              },
              "required_approvals": {
                "type": "integer",
                "format": "int32"
              },
              "dismiss_stale_reviews": {
                "type": "boolean"
              },
              "require_linear_history": {
                "type": "boolean"
              },
              "allow_fork_syncing": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_BranchSummaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "local_count",
              "remote_count",
              "all_count"
            ],
            "properties": {
              "local_count": {
                "type": "integer",
                "minimum": 0
              },
              "remote_count": {
                "type": "integer",
                "minimum": 0
              },
              "all_count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_BranchTrackingDiffResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "ahead",
              "behind"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "ahead": {
                "type": "integer",
                "minimum": 0
              },
              "behind": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CaptchaResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "base64",
              "req"
            ],
            "properties": {
              "base64": {
                "type": "string"
              },
              "rsa": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/RsaResponse"
                  }
                ]
              },
              "req": {
                "$ref": "#/components/schemas/CaptchaQuery"
              }
            }
          }
        }
      },
      "ApiResponse_CardResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "column",
              "title",
              "position",
              "created_by",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "column": {
                "type": "string",
                "format": "uuid"
              },
              "issue_id": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "project": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "position": {
                "type": "integer",
                "format": "int32"
              },
              "assignee_id": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "due_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "priority": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_by": {
                "type": "string",
                "format": "uuid"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_CheckAlertsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "workspaces_checked",
              "alerts_sent",
              "details"
            ],
            "properties": {
              "workspaces_checked": {
                "type": "integer",
                "minimum": 0
              },
              "alerts_sent": {
                "type": "integer",
                "minimum": 0
              },
              "details": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AlertDetail"
                }
              }
            }
          }
        }
      },
      "ApiResponse_ColumnResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "board",
              "name",
              "position"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "board": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "position": {
                "type": "integer",
                "format": "int32"
              },
              "wip_limit": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int32"
              },
              "color": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_CommitAuthorResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "author"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "author": {
                "$ref": "#/components/schemas/CommitSignatureResponse"
              }
            }
          }
        }
      },
      "ApiResponse_CommitBranchesResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "propertyNames": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_CommitCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "count"
            ],
            "properties": {
              "count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CommitCreateResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid"
            ],
            "properties": {
              "oid": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_CommitExistsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "exists"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "exists": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_CommitGraphReactResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commits",
              "lanes",
              "max_parents"
            ],
            "properties": {
              "commits": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CommitGraphReactCommit"
                }
              },
              "lanes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LaneInfo"
                }
              },
              "max_parents": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CommitGraphResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "lines",
              "max_parents"
            ],
            "properties": {
              "lines": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CommitGraphLineResponse"
                }
              },
              "max_parents": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CommitIsCommitResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "is_commit"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "is_commit": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_CommitIsMergeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "is_merge"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "is_merge": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_CommitIsTipResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "is_tip"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "is_tip": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_CommitLogResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "data",
              "total",
              "page",
              "per_page",
              "total_pages"
            ],
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CommitMetaResponse"
                }
              },
              "total": {
                "type": "integer",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "minimum": 0
              },
              "total_pages": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CommitMessageResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "message"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_CommitMetaResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "message",
              "summary",
              "author",
              "committer",
              "tree_id",
              "parent_ids"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "summary": {
                "type": "string"
              },
              "author": {
                "$ref": "#/components/schemas/CommitSignatureResponse"
              },
              "committer": {
                "$ref": "#/components/schemas/CommitSignatureResponse"
              },
              "tree_id": {
                "type": "string"
              },
              "parent_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "encoding": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_CommitParentCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "parent_count"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "parent_count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CommitParentIdsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "parent_ids"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "parent_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_CommitRefCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "ref_count"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "ref_count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_CommitShortIdResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "short_id"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "short_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_CommitSummaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "summary"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "summary": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_CommitTagsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "propertyNames": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_CommitTreeIdResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "tree_id"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "tree_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_ConfigBoolResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_ConfigSnapshotResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "entries"
            ],
            "properties": {
              "entries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConfigEntryResponse"
                }
              }
            }
          }
        }
      },
      "ApiResponse_ContextMe": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "uid",
              "username",
              "has_unread_notifications"
            ],
            "properties": {
              "uid": {
                "type": "string",
                "format": "uuid"
              },
              "username": {
                "type": "string"
              },
              "display_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "avatar_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "has_unread_notifications": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_ContributionHeatmapResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "username",
              "total_contributions",
              "heatmap",
              "start_date",
              "end_date"
            ],
            "properties": {
              "username": {
                "type": "string"
              },
              "total_contributions": {
                "type": "integer",
                "format": "int64"
              },
              "heatmap": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributionHeatmapItem"
                }
              },
              "start_date": {
                "type": "string"
              },
              "end_date": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_ContributorsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "total",
              "contributors"
            ],
            "properties": {
              "total": {
                "type": "integer",
                "minimum": 0
              },
              "contributors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContributorStats"
                }
              }
            }
          }
        }
      },
      "ApiResponse_DeleteSkillResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "deleted",
              "slug"
            ],
            "properties": {
              "deleted": {
                "type": "boolean"
              },
              "slug": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_DescriptionResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "description"
            ],
            "properties": {
              "description": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_DiffPatchIdResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "old_tree",
              "new_tree",
              "patch_id"
            ],
            "properties": {
              "old_tree": {
                "type": "string"
              },
              "new_tree": {
                "type": "string"
              },
              "patch_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_DiffResultResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "stats",
              "deltas"
            ],
            "properties": {
              "stats": {
                "$ref": "#/components/schemas/DiffStatsResponse"
              },
              "deltas": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DiffDeltaResponse"
                }
              }
            }
          }
        }
      },
      "ApiResponse_DiffStatsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "files_changed",
              "insertions",
              "deletions"
            ],
            "properties": {
              "files_changed": {
                "type": "integer",
                "minimum": 0
              },
              "insertions": {
                "type": "integer",
                "minimum": 0
              },
              "deletions": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_EmailResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "email": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_GitInitResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "path",
              "is_bare"
            ],
            "properties": {
              "path": {
                "type": "string"
              },
              "is_bare": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_GitReadmeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "content": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "size": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "encoding": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "truncated": {
                "type": "boolean"
              },
              "is_binary": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_InvitationListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "invitations",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "invitations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvitationResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_IsLikeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "is_like"
            ],
            "properties": {
              "is_like": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_IsWatchResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "is_watching"
            ],
            "properties": {
              "is_watching": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_IssueAssigneeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "issue",
              "user_id",
              "username",
              "assigned_at"
            ],
            "properties": {
              "issue": {
                "type": "string",
                "format": "uuid"
              },
              "user_id": {
                "type": "string",
                "format": "uuid"
              },
              "username": {
                "type": "string"
              },
              "assigned_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_IssueCommentListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "comments",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "comments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IssueCommentResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64"
              },
              "page": {
                "type": "integer",
                "format": "int64"
              },
              "per_page": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_IssueCommentResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "issue",
              "author",
              "author_username",
              "body",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "issue": {
                "type": "string",
                "format": "uuid"
              },
              "author": {
                "type": "string",
                "format": "uuid"
              },
              "author_username": {
                "type": "string"
              },
              "body": {
                "type": "string"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_IssueLabelResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "issue",
              "label_id",
              "relation_at"
            ],
            "properties": {
              "issue": {
                "type": "string",
                "format": "uuid"
              },
              "label_id": {
                "type": "integer",
                "format": "int64"
              },
              "label_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "label_color": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "relation_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_IssueListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "issues",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "issues": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IssueResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64"
              },
              "page": {
                "type": "integer",
                "format": "int64"
              },
              "per_page": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_IssuePullRequestResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "issue",
              "repo",
              "number",
              "relation_at"
            ],
            "properties": {
              "issue": {
                "type": "string",
                "format": "uuid"
              },
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "relation_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_IssueRepoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "issue",
              "repo",
              "relation_at"
            ],
            "properties": {
              "issue": {
                "type": "string",
                "format": "uuid"
              },
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "relation_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_IssueResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project",
              "number",
              "title",
              "state",
              "author",
              "created_at",
              "updated_at",
              "created_by_ai"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "project": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "title": {
                "type": "string"
              },
              "body": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "state": {
                "type": "string"
              },
              "author": {
                "type": "string",
                "format": "uuid"
              },
              "author_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "milestone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "closed_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "created_by_ai": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_IssueSubscriberResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "issue",
              "user_id",
              "username",
              "subscribed",
              "created_at"
            ],
            "properties": {
              "issue": {
                "type": "string",
                "format": "uuid"
              },
              "user_id": {
                "type": "string",
                "format": "uuid"
              },
              "username": {
                "type": "string"
              },
              "subscribed": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_IssueSummaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "total",
              "open",
              "closed"
            ],
            "properties": {
              "total": {
                "type": "integer",
                "format": "int64"
              },
              "open": {
                "type": "integer",
                "format": "int64"
              },
              "closed": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_JoinAnswersListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "request_id",
              "project_uid",
              "answers"
            ],
            "properties": {
              "request_id": {
                "type": "integer",
                "format": "int64"
              },
              "project_uid": {
                "type": "string"
              },
              "answers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JoinAnswerResponse"
                }
              }
            }
          }
        }
      },
      "ApiResponse_JoinRequestListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "requests",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "requests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JoinRequestResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_JoinSettingsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "project_uid",
              "require_approval",
              "require_questions",
              "questions"
            ],
            "properties": {
              "project_uid": {
                "type": "string"
              },
              "require_approval": {
                "type": "boolean"
              },
              "require_questions": {
                "type": "boolean"
              },
              "questions": {}
            }
          }
        }
      },
      "ApiResponse_LabelListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "labels",
              "total"
            ],
            "properties": {
              "labels": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LabelResponse"
                }
              },
              "total": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_LabelResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project_uid",
              "name",
              "color",
              "created_at"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "project_uid": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "color": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_MemberListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "members",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "members": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MemberInfo"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_MergeAnalysisResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "can_fast_forward",
              "is_up_to_date",
              "is_normal",
              "analysis_flags",
              "supported_strategies"
            ],
            "properties": {
              "can_fast_forward": {
                "type": "boolean"
              },
              "is_up_to_date": {
                "type": "boolean"
              },
              "is_normal": {
                "type": "boolean"
              },
              "analysis_flags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "supported_strategies": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Strategies supported given the current state of the PR."
              }
            }
          }
        }
      },
      "ApiResponse_MergeConflictResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "has_conflicts",
              "conflicted_files"
            ],
            "properties": {
              "has_conflicts": {
                "type": "boolean"
              },
              "conflicted_files": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MergeConflictFile"
                }
              }
            }
          }
        }
      },
      "ApiResponse_MergeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repo",
              "number",
              "status",
              "merged_by",
              "merged_at"
            ],
            "properties": {
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "status": {
                "type": "string"
              },
              "merged_by": {
                "type": "string",
                "format": "uuid"
              },
              "merged_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_MessageEditHistoryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "message_id",
              "history",
              "total_edits"
            ],
            "properties": {
              "message_id": {
                "type": "string",
                "format": "uuid"
              },
              "history": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MessageEditHistoryEntry"
                }
              },
              "total_edits": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_MessageSearchResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "messages",
              "total"
            ],
            "properties": {
              "messages": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RoomMessageResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_NotificationListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "notifications",
              "total",
              "unread_count"
            ],
            "properties": {
              "notifications": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NotificationResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64"
              },
              "unread_count": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_NotificationPreferencesResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "user_id",
              "email_enabled",
              "in_app_enabled",
              "push_enabled",
              "digest_mode",
              "dnd_enabled",
              "marketing_enabled",
              "security_enabled",
              "product_enabled",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "user_id": {
                "type": "string",
                "format": "uuid"
              },
              "email_enabled": {
                "type": "boolean"
              },
              "in_app_enabled": {
                "type": "boolean"
              },
              "push_enabled": {
                "type": "boolean"
              },
              "digest_mode": {
                "type": "string"
              },
              "dnd_enabled": {
                "type": "boolean"
              },
              "dnd_start_minute": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int32"
              },
              "dnd_end_minute": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int32"
              },
              "marketing_enabled": {
                "type": "boolean"
              },
              "security_enabled": {
                "type": "boolean"
              },
              "product_enabled": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_Option_CommitMetaResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "required": [
                  "oid",
                  "message",
                  "summary",
                  "author",
                  "committer",
                  "tree_id",
                  "parent_ids"
                ],
                "properties": {
                  "oid": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "summary": {
                    "type": "string"
                  },
                  "author": {
                    "$ref": "#/components/schemas/CommitSignatureResponse"
                  },
                  "committer": {
                    "$ref": "#/components/schemas/CommitSignatureResponse"
                  },
                  "tree_id": {
                    "type": "string"
                  },
                  "parent_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "encoding": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            ]
          }
        }
      },
      "ApiResponse_PrCommitsListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "commits"
            ],
            "properties": {
              "commits": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PrCommitResponse"
                }
              }
            }
          }
        }
      },
      "ApiResponse_PreferencesResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "language",
              "theme",
              "timezone",
              "email_notifications",
              "in_app_notifications",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "language": {
                "type": "string"
              },
              "theme": {
                "type": "string"
              },
              "timezone": {
                "type": "string"
              },
              "email_notifications": {
                "type": "boolean"
              },
              "in_app_notifications": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ProfileResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "uid",
              "username",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "uid": {
                "type": "string",
                "format": "uuid"
              },
              "username": {
                "type": "string"
              },
              "display_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "avatar_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "website_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "organization": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "last_sign_in_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ProjectBillingCurrentResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "project_uid",
              "currency",
              "monthly_quota",
              "balance",
              "month_used",
              "cycle_start_utc",
              "cycle_end_utc",
              "updated_at",
              "created_at"
            ],
            "properties": {
              "project_uid": {
                "type": "string",
                "format": "uuid"
              },
              "currency": {
                "type": "string"
              },
              "monthly_quota": {
                "type": "number",
                "format": "double"
              },
              "balance": {
                "type": "number",
                "format": "double"
              },
              "month_used": {
                "type": "number",
                "format": "double"
              },
              "cycle_start_utc": {
                "type": "string",
                "format": "date-time"
              },
              "cycle_end_utc": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ProjectBillingHistoryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "page",
              "per_page",
              "total",
              "list"
            ],
            "properties": {
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "list": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectBillingHistoryItem"
                }
              }
            }
          }
        }
      },
      "ApiResponse_ProjectInfoRelational": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "uid",
              "name",
              "display_name",
              "is_public",
              "created_at",
              "updated_at",
              "created_by",
              "created_username_name",
              "member_count",
              "like_count",
              "watch_count",
              "keys",
              "labels",
              "is_like",
              "is_watch"
            ],
            "properties": {
              "uid": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "display_name": {
                "type": "string"
              },
              "avatar_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "is_public": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "created_by": {
                "type": "string",
                "format": "uuid"
              },
              "created_username_name": {
                "type": "string"
              },
              "created_display_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_avatar_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "member_count": {
                "type": "integer",
                "format": "int64"
              },
              "like_count": {
                "type": "integer",
                "format": "int64"
              },
              "watch_count": {
                "type": "integer",
                "format": "int64"
              },
              "keys": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectInfoKeyValue"
                }
              },
              "labels": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectInfoLabel"
                }
              },
              "role": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/MemberRole"
                  }
                ]
              },
              "is_like": {
                "type": "boolean"
              },
              "is_watch": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_ProjectInitResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "params",
              "project"
            ],
            "properties": {
              "params": {
                "$ref": "#/components/schemas/ProjectInitParams"
              },
              "project": {
                "$ref": "#/components/schemas/ProjectModel"
              }
            }
          }
        }
      },
      "ApiResponse_ProjectRepoCreateResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "uid",
              "repo_name",
              "default_branch",
              "project_name",
              "is_private",
              "storage_path",
              "created_at"
            ],
            "properties": {
              "uid": {
                "type": "string",
                "format": "uuid"
              },
              "repo_name": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "default_branch": {
                "type": "string"
              },
              "project_name": {
                "type": "string"
              },
              "is_private": {
                "type": "boolean"
              },
              "storage_path": {
                "type": "string"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ProjectRepositoryPagination": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "items",
              "total"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectRepositoryItem"
                }
              },
              "cursor": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_PullRequestListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "pull_requests",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "pull_requests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PullRequestResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64"
              },
              "per_page": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_PullRequestResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repo",
              "number",
              "title",
              "author",
              "base",
              "head",
              "status",
              "created_at",
              "updated_at",
              "created_by_ai"
            ],
            "properties": {
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "issue": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "title": {
                "type": "string"
              },
              "body": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "author": {
                "type": "string",
                "format": "uuid"
              },
              "author_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "base": {
                "type": "string"
              },
              "head": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "merged_by": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "merged_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "created_by_ai": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_PullRequestSummaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "total",
              "open",
              "merged",
              "closed"
            ],
            "properties": {
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "open": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "merged": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "closed": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_ReactionListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "reactions"
            ],
            "properties": {
              "reactions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReactionSummary"
                }
              }
            }
          }
        }
      },
      "ApiResponse_ReactionResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "user",
              "reaction",
              "created_at"
            ],
            "properties": {
              "user": {
                "type": "string",
                "format": "uuid"
              },
              "reaction": {
                "type": "string"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_RefDeleteResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "oid"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "oid": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_RefExistsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "exists"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "exists": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_RefInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "is_symbolic",
              "is_branch",
              "is_remote",
              "is_tag",
              "is_note"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "oid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "target": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "is_symbolic": {
                "type": "boolean"
              },
              "is_branch": {
                "type": "boolean"
              },
              "is_remote": {
                "type": "boolean"
              },
              "is_tag": {
                "type": "boolean"
              },
              "is_note": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_RefTargetResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "oid": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_RefUpdateResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "old_oid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "new_oid": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_ReviewCommentListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "comments",
              "threads",
              "total"
            ],
            "properties": {
              "comments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReviewCommentResponse"
                },
                "description": "Flat list of all comments (kept for backward compatibility)."
              },
              "threads": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReviewCommentThread"
                },
                "description": "Comments grouped into threads (root comments with their replies)."
              },
              "total": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_ReviewCommentResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repo",
              "number",
              "id",
              "body",
              "author",
              "resolved",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "review": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "side": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "line": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "old_line": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "body": {
                "type": "string"
              },
              "author": {
                "type": "string",
                "format": "uuid"
              },
              "author_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "resolved": {
                "type": "boolean"
              },
              "in_reply_to": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ReviewListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "reviews"
            ],
            "properties": {
              "reviews": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReviewResponse"
                }
              }
            }
          }
        }
      },
      "ApiResponse_ReviewRequestListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "requests",
              "total"
            ],
            "properties": {
              "requests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReviewRequestResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_ReviewRequestResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repo",
              "number",
              "reviewer",
              "requested_by",
              "requested_at"
            ],
            "properties": {
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "reviewer": {
                "type": "string",
                "format": "uuid"
              },
              "reviewer_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "requested_by": {
                "type": "string",
                "format": "uuid"
              },
              "requested_by_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "requested_at": {
                "type": "string",
                "format": "date-time"
              },
              "dismissed_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "dismissed_by": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "dismissed_by_username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_ReviewResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repo",
              "number",
              "reviewer",
              "state",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "repo": {
                "type": "string",
                "format": "uuid"
              },
              "number": {
                "type": "integer",
                "format": "int64"
              },
              "reviewer": {
                "type": "string",
                "format": "uuid"
              },
              "reviewer_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "state": {
                "type": "string"
              },
              "body": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "submitted_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_RoomAiResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "room",
              "model",
              "call_count",
              "use_exact",
              "think",
              "stream",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "room": {
                "type": "string",
                "format": "uuid"
              },
              "model": {
                "type": "string",
                "format": "uuid"
              },
              "model_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "version": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "call_count": {
                "type": "integer",
                "format": "int64"
              },
              "last_call_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "history_limit": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "system_prompt": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "temperature": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "double"
              },
              "max_tokens": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "use_exact": {
                "type": "boolean"
              },
              "think": {
                "type": "boolean"
              },
              "stream": {
                "type": "boolean"
              },
              "min_score": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "float"
              },
              "agent_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_RoomCategoryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project",
              "name",
              "position",
              "created_by",
              "created_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "project": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "position": {
                "type": "integer",
                "format": "int32"
              },
              "created_by": {
                "type": "string",
                "format": "uuid"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_RoomMemberResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "room",
              "user",
              "role",
              "do_not_disturb"
            ],
            "properties": {
              "room": {
                "type": "string",
                "format": "uuid"
              },
              "user": {
                "type": "string",
                "format": "uuid"
              },
              "user_info": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/UserInfo"
                  }
                ]
              },
              "role": {
                "type": "string"
              },
              "first_msg_in": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "joined_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "last_read_seq": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "do_not_disturb": {
                "type": "boolean"
              },
              "dnd_start_hour": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int32"
              },
              "dnd_end_hour": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int32"
              }
            }
          }
        }
      },
      "ApiResponse_RoomMessageListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "messages",
              "total"
            ],
            "properties": {
              "messages": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RoomMessageResponse"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_RoomMessageResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "seq",
              "room",
              "sender_type",
              "content",
              "content_type",
              "send_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "seq": {
                "type": "integer",
                "format": "int64"
              },
              "room": {
                "type": "string",
                "format": "uuid"
              },
              "sender_type": {
                "type": "string"
              },
              "sender_id": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "display_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "thread": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "in_reply_to": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "content": {
                "type": "string"
              },
              "content_type": {
                "type": "string"
              },
              "edited_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "send_at": {
                "type": "string",
                "format": "date-time"
              },
              "revoked": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "revoked_by": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "highlighted_content": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Highlighted content with <mark> tags around matched terms (for search results)"
              },
              "attachment_ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      },
      "ApiResponse_RoomPinResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "room",
              "message",
              "pinned_by",
              "pinned_at"
            ],
            "properties": {
              "room": {
                "type": "string",
                "format": "uuid"
              },
              "message": {
                "type": "string",
                "format": "uuid"
              },
              "pinned_by": {
                "type": "string",
                "format": "uuid"
              },
              "pinned_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_RoomResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project",
              "room_name",
              "public",
              "created_by",
              "created_at",
              "last_msg_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "project": {
                "type": "string",
                "format": "uuid"
              },
              "room_name": {
                "type": "string"
              },
              "public": {
                "type": "boolean"
              },
              "category": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              },
              "created_by": {
                "type": "string",
                "format": "uuid"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "last_msg_at": {
                "type": "string",
                "format": "date-time"
              },
              "unread_count": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_RoomThreadResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "room",
              "parent",
              "created_by",
              "participants",
              "last_message_at",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "room": {
                "type": "string",
                "format": "uuid"
              },
              "parent": {
                "type": "integer",
                "format": "int64"
              },
              "created_by": {
                "type": "string",
                "format": "uuid"
              },
              "participants": {},
              "last_message_at": {
                "type": "string",
                "format": "date-time"
              },
              "last_message_preview": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_ScanResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "discovered",
              "created",
              "updated",
              "removed"
            ],
            "properties": {
              "discovered": {
                "type": "integer",
                "format": "int64"
              },
              "created": {
                "type": "integer",
                "format": "int64"
              },
              "updated": {
                "type": "integer",
                "format": "int64"
              },
              "removed": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_SearchResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "query"
            ],
            "properties": {
              "query": {
                "type": "string"
              },
              "projects": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SearchResultSet_ProjectSearchItem"
                  }
                ]
              },
              "repos": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SearchResultSet_RepoSearchItem"
                  }
                ]
              },
              "issues": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SearchResultSet_IssueSearchItem"
                  }
                ]
              },
              "users": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SearchResultSet_UserSearchItem"
                  }
                ]
              }
            }
          }
        }
      },
      "ApiResponse_SideBySideDiffResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "files",
              "total_additions",
              "total_deletions"
            ],
            "properties": {
              "files": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SideBySideFileResponse"
                }
              },
              "total_additions": {
                "type": "integer",
                "minimum": 0
              },
              "total_deletions": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_SkillResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "project_uuid",
              "slug",
              "name",
              "source",
              "content",
              "metadata",
              "enabled",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "project_uuid": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source": {
                "type": "string"
              },
              "repo_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "commit_sha": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "blob_hash": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "content": {
                "type": "string"
              },
              "metadata": {},
              "enabled": {
                "type": "boolean"
              },
              "created_by": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_SshKeyListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "keys",
              "total"
            ],
            "properties": {
              "keys": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SshKeyResponse"
                }
              },
              "total": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_SshKeyResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "user_uid",
              "title",
              "fingerprint",
              "key_type",
              "is_verified",
              "is_revoked",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "user_uid": {
                "type": "string",
                "format": "uuid"
              },
              "title": {
                "type": "string"
              },
              "fingerprint": {
                "type": "string"
              },
              "key_type": {
                "type": "string"
              },
              "key_bits": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int32"
              },
              "is_verified": {
                "type": "boolean"
              },
              "last_used_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "expires_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "is_revoked": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_StarCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "count"
            ],
            "properties": {
              "count": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_StarUserListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "users"
            ],
            "properties": {
              "users": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StarUserInfo"
                }
              }
            }
          }
        }
      },
      "ApiResponse_String": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "string"
          }
        }
      },
      "ApiResponse_SyncModelsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "models_created",
              "models_updated",
              "versions_created",
              "pricing_created",
              "capabilities_created",
              "profiles_created"
            ],
            "properties": {
              "models_created": {
                "type": "integer",
                "format": "int64"
              },
              "models_updated": {
                "type": "integer",
                "format": "int64"
              },
              "versions_created": {
                "type": "integer",
                "format": "int64"
              },
              "pricing_created": {
                "type": "integer",
                "format": "int64"
              },
              "capabilities_created": {
                "type": "integer",
                "format": "int64"
              },
              "profiles_created": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_TagCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "count"
            ],
            "properties": {
              "count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_TagExistsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "exists"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "exists": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_TagInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "oid",
              "target",
              "is_annotated"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "oid": {
                "type": "string"
              },
              "target": {
                "type": "string"
              },
              "is_annotated": {
                "type": "boolean"
              },
              "message": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "tagger": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "tagger_email": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_TagIsAnnotatedResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "is_annotated"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "is_annotated": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_TagMessageResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "message": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_TagSummaryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "total_count"
            ],
            "properties": {
              "total_count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_TagTaggerResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "tagger": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "tagger_email": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_TagTargetResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "target": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      },
      "ApiResponse_TransferRepoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repo_id",
              "old_project_name",
              "new_project_name",
              "repo_name"
            ],
            "properties": {
              "repo_id": {
                "type": "string",
                "format": "uuid"
              },
              "old_project_name": {
                "type": "string"
              },
              "new_project_name": {
                "type": "string"
              },
              "repo_name": {
                "type": "string"
              }
            }
          }
        }
      },
      "ApiResponse_TreeDiffStatsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "old_tree",
              "new_tree",
              "files_changed",
              "insertions",
              "deletions"
            ],
            "properties": {
              "old_tree": {
                "type": "string"
              },
              "new_tree": {
                "type": "string"
              },
              "files_changed": {
                "type": "integer",
                "minimum": 0
              },
              "insertions": {
                "type": "integer",
                "minimum": 0
              },
              "deletions": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_TreeEntryCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "count"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "count": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_TreeEntryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "name",
              "oid",
              "kind",
              "filemode",
              "is_binary"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "oid": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "filemode": {
                "type": "integer",
                "format": "int32",
                "minimum": 0
              },
              "is_binary": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_TreeExistsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "exists"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "exists": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_TreeInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "entry_count",
              "is_empty"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "entry_count": {
                "type": "integer",
                "minimum": 0
              },
              "is_empty": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_TreeIsEmptyResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "oid",
              "is_empty"
            ],
            "properties": {
              "oid": {
                "type": "string"
              },
              "is_empty": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ApiResponse_UserActivityResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "items",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserActivityItem"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_UserInfoExternal": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "user_uid",
              "username",
              "display_name",
              "timezone",
              "language",
              "is_owner",
              "is_subscribe",
              "total_projects",
              "total_repos"
            ],
            "properties": {
              "user_uid": {
                "type": "string",
                "format": "uuid"
              },
              "username": {
                "type": "string"
              },
              "display_name": {
                "type": "string"
              },
              "avatar_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "master_email": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "timezone": {
                "type": "string"
              },
              "language": {
                "type": "string"
              },
              "website_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "organization": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "last_sign_in_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "is_owner": {
                "type": "boolean"
              },
              "is_subscribe": {
                "type": "boolean"
              },
              "total_projects": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "total_repos": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_UserProjectsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "username",
              "projects",
              "total_count"
            ],
            "properties": {
              "username": {
                "type": "string"
              },
              "projects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserProjectInfo"
                }
              },
              "total_count": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_UserReposResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "username",
              "repos",
              "total_count"
            ],
            "properties": {
              "username": {
                "type": "string"
              },
              "repos": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserRepoInfo"
                }
              },
              "total_count": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_UserStarsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "repos",
              "projects",
              "total"
            ],
            "properties": {
              "repos": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RepoStarItem"
                }
              },
              "projects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProjectFollowItem"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_Value": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {}
        }
      },
      "ApiResponse_Vec_AuditLogResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "project_uid",
                "actor_uid",
                "action"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "format": "int64"
                },
                "project_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "actor_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "action": {
                  "type": "string"
                },
                "details": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_BoardResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "project",
                "name",
                "created_by",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "project": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created_by": {
                  "type": "string",
                  "format": "uuid"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_BranchInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "oid",
                "is_head",
                "is_remote",
                "is_current"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "oid": {
                  "type": "string"
                },
                "is_head": {
                  "type": "boolean"
                },
                "is_remote": {
                  "type": "boolean"
                },
                "is_current": {
                  "type": "boolean"
                },
                "upstream": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_BranchProtectionResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "repo",
                "branch",
                "forbid_push",
                "forbid_pull",
                "forbid_merge",
                "forbid_deletion",
                "forbid_force_push",
                "forbid_tag_push",
                "required_approvals",
                "dismiss_stale_reviews",
                "require_linear_history",
                "allow_fork_syncing"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "format": "int64"
                },
                "repo": {
                  "type": "string",
                  "format": "uuid"
                },
                "branch": {
                  "type": "string"
                },
                "forbid_push": {
                  "type": "boolean"
                },
                "forbid_pull": {
                  "type": "boolean"
                },
                "forbid_merge": {
                  "type": "boolean"
                },
                "forbid_deletion": {
                  "type": "boolean"
                },
                "forbid_force_push": {
                  "type": "boolean"
                },
                "forbid_tag_push": {
                  "type": "boolean"
                },
                "required_approvals": {
                  "type": "integer",
                  "format": "int32"
                },
                "dismiss_stale_reviews": {
                  "type": "boolean"
                },
                "require_linear_history": {
                  "type": "boolean"
                },
                "allow_fork_syncing": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_CommitMetaResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "oid",
                "message",
                "summary",
                "author",
                "committer",
                "tree_id",
                "parent_ids"
              ],
              "properties": {
                "oid": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "summary": {
                  "type": "string"
                },
                "author": {
                  "$ref": "#/components/schemas/CommitSignatureResponse"
                },
                "committer": {
                  "$ref": "#/components/schemas/CommitSignatureResponse"
                },
                "tree_id": {
                  "type": "string"
                },
                "parent_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "encoding": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_CommitRefInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "target",
                "is_remote",
                "is_tag"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "target": {
                  "type": "string"
                },
                "is_remote": {
                  "type": "boolean"
                },
                "is_tag": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_CommitReflogEntryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "new_sha",
                "old_sha",
                "committer_name",
                "committer_email",
                "time_secs",
                "ref_name"
              ],
              "properties": {
                "new_sha": {
                  "type": "string"
                },
                "old_sha": {
                  "type": "string"
                },
                "committer_name": {
                  "type": "string"
                },
                "committer_email": {
                  "type": "string"
                },
                "time_secs": {
                  "type": "integer",
                  "format": "int64"
                },
                "message": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "ref_name": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_IssueAssigneeResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "issue",
                "user_id",
                "username",
                "assigned_at"
              ],
              "properties": {
                "issue": {
                  "type": "string",
                  "format": "uuid"
                },
                "user_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "assigned_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_IssueLabelResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "issue",
                "label_id",
                "relation_at"
              ],
              "properties": {
                "issue": {
                  "type": "string",
                  "format": "uuid"
                },
                "label_id": {
                  "type": "integer",
                  "format": "int64"
                },
                "label_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "label_color": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "relation_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_IssuePullRequestResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "issue",
                "repo",
                "number",
                "relation_at"
              ],
              "properties": {
                "issue": {
                  "type": "string",
                  "format": "uuid"
                },
                "repo": {
                  "type": "string",
                  "format": "uuid"
                },
                "number": {
                  "type": "integer",
                  "format": "int64"
                },
                "relation_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_IssueRepoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "issue",
                "repo",
                "relation_at"
              ],
              "properties": {
                "issue": {
                  "type": "string",
                  "format": "uuid"
                },
                "repo": {
                  "type": "string",
                  "format": "uuid"
                },
                "relation_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_IssueSubscriberResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "issue",
                "user_id",
                "username",
                "subscribed",
                "created_at"
              ],
              "properties": {
                "issue": {
                  "type": "string",
                  "format": "uuid"
                },
                "user_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "subscribed": {
                  "type": "boolean"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_LabelResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "project",
                "name",
                "color"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "format": "int64"
                },
                "project": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "color": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_LikeUserInfo": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "uid",
                "username",
                "avatar_url"
              ],
              "properties": {
                "uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "avatar_url": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_MentionNotificationResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "message_id",
                "mentioned_by",
                "mentioned_by_name",
                "content_preview",
                "room_id",
                "room_name",
                "created_at"
              ],
              "properties": {
                "message_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "mentioned_by": {
                  "type": "string",
                  "format": "uuid"
                },
                "mentioned_by_name": {
                  "type": "string"
                },
                "content_preview": {
                  "type": "string"
                },
                "room_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "room_name": {
                  "type": "string"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_MergeheadInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "oid"
              ],
              "properties": {
                "oid": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_MyWorkspaceInvitation": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Invitation received by the current user (workspace invitation for self).",
              "required": [
                "workspace_id",
                "workspace_slug",
                "workspace_name",
                "role",
                "invited_at"
              ],
              "properties": {
                "workspace_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "workspace_slug": {
                  "type": "string"
                },
                "workspace_name": {
                  "type": "string"
                },
                "role": {
                  "type": "string"
                },
                "invited_by_username": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "invited_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "expires_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_PendingInvitationInfo": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "user_id",
                "username",
                "role",
                "invited_at"
              ],
              "properties": {
                "user_id": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "display_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "avatar_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "email": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "role": {
                  "type": "string"
                },
                "invited_by_username": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "invited_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "expires_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RefInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "is_symbolic",
                "is_branch",
                "is_remote",
                "is_tag",
                "is_note"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "oid": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "target": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "is_symbolic": {
                  "type": "boolean"
                },
                "is_branch": {
                  "type": "boolean"
                },
                "is_remote": {
                  "type": "boolean"
                },
                "is_tag": {
                  "type": "boolean"
                },
                "is_note": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RoomAiResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "room",
                "model",
                "call_count",
                "use_exact",
                "think",
                "stream",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "room": {
                  "type": "string",
                  "format": "uuid"
                },
                "model": {
                  "type": "string",
                  "format": "uuid"
                },
                "model_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "version": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "uuid"
                },
                "call_count": {
                  "type": "integer",
                  "format": "int64"
                },
                "last_call_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "history_limit": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "format": "int64"
                },
                "system_prompt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "temperature": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "double"
                },
                "max_tokens": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "format": "int64"
                },
                "use_exact": {
                  "type": "boolean"
                },
                "think": {
                  "type": "boolean"
                },
                "stream": {
                  "type": "boolean"
                },
                "min_score": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float"
                },
                "agent_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RoomCategoryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "project",
                "name",
                "position",
                "created_by",
                "created_at"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "project": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "position": {
                  "type": "integer",
                  "format": "int32"
                },
                "created_by": {
                  "type": "string",
                  "format": "uuid"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RoomMemberResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "room",
                "user",
                "role",
                "do_not_disturb"
              ],
              "properties": {
                "room": {
                  "type": "string",
                  "format": "uuid"
                },
                "user": {
                  "type": "string",
                  "format": "uuid"
                },
                "user_info": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "$ref": "#/components/schemas/UserInfo"
                    }
                  ]
                },
                "role": {
                  "type": "string"
                },
                "first_msg_in": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "joined_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "last_read_seq": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "format": "int64"
                },
                "do_not_disturb": {
                  "type": "boolean"
                },
                "dnd_start_hour": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "format": "int32"
                },
                "dnd_end_hour": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "format": "int32"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RoomPinResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "room",
                "message",
                "pinned_by",
                "pinned_at"
              ],
              "properties": {
                "room": {
                  "type": "string",
                  "format": "uuid"
                },
                "message": {
                  "type": "string",
                  "format": "uuid"
                },
                "pinned_by": {
                  "type": "string",
                  "format": "uuid"
                },
                "pinned_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RoomResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "project",
                "room_name",
                "public",
                "created_by",
                "created_at",
                "last_msg_at"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "project": {
                  "type": "string",
                  "format": "uuid"
                },
                "room_name": {
                  "type": "string"
                },
                "public": {
                  "type": "boolean"
                },
                "category": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "uuid"
                },
                "created_by": {
                  "type": "string",
                  "format": "uuid"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "last_msg_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "unread_count": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_RoomThreadResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "room",
                "parent",
                "created_by",
                "participants",
                "last_message_at",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "room": {
                  "type": "string",
                  "format": "uuid"
                },
                "parent": {
                  "type": "integer",
                  "format": "int64"
                },
                "created_by": {
                  "type": "string",
                  "format": "uuid"
                },
                "participants": {},
                "last_message_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "last_message_preview": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_SkillResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "project_uuid",
                "slug",
                "name",
                "source",
                "content",
                "metadata",
                "enabled",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "format": "int64"
                },
                "project_uuid": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source": {
                  "type": "string"
                },
                "repo_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "commit_sha": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "blob_hash": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "content": {
                  "type": "string"
                },
                "metadata": {},
                "enabled": {
                  "type": "boolean"
                },
                "created_by": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_String": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ApiResponse_Vec_SubscriptionInfo": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "user_uid",
                "target_uid",
                "subscribed_at",
                "is_active"
              ],
              "properties": {
                "id": {
                  "type": "integer",
                  "format": "int64"
                },
                "user_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "target_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "subscribed_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "is_active": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_TagInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "oid",
                "target",
                "is_annotated"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "oid": {
                  "type": "string"
                },
                "target": {
                  "type": "string"
                },
                "is_annotated": {
                  "type": "boolean"
                },
                "message": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "tagger": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "tagger_email": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_TreeEntryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "oid",
                "kind",
                "filemode",
                "is_binary"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "oid": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "filemode": {
                  "type": "integer",
                  "format": "int32",
                  "minimum": 0
                },
                "is_binary": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_UserCard": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "user_uid",
                "username",
                "is_following_me"
              ],
              "properties": {
                "user_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "display_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "avatar_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "is_following_me": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ApiResponse_Vec_WatchUserInfo": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "uid",
                "username",
                "avatar_url"
              ],
              "properties": {
                "uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "avatar_url": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ApiResponse_WatchCountResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "count"
            ],
            "properties": {
              "count": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_WatchUserListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "users"
            ],
            "properties": {
              "users": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WatchUserInfo"
                }
              }
            }
          }
        }
      },
      "ApiResponse_WebhookListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "webhooks",
              "total"
            ],
            "properties": {
              "webhooks": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WebhookResponse"
                }
              },
              "total": {
                "type": "integer",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_WebhookResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "repo_uuid",
              "url",
              "content_type",
              "events",
              "active",
              "created_at",
              "touch_count"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "repo_uuid": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "content_type": {
                "type": "string"
              },
              "secret": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "events": {
                "$ref": "#/components/schemas/WebhookEvent"
              },
              "active": {
                "type": "boolean"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "last_delivered_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "touch_count": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceBillingCurrentResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "workspace_id",
              "currency",
              "monthly_quota",
              "balance",
              "total_spent",
              "month_used",
              "cycle_start_utc",
              "cycle_end_utc",
              "updated_at",
              "created_at"
            ],
            "properties": {
              "workspace_id": {
                "type": "string",
                "format": "uuid"
              },
              "currency": {
                "type": "string"
              },
              "monthly_quota": {
                "type": "number",
                "format": "double"
              },
              "balance": {
                "type": "number",
                "format": "double"
              },
              "total_spent": {
                "type": "number",
                "format": "double"
              },
              "month_used": {
                "type": "number",
                "format": "double"
              },
              "cycle_start_utc": {
                "type": "string",
                "format": "date-time"
              },
              "cycle_end_utc": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceBillingHistoryResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "page",
              "per_page",
              "total",
              "list"
            ],
            "properties": {
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "list": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkspaceBillingHistoryItem"
                }
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceInfoResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "id",
              "slug",
              "name",
              "plan",
              "member_count",
              "created_at",
              "updated_at"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "slug": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "avatar_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "plan": {
                "type": "string"
              },
              "billing_email": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "member_count": {
                "type": "integer",
                "format": "int64"
              },
              "my_role": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceListResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "workspaces",
              "total"
            ],
            "properties": {
              "workspaces": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkspaceListItem"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceMembersResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "members",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "members": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkspaceMemberInfo"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceProjectsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "projects",
              "total",
              "page",
              "per_page"
            ],
            "properties": {
              "projects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkspaceProjectItem"
                }
              },
              "total": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "per_page": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              }
            }
          }
        }
      },
      "ApiResponse_WorkspaceStatsResponse": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "required": [
              "project_count",
              "member_count",
              "recent_activities"
            ],
            "properties": {
              "project_count": {
                "type": "integer",
                "format": "int64"
              },
              "member_count": {
                "type": "integer",
                "format": "int64"
              },
              "my_role": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "recent_activities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkspaceActivityItem"
                }
              }
            }
          }
        }
      },
      "ApiResponse_bool": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "boolean"
          }
        }
      },
      "ApprovalCheckResult": {
        "type": "object",
        "required": [
          "enough_approvals",
          "approvals",
          "required",
          "reviewers"
        ],
        "properties": {
          "enough_approvals": {
            "type": "boolean"
          },
          "approvals": {
            "type": "integer",
            "format": "int32"
          },
          "required": {
            "type": "integer",
            "format": "int32"
          },
          "reviewers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReviewerInfo"
            }
          }
        }
      },
      "ArchiveCachedResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "format",
          "cached"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "cached": {
            "type": "boolean"
          }
        }
      },
      "ArchiveEntryResponse": {
        "type": "object",
        "required": [
          "path",
          "oid",
          "size",
          "mode"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "oid": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "mode": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "ArchiveInvalidateAllResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "count"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "ArchiveInvalidateResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "format",
          "invalidated"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "invalidated": {
            "type": "boolean"
          }
        }
      },
      "ArchiveListResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "entries",
          "total_entries"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArchiveEntryResponse"
            }
          },
          "total_entries": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "ArchiveResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "format",
          "size",
          "data"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 0
          },
          "data": {
            "type": "string"
          }
        }
      },
      "ArchiveSummaryResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "format",
          "total_entries",
          "total_size"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "format": {
            "type": "string"
          },
          "total_entries": {
            "type": "integer",
            "minimum": 0
          },
          "total_size": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "AuditLogParams": {
        "type": "object",
        "required": [
          "action"
        ],
        "properties": {
          "action": {
            "type": "string"
          },
          "details": {}
        }
      },
      "AuditLogResponse": {
        "type": "object",
        "required": [
          "id",
          "project_uid",
          "actor_uid",
          "action"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "actor_uid": {
            "type": "string",
            "format": "uuid"
          },
          "action": {
            "type": "string"
          },
          "details": {
            "type": "object"
          }
        }
      },
      "BillingRecord": {
        "type": "object",
        "description": "Breakdown of a billing record.",
        "required": [
          "cost",
          "currency",
          "input_tokens",
          "output_tokens"
        ],
        "properties": {
          "cost": {
            "type": "number",
            "format": "double",
            "description": "Total cost in the billing currency."
          },
          "currency": {
            "type": "string"
          },
          "input_tokens": {
            "type": "integer",
            "format": "int64"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "BlameHunkResponse": {
        "type": "object",
        "required": [
          "commit_oid",
          "final_start_line",
          "final_lines",
          "orig_start_line",
          "orig_lines",
          "boundary"
        ],
        "properties": {
          "commit_oid": {
            "type": "string"
          },
          "final_start_line": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "final_lines": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "orig_start_line": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "orig_lines": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "boundary": {
            "type": "boolean"
          },
          "orig_path": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "BlobContentResponse": {
        "type": "object",
        "required": [
          "oid",
          "size",
          "is_binary",
          "content"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 0
          },
          "is_binary": {
            "type": "boolean"
          },
          "content": {
            "type": "string"
          }
        }
      },
      "BlobCreateRequest": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "string"
          }
        }
      },
      "BlobCreateResponse": {
        "type": "object",
        "required": [
          "oid",
          "size"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "BlobExistsResponse": {
        "type": "object",
        "required": [
          "oid",
          "exists"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "exists": {
            "type": "boolean"
          }
        }
      },
      "BlobInfoResponse": {
        "type": "object",
        "required": [
          "oid",
          "size",
          "is_binary"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 0
          },
          "is_binary": {
            "type": "boolean"
          }
        }
      },
      "BlobIsBinaryResponse": {
        "type": "object",
        "required": [
          "oid",
          "is_binary"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "is_binary": {
            "type": "boolean"
          }
        }
      },
      "BlobSizeResponse": {
        "type": "object",
        "required": [
          "oid",
          "size"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "BoardResponse": {
        "type": "object",
        "required": [
          "id",
          "project",
          "name",
          "created_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "project": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "BoardWithColumnsResponse": {
        "type": "object",
        "required": [
          "board",
          "columns"
        ],
        "properties": {
          "board": {
            "$ref": "#/components/schemas/BoardResponse"
          },
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ColumnWithCardsResponse"
            }
          }
        }
      },
      "BranchCreateRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": [
              "string",
              "null"
            ]
          },
          "force": {
            "type": "boolean"
          }
        }
      },
      "BranchDiffResponse": {
        "type": "object",
        "required": [
          "ahead",
          "behind",
          "diverged"
        ],
        "properties": {
          "ahead": {
            "type": "integer",
            "minimum": 0
          },
          "behind": {
            "type": "integer",
            "minimum": 0
          },
          "diverged": {
            "type": "boolean"
          }
        }
      },
      "BranchExistsResponse": {
        "type": "object",
        "required": [
          "name",
          "exists"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "exists": {
            "type": "boolean"
          }
        }
      },
      "BranchFastForwardResponse": {
        "type": "object",
        "required": [
          "oid"
        ],
        "properties": {
          "oid": {
            "type": "string"
          }
        }
      },
      "BranchInfoResponse": {
        "type": "object",
        "required": [
          "name",
          "oid",
          "is_head",
          "is_remote",
          "is_current"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": "string"
          },
          "is_head": {
            "type": "boolean"
          },
          "is_remote": {
            "type": "boolean"
          },
          "is_current": {
            "type": "boolean"
          },
          "upstream": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "BranchIsAncestorResponse": {
        "type": "object",
        "required": [
          "child",
          "ancestor",
          "is_ancestor"
        ],
        "properties": {
          "child": {
            "type": "string"
          },
          "ancestor": {
            "type": "string"
          },
          "is_ancestor": {
            "type": "boolean"
          }
        }
      },
      "BranchIsConflictedResponse": {
        "type": "object",
        "required": [
          "is_conflicted"
        ],
        "properties": {
          "is_conflicted": {
            "type": "boolean"
          }
        }
      },
      "BranchIsDetachedResponse": {
        "type": "object",
        "required": [
          "is_detached"
        ],
        "properties": {
          "is_detached": {
            "type": "boolean"
          }
        }
      },
      "BranchIsHeadResponse": {
        "type": "object",
        "required": [
          "name",
          "is_head"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "is_head": {
            "type": "boolean"
          }
        }
      },
      "BranchIsMergedResponse": {
        "type": "object",
        "required": [
          "branch",
          "into",
          "is_merged"
        ],
        "properties": {
          "branch": {
            "type": "string"
          },
          "into": {
            "type": "string"
          },
          "is_merged": {
            "type": "boolean"
          }
        }
      },
      "BranchMergeBaseResponse": {
        "type": "object",
        "required": [
          "branch1",
          "branch2",
          "base"
        ],
        "properties": {
          "branch1": {
            "type": "string"
          },
          "branch2": {
            "type": "string"
          },
          "base": {
            "type": "string"
          }
        }
      },
      "BranchMoveRequest": {
        "type": "object",
        "required": [
          "name",
          "new_name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "new_name": {
            "type": "string"
          },
          "force": {
            "type": "boolean"
          }
        }
      },
      "BranchProtectionCreateRequest": {
        "type": "object",
        "required": [
          "branch"
        ],
        "properties": {
          "branch": {
            "type": "string"
          },
          "forbid_push": {
            "type": "boolean"
          },
          "forbid_pull": {
            "type": "boolean"
          },
          "forbid_merge": {
            "type": "boolean"
          },
          "forbid_deletion": {
            "type": "boolean"
          },
          "forbid_force_push": {
            "type": "boolean"
          },
          "forbid_tag_push": {
            "type": "boolean"
          },
          "required_approvals": {
            "type": "integer",
            "format": "int32"
          },
          "dismiss_stale_reviews": {
            "type": "boolean"
          },
          "require_linear_history": {
            "type": "boolean"
          },
          "allow_fork_syncing": {
            "type": "boolean"
          }
        }
      },
      "BranchProtectionResponse": {
        "type": "object",
        "required": [
          "id",
          "repo",
          "branch",
          "forbid_push",
          "forbid_pull",
          "forbid_merge",
          "forbid_deletion",
          "forbid_force_push",
          "forbid_tag_push",
          "required_approvals",
          "dismiss_stale_reviews",
          "require_linear_history",
          "allow_fork_syncing"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "branch": {
            "type": "string"
          },
          "forbid_push": {
            "type": "boolean"
          },
          "forbid_pull": {
            "type": "boolean"
          },
          "forbid_merge": {
            "type": "boolean"
          },
          "forbid_deletion": {
            "type": "boolean"
          },
          "forbid_force_push": {
            "type": "boolean"
          },
          "forbid_tag_push": {
            "type": "boolean"
          },
          "required_approvals": {
            "type": "integer",
            "format": "int32"
          },
          "dismiss_stale_reviews": {
            "type": "boolean"
          },
          "require_linear_history": {
            "type": "boolean"
          },
          "allow_fork_syncing": {
            "type": "boolean"
          }
        }
      },
      "BranchProtectionUpdateRequest": {
        "type": "object",
        "properties": {
          "branch": {
            "type": [
              "string",
              "null"
            ]
          },
          "forbid_push": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "forbid_pull": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "forbid_merge": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "forbid_deletion": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "forbid_force_push": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "forbid_tag_push": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "required_approvals": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "dismiss_stale_reviews": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "require_linear_history": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "allow_fork_syncing": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "BranchRenameRequest": {
        "type": "object",
        "required": [
          "old_name",
          "new_name"
        ],
        "properties": {
          "old_name": {
            "type": "string"
          },
          "new_name": {
            "type": "string"
          }
        }
      },
      "BranchSetUpstreamRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "upstream": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "BranchSummaryResponse": {
        "type": "object",
        "required": [
          "local_count",
          "remote_count",
          "all_count"
        ],
        "properties": {
          "local_count": {
            "type": "integer",
            "minimum": 0
          },
          "remote_count": {
            "type": "integer",
            "minimum": 0
          },
          "all_count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "BranchTrackingDiffResponse": {
        "type": "object",
        "required": [
          "name",
          "ahead",
          "behind"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "ahead": {
            "type": "integer",
            "minimum": 0
          },
          "behind": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CaptchaQuery": {
        "type": "object",
        "required": [
          "w",
          "h",
          "dark",
          "rsa"
        ],
        "properties": {
          "w": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "h": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "dark": {
            "type": "boolean"
          },
          "rsa": {
            "type": "boolean"
          }
        }
      },
      "CaptchaResponse": {
        "type": "object",
        "required": [
          "base64",
          "req"
        ],
        "properties": {
          "base64": {
            "type": "string"
          },
          "rsa": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RsaResponse"
              }
            ]
          },
          "req": {
            "$ref": "#/components/schemas/CaptchaQuery"
          }
        }
      },
      "CardResponse": {
        "type": "object",
        "required": [
          "id",
          "column",
          "title",
          "position",
          "created_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "column": {
            "type": "string",
            "format": "uuid"
          },
          "issue_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "project": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "assignee_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "due_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "priority": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ChangePasswordParams": {
        "type": "object",
        "required": [
          "old_password",
          "new_password"
        ],
        "properties": {
          "old_password": {
            "type": "string"
          },
          "new_password": {
            "type": "string"
          }
        }
      },
      "CheckAlertsResponse": {
        "type": "object",
        "required": [
          "workspaces_checked",
          "alerts_sent",
          "details"
        ],
        "properties": {
          "workspaces_checked": {
            "type": "integer",
            "minimum": 0
          },
          "alerts_sent": {
            "type": "integer",
            "minimum": 0
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlertDetail"
            }
          }
        }
      },
      "ColumnResponse": {
        "type": "object",
        "required": [
          "id",
          "board",
          "name",
          "position"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "board": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "wip_limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ColumnWithCardsResponse": {
        "type": "object",
        "required": [
          "column",
          "cards"
        ],
        "properties": {
          "column": {
            "$ref": "#/components/schemas/ColumnResponse"
          },
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardResponse"
            }
          }
        }
      },
      "CommentCreated": {
        "type": "object",
        "required": [
          "path",
          "severity"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "line": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "severity": {
            "type": "string"
          }
        }
      },
      "CommitAmendRequest": {
        "type": "object",
        "required": [
          "oid"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "author_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "author_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "committer_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "committer_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "message_encoding": {
            "type": [
              "string",
              "null"
            ]
          },
          "tree_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "update_ref": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitAuthorResponse": {
        "type": "object",
        "required": [
          "oid",
          "author"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "author": {
            "$ref": "#/components/schemas/CommitSignatureResponse"
          }
        }
      },
      "CommitBranchesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "propertyNames": {
              "type": "string"
            }
          }
        }
      },
      "CommitCherryPickAbortRequest": {
        "type": "object",
        "properties": {
          "reset_type": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitCherryPickRequest": {
        "type": "object",
        "required": [
          "cherrypick_oid",
          "author_name",
          "author_email",
          "committer_name",
          "committer_email"
        ],
        "properties": {
          "cherrypick_oid": {
            "type": "string"
          },
          "author_name": {
            "type": "string"
          },
          "author_email": {
            "type": "string"
          },
          "committer_name": {
            "type": "string"
          },
          "committer_email": {
            "type": "string"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "mainline": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "update_ref": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitCountResponse": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CommitCreateRequest": {
        "type": "object",
        "required": [
          "author_name",
          "author_email",
          "committer_name",
          "committer_email",
          "message",
          "tree_id",
          "parent_ids"
        ],
        "properties": {
          "author_name": {
            "type": "string"
          },
          "author_email": {
            "type": "string"
          },
          "committer_name": {
            "type": "string"
          },
          "committer_email": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "tree_id": {
            "type": "string"
          },
          "parent_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "update_ref": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitCreateResponse": {
        "type": "object",
        "required": [
          "oid"
        ],
        "properties": {
          "oid": {
            "type": "string"
          }
        }
      },
      "CommitExistsResponse": {
        "type": "object",
        "required": [
          "oid",
          "exists"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "exists": {
            "type": "boolean"
          }
        }
      },
      "CommitGraphLineResponse": {
        "type": "object",
        "required": [
          "oid",
          "graph_chars",
          "refs",
          "short_message"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "graph_chars": {
            "type": "string"
          },
          "refs": {
            "type": "string"
          },
          "short_message": {
            "type": "string"
          }
        }
      },
      "CommitGraphReactCommit": {
        "type": "object",
        "required": [
          "oid",
          "hash_abbrev",
          "subject",
          "author_name",
          "author_email",
          "author_timestamp",
          "author_time_offset",
          "committer_name",
          "committer_email",
          "committer_timestamp",
          "committer_time_offset",
          "parent_hashes",
          "lane_index",
          "graph_chars",
          "refs",
          "tags",
          "branches"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "hash_abbrev": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "author_name": {
            "type": "string"
          },
          "author_email": {
            "type": "string"
          },
          "author_timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "author_time_offset": {
            "type": "integer",
            "format": "int32"
          },
          "committer_name": {
            "type": "string"
          },
          "committer_email": {
            "type": "string"
          },
          "committer_timestamp": {
            "type": "integer",
            "format": "int64"
          },
          "committer_time_offset": {
            "type": "integer",
            "format": "int32"
          },
          "parent_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "encoding": {
            "type": [
              "string",
              "null"
            ]
          },
          "lane_index": {
            "type": "integer",
            "description": "0-based lane index used to assign branch color.",
            "minimum": 0
          },
          "graph_chars": {
            "type": "string",
            "description": "Raw ASCII graph characters for supplementary rendering."
          },
          "refs": {
            "type": "string",
            "description": "Parsed refs string (e.g. \"main, v1.0.0\")."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tag names present on this commit."
          },
          "branches": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Branch names this commit is the tip of."
          }
        }
      },
      "CommitGraphReactResponse": {
        "type": "object",
        "required": [
          "commits",
          "lanes",
          "max_parents"
        ],
        "properties": {
          "commits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommitGraphReactCommit"
            }
          },
          "lanes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LaneInfo"
            }
          },
          "max_parents": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CommitGraphResponse": {
        "type": "object",
        "required": [
          "lines",
          "max_parents"
        ],
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommitGraphLineResponse"
            }
          },
          "max_parents": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CommitIsCommitResponse": {
        "type": "object",
        "required": [
          "oid",
          "is_commit"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "is_commit": {
            "type": "boolean"
          }
        }
      },
      "CommitIsMergeResponse": {
        "type": "object",
        "required": [
          "oid",
          "is_merge"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "is_merge": {
            "type": "boolean"
          }
        }
      },
      "CommitIsTipResponse": {
        "type": "object",
        "required": [
          "oid",
          "is_tip"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "is_tip": {
            "type": "boolean"
          }
        }
      },
      "CommitLogResponse": {
        "type": "object",
        "required": [
          "data",
          "total",
          "page",
          "per_page",
          "total_pages"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommitMetaResponse"
            }
          },
          "total": {
            "type": "integer",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "minimum": 0
          },
          "total_pages": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CommitMessageResponse": {
        "type": "object",
        "required": [
          "oid",
          "message"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "CommitMetaResponse": {
        "type": "object",
        "required": [
          "oid",
          "message",
          "summary",
          "author",
          "committer",
          "tree_id",
          "parent_ids"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "author": {
            "$ref": "#/components/schemas/CommitSignatureResponse"
          },
          "committer": {
            "$ref": "#/components/schemas/CommitSignatureResponse"
          },
          "tree_id": {
            "type": "string"
          },
          "parent_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "encoding": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitParentCountResponse": {
        "type": "object",
        "required": [
          "oid",
          "parent_count"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "parent_count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CommitParentIdsResponse": {
        "type": "object",
        "required": [
          "oid",
          "parent_ids"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "parent_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CommitRefCountResponse": {
        "type": "object",
        "required": [
          "oid",
          "ref_count"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "ref_count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "CommitRefInfoResponse": {
        "type": "object",
        "required": [
          "name",
          "target",
          "is_remote",
          "is_tag"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "is_remote": {
            "type": "boolean"
          },
          "is_tag": {
            "type": "boolean"
          }
        }
      },
      "CommitReflogEntryResponse": {
        "type": "object",
        "required": [
          "new_sha",
          "old_sha",
          "committer_name",
          "committer_email",
          "time_secs",
          "ref_name"
        ],
        "properties": {
          "new_sha": {
            "type": "string"
          },
          "old_sha": {
            "type": "string"
          },
          "committer_name": {
            "type": "string"
          },
          "committer_email": {
            "type": "string"
          },
          "time_secs": {
            "type": "integer",
            "format": "int64"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "ref_name": {
            "type": "string"
          }
        }
      },
      "CommitRevertAbortRequest": {
        "type": "object",
        "properties": {
          "reset_type": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitRevertRequest": {
        "type": "object",
        "required": [
          "revert_oid",
          "author_name",
          "author_email",
          "committer_name",
          "committer_email"
        ],
        "properties": {
          "revert_oid": {
            "type": "string"
          },
          "author_name": {
            "type": "string"
          },
          "author_email": {
            "type": "string"
          },
          "committer_name": {
            "type": "string"
          },
          "committer_email": {
            "type": "string"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "mainline": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "update_ref": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CommitShortIdResponse": {
        "type": "object",
        "required": [
          "oid",
          "short_id"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "short_id": {
            "type": "string"
          }
        }
      },
      "CommitSignatureResponse": {
        "type": "object",
        "required": [
          "name",
          "email",
          "time_secs",
          "offset_minutes"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "time_secs": {
            "type": "integer",
            "format": "int64"
          },
          "offset_minutes": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CommitSummaryResponse": {
        "type": "object",
        "required": [
          "oid",
          "summary"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "CommitTagsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "propertyNames": {
              "type": "string"
            }
          }
        }
      },
      "CommitTreeIdResponse": {
        "type": "object",
        "required": [
          "oid",
          "tree_id"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "tree_id": {
            "type": "string"
          }
        }
      },
      "ConfigBoolResponse": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "boolean"
          }
        }
      },
      "ConfigEntryResponse": {
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "ConfigSetRequest": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "ConfigSnapshotResponse": {
        "type": "object",
        "required": [
          "entries"
        ],
        "properties": {
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConfigEntryResponse"
            }
          }
        }
      },
      "ConfirmResetPasswordParams": {
        "type": "object",
        "required": [
          "token",
          "new_password"
        ],
        "properties": {
          "token": {
            "type": "string"
          },
          "new_password": {
            "type": "string"
          }
        }
      },
      "ContextMe": {
        "type": "object",
        "required": [
          "uid",
          "username",
          "has_unread_notifications"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_unread_notifications": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "ContributionHeatmapItem": {
        "type": "object",
        "required": [
          "date",
          "count"
        ],
        "properties": {
          "date": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ContributionHeatmapQuery": {
        "type": "object",
        "properties": {
          "start_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "end_date": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ContributionHeatmapResponse": {
        "type": "object",
        "required": [
          "username",
          "total_contributions",
          "heatmap",
          "start_date",
          "end_date"
        ],
        "properties": {
          "username": {
            "type": "string"
          },
          "total_contributions": {
            "type": "integer",
            "format": "int64"
          },
          "heatmap": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributionHeatmapItem"
            }
          },
          "start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          }
        }
      },
      "ContributorStats": {
        "type": "object",
        "required": [
          "name",
          "email",
          "commits"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "commits": {
            "type": "integer",
            "minimum": 0
          },
          "first_commit_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "last_commit_at": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          }
        }
      },
      "ContributorsResponse": {
        "type": "object",
        "required": [
          "total",
          "contributors"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "minimum": 0
          },
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributorStats"
            }
          }
        }
      },
      "CreateAccessKeyParams": {
        "type": "object",
        "required": [
          "name",
          "scopes"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateBoardParams": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateCardParams": {
        "type": "object",
        "required": [
          "column_id",
          "title"
        ],
        "properties": {
          "column_id": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "issue_id": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "assignee_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "due_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "priority": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateColumnParams": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "wip_limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateLabelParams": {
        "type": "object",
        "required": [
          "name",
          "color"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateLabelRequest": {
        "type": "object",
        "required": [
          "name",
          "color"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        }
      },
      "CreateModelCapabilityRequest": {
        "type": "object",
        "required": [
          "model_version_id",
          "capability"
        ],
        "properties": {
          "model_version_id": {
            "type": "integer",
            "format": "int64"
          },
          "capability": {
            "type": "string"
          },
          "is_supported": {
            "type": "boolean"
          }
        }
      },
      "CreateModelParameterProfileRequest": {
        "type": "object",
        "required": [
          "model_version_id",
          "temperature_min",
          "temperature_max",
          "top_p_min",
          "top_p_max"
        ],
        "properties": {
          "model_version_id": {
            "type": "string",
            "format": "uuid"
          },
          "temperature_min": {
            "type": "number",
            "format": "double"
          },
          "temperature_max": {
            "type": "number",
            "format": "double"
          },
          "top_p_min": {
            "type": "number",
            "format": "double"
          },
          "top_p_max": {
            "type": "number",
            "format": "double"
          },
          "frequency_penalty_supported": {
            "type": "boolean"
          },
          "presence_penalty_supported": {
            "type": "boolean"
          }
        }
      },
      "CreateModelPricingRequest": {
        "type": "object",
        "required": [
          "model_version_id",
          "input_price_per_1k_tokens",
          "output_price_per_1k_tokens",
          "currency",
          "effective_from"
        ],
        "properties": {
          "model_version_id": {
            "type": "string",
            "format": "uuid"
          },
          "input_price_per_1k_tokens": {
            "type": "string"
          },
          "output_price_per_1k_tokens": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "effective_from": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CreateModelRequest": {
        "type": "object",
        "required": [
          "provider_id",
          "name",
          "modality",
          "capability",
          "context_length"
        ],
        "properties": {
          "provider_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "modality": {
            "type": "string"
          },
          "capability": {
            "type": "string"
          },
          "context_length": {
            "type": "integer",
            "format": "int64"
          },
          "max_output_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "training_cutoff": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "is_open_source": {
            "type": "boolean"
          }
        }
      },
      "CreateModelVersionRequest": {
        "type": "object",
        "required": [
          "model_id",
          "version"
        ],
        "properties": {
          "model_id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "string"
          },
          "release_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "change_log": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": "boolean"
          }
        }
      },
      "CreateProviderRequest": {
        "type": "object",
        "required": [
          "name",
          "display_name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateSkillRequest": {
        "type": "object",
        "required": [
          "slug",
          "content"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": "string"
          },
          "metadata": {}
        }
      },
      "CreateWebhookParams": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "content_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "secret": {
            "type": [
              "string",
              "null"
            ]
          },
          "insecure_ssl": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "events": {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          "active": {
            "type": "boolean"
          }
        }
      },
      "DeleteSkillResponse": {
        "type": "object",
        "required": [
          "deleted",
          "slug"
        ],
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "slug": {
            "type": "string"
          }
        }
      },
      "DescriptionQuery": {
        "type": "object",
        "required": [
          "description"
        ],
        "properties": {
          "description": {
            "type": "string"
          }
        }
      },
      "DescriptionResponse": {
        "type": "object",
        "required": [
          "description"
        ],
        "properties": {
          "description": {
            "type": "string"
          }
        }
      },
      "DiffDeltaResponse": {
        "type": "object",
        "required": [
          "status",
          "old_file",
          "new_file",
          "nfiles",
          "hunks",
          "lines"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "old_file": {
            "$ref": "#/components/schemas/DiffFileResponse"
          },
          "new_file": {
            "$ref": "#/components/schemas/DiffFileResponse"
          },
          "nfiles": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "hunks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiffHunkResponse"
            }
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiffLineResponse"
            }
          }
        }
      },
      "DiffFileResponse": {
        "type": "object",
        "required": [
          "size",
          "is_binary"
        ],
        "properties": {
          "oid": {
            "type": [
              "string",
              "null"
            ]
          },
          "path": {
            "type": [
              "string",
              "null"
            ]
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "is_binary": {
            "type": "boolean"
          }
        }
      },
      "DiffHunkResponse": {
        "type": "object",
        "required": [
          "old_start",
          "old_lines",
          "new_start",
          "new_lines",
          "header"
        ],
        "properties": {
          "old_start": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "old_lines": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "new_start": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "new_lines": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "header": {
            "type": "string"
          }
        }
      },
      "DiffLineResponse": {
        "type": "object",
        "required": [
          "content",
          "origin",
          "num_lines",
          "content_offset"
        ],
        "properties": {
          "content": {
            "type": "string"
          },
          "origin": {
            "type": "string"
          },
          "old_lineno": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "new_lineno": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "num_lines": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "content_offset": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DiffPatchIdResponse": {
        "type": "object",
        "required": [
          "old_tree",
          "new_tree",
          "patch_id"
        ],
        "properties": {
          "old_tree": {
            "type": "string"
          },
          "new_tree": {
            "type": "string"
          },
          "patch_id": {
            "type": "string"
          }
        }
      },
      "DiffResultResponse": {
        "type": "object",
        "required": [
          "stats",
          "deltas"
        ],
        "properties": {
          "stats": {
            "$ref": "#/components/schemas/DiffStatsResponse"
          },
          "deltas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiffDeltaResponse"
            }
          }
        }
      },
      "DiffStatsResponse": {
        "type": "object",
        "required": [
          "files_changed",
          "insertions",
          "deletions"
        ],
        "properties": {
          "files_changed": {
            "type": "integer",
            "minimum": 0
          },
          "insertions": {
            "type": "integer",
            "minimum": 0
          },
          "deletions": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "EmailChangeRequest": {
        "type": "object",
        "required": [
          "new_email",
          "password"
        ],
        "properties": {
          "new_email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "EmailResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "EmailVerifyRequest": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string"
          }
        }
      },
      "ExchangeProjectName": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "ExchangeProjectTitle": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ExchangeProjectVisibility": {
        "type": "object",
        "required": [
          "is_public"
        ],
        "properties": {
          "is_public": {
            "type": "boolean"
          }
        }
      },
      "GeneratePrDescriptionRequest": {
        "type": "object",
        "description": "Request body for generating a PR description.",
        "properties": {
          "pr_number": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "PR number to generate description for."
          },
          "model_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "description": "Override the default AI model for this generation."
          }
        }
      },
      "GeneratePrDescriptionResponse": {
        "type": "object",
        "description": "Response from the AI description generation endpoint.",
        "required": [
          "description",
          "markdown_body"
        ],
        "properties": {
          "description": {
            "$ref": "#/components/schemas/PrDescription"
          },
          "markdown_body": {
            "type": "string",
            "description": "Markdown-formatted description ready to paste into the PR body."
          },
          "billing": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BillingRecord"
              }
            ]
          }
        }
      },
      "GitInitRequest": {
        "type": "object",
        "required": [
          "path"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "bare": {
            "type": "boolean"
          },
          "initial_branch": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GitInitResponse": {
        "type": "object",
        "required": [
          "path",
          "is_bare"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "is_bare": {
            "type": "boolean"
          }
        }
      },
      "GitReadmeQuery": {
        "type": "object",
        "properties": {
          "ref": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GitReadmeResponse": {
        "type": "object",
        "properties": {
          "path": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "size": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "encoding": {
            "type": [
              "string",
              "null"
            ]
          },
          "truncated": {
            "type": "boolean"
          },
          "is_binary": {
            "type": "boolean"
          }
        }
      },
      "GitUpdateRepoRequest": {
        "type": "object",
        "properties": {
          "default_branch": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GitWatchRequest": {
        "type": "object",
        "properties": {
          "show_dashboard": {
            "type": "boolean"
          },
          "notify_email": {
            "type": "boolean"
          }
        }
      },
      "InvitationListResponse": {
        "type": "object",
        "required": [
          "invitations",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "invitations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvitationResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "InvitationResponse": {
        "type": "object",
        "required": [
          "project_uid",
          "project_name",
          "user_uid",
          "invited_by",
          "scope",
          "accepted",
          "rejected",
          "created_at"
        ],
        "properties": {
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "project_name": {
            "type": "string"
          },
          "user_uid": {
            "type": "string",
            "format": "uuid"
          },
          "invited_by": {
            "type": "string",
            "format": "uuid"
          },
          "invited_by_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "scope": {
            "type": "string"
          },
          "accepted": {
            "type": "boolean"
          },
          "accepted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "rejected": {
            "type": "boolean"
          },
          "rejected_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "InviteUserRequest": {
        "type": "object",
        "required": [
          "email",
          "scope"
        ],
        "properties": {
          "email": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/MemberRole"
          }
        }
      },
      "IsLikeResponse": {
        "type": "object",
        "required": [
          "is_like"
        ],
        "properties": {
          "is_like": {
            "type": "boolean"
          }
        }
      },
      "IsWatchResponse": {
        "type": "object",
        "required": [
          "is_watching"
        ],
        "properties": {
          "is_watching": {
            "type": "boolean"
          }
        }
      },
      "IssueAddLabelRequest": {
        "type": "object",
        "required": [
          "label_id"
        ],
        "properties": {
          "label_id": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "IssueAssignUserRequest": {
        "type": "object",
        "required": [
          "user_id"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "IssueAssigneeResponse": {
        "type": "object",
        "required": [
          "issue",
          "user_id",
          "username",
          "assigned_at"
        ],
        "properties": {
          "issue": {
            "type": "string",
            "format": "uuid"
          },
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "assigned_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueCommentCreateRequest": {
        "type": "object",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "type": "string"
          }
        }
      },
      "IssueCommentListResponse": {
        "type": "object",
        "required": [
          "comments",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IssueCommentResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int64"
          },
          "per_page": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "IssueCommentResponse": {
        "type": "object",
        "required": [
          "id",
          "issue",
          "author",
          "author_username",
          "body",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "issue": {
            "type": "string",
            "format": "uuid"
          },
          "author": {
            "type": "string",
            "format": "uuid"
          },
          "author_username": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueCommentUpdateRequest": {
        "type": "object",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "type": "string"
          }
        }
      },
      "IssueCreateRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "milestone": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "IssueLabelResponse": {
        "type": "object",
        "required": [
          "issue",
          "label_id",
          "relation_at"
        ],
        "properties": {
          "issue": {
            "type": "string",
            "format": "uuid"
          },
          "label_id": {
            "type": "integer",
            "format": "int64"
          },
          "label_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "label_color": {
            "type": [
              "string",
              "null"
            ]
          },
          "relation_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueLinkPullRequestRequest": {
        "type": "object",
        "required": [
          "repo",
          "number"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "IssueLinkRepoRequest": {
        "type": "object",
        "required": [
          "repo"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "IssueListResponse": {
        "type": "object",
        "required": [
          "issues",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IssueResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int64"
          },
          "per_page": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "IssuePullRequestResponse": {
        "type": "object",
        "required": [
          "issue",
          "repo",
          "number",
          "relation_at"
        ],
        "properties": {
          "issue": {
            "type": "string",
            "format": "uuid"
          },
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "relation_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueRepoResponse": {
        "type": "object",
        "required": [
          "issue",
          "repo",
          "relation_at"
        ],
        "properties": {
          "issue": {
            "type": "string",
            "format": "uuid"
          },
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "relation_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueResponse": {
        "type": "object",
        "required": [
          "id",
          "project",
          "number",
          "title",
          "state",
          "author",
          "created_at",
          "updated_at",
          "created_by_ai"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "project": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "author": {
            "type": "string",
            "format": "uuid"
          },
          "author_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "milestone": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "closed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_by_ai": {
            "type": "boolean"
          }
        }
      },
      "IssueSearchItem": {
        "type": "object",
        "required": [
          "uid",
          "number",
          "title",
          "state",
          "project_uid",
          "project_name",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "project_name": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueSubscriberResponse": {
        "type": "object",
        "required": [
          "issue",
          "user_id",
          "username",
          "subscribed",
          "created_at"
        ],
        "properties": {
          "issue": {
            "type": "string",
            "format": "uuid"
          },
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "subscribed": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IssueSummaryResponse": {
        "type": "object",
        "required": [
          "total",
          "open",
          "closed"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "open": {
            "type": "integer",
            "format": "int64"
          },
          "closed": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "IssueUpdateRequest": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "milestone": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "JoinAnswerResponse": {
        "type": "object",
        "required": [
          "question",
          "answer",
          "created_at"
        ],
        "properties": {
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "JoinAnswersListResponse": {
        "type": "object",
        "required": [
          "request_id",
          "project_uid",
          "answers"
        ],
        "properties": {
          "request_id": {
            "type": "integer",
            "format": "int64"
          },
          "project_uid": {
            "type": "string"
          },
          "answers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JoinAnswerResponse"
            }
          }
        }
      },
      "JoinRequestListResponse": {
        "type": "object",
        "required": [
          "requests",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JoinRequestResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "JoinRequestResponse": {
        "type": "object",
        "required": [
          "id",
          "project_uid",
          "user_uid",
          "username",
          "status",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "user_uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "processed_by": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "processed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "reject_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "JoinSettingsResponse": {
        "type": "object",
        "required": [
          "project_uid",
          "require_approval",
          "require_questions",
          "questions"
        ],
        "properties": {
          "project_uid": {
            "type": "string"
          },
          "require_approval": {
            "type": "boolean"
          },
          "require_questions": {
            "type": "boolean"
          },
          "questions": {}
        }
      },
      "LabelListResponse": {
        "type": "object",
        "required": [
          "labels",
          "total"
        ],
        "properties": {
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabelResponse"
            }
          },
          "total": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "LabelResponse": {
        "type": "object",
        "required": [
          "id",
          "project_uid",
          "name",
          "color",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "LaneInfo": {
        "type": "object",
        "description": "Response for the gitgraph-react compatible API endpoint.",
        "required": [
          "lane_index",
          "start_oid"
        ],
        "properties": {
          "lane_index": {
            "type": "integer",
            "description": "0-based lane index.",
            "minimum": 0
          },
          "branch_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Branch name if this lane has a branch tip (None for unnamed lanes)."
          },
          "start_oid": {
            "type": "string",
            "description": "SHA of the commit where this lane/branch starts."
          },
          "end_oid": {
            "type": [
              "string",
              "null"
            ],
            "description": "SHA of the commit where this lane ends (None if lane continues to last commit)."
          }
        }
      },
      "LikeUserInfo": {
        "type": "object",
        "required": [
          "uid",
          "username",
          "avatar_url"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          }
        }
      },
      "LoginParams": {
        "type": "object",
        "required": [
          "username",
          "password",
          "captcha"
        ],
        "properties": {
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "captcha": {
            "type": "string"
          }
        }
      },
      "MemberInfo": {
        "type": "object",
        "required": [
          "user_id",
          "username",
          "scope",
          "joined_at"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/MemberRole"
          },
          "joined_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MemberListResponse": {
        "type": "object",
        "required": [
          "members",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberInfo"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "MemberRole": {
        "type": "string",
        "description": "Project member role. Stored as `\"owner\"`, `\"admin\"`, or `\"member\"` in the database.",
        "enum": [
          "Owner",
          "Admin",
          "Member"
        ]
      },
      "MentionNotificationResponse": {
        "type": "object",
        "required": [
          "message_id",
          "mentioned_by",
          "mentioned_by_name",
          "content_preview",
          "room_id",
          "room_name",
          "created_at"
        ],
        "properties": {
          "message_id": {
            "type": "string",
            "format": "uuid"
          },
          "mentioned_by": {
            "type": "string",
            "format": "uuid"
          },
          "mentioned_by_name": {
            "type": "string"
          },
          "content_preview": {
            "type": "string"
          },
          "room_id": {
            "type": "string",
            "format": "uuid"
          },
          "room_name": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MergeAnalysisResponse": {
        "type": "object",
        "required": [
          "can_fast_forward",
          "is_up_to_date",
          "is_normal",
          "analysis_flags",
          "supported_strategies"
        ],
        "properties": {
          "can_fast_forward": {
            "type": "boolean"
          },
          "is_up_to_date": {
            "type": "boolean"
          },
          "is_normal": {
            "type": "boolean"
          },
          "analysis_flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supported_strategies": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Strategies supported given the current state of the PR."
          }
        }
      },
      "MergeAnalysisResultInner": {
        "type": "object",
        "required": [
          "is_none",
          "is_normal",
          "is_up_to_date",
          "is_fast_forward",
          "is_unborn"
        ],
        "properties": {
          "is_none": {
            "type": "boolean"
          },
          "is_normal": {
            "type": "boolean"
          },
          "is_up_to_date": {
            "type": "boolean"
          },
          "is_fast_forward": {
            "type": "boolean"
          },
          "is_unborn": {
            "type": "boolean"
          }
        }
      },
      "MergeCommitsRequest": {
        "type": "object",
        "required": [
          "local_oid",
          "remote_oid"
        ],
        "properties": {
          "local_oid": {
            "type": "string"
          },
          "remote_oid": {
            "type": "string"
          },
          "find_renames": {
            "type": "boolean"
          },
          "fail_on_conflict": {
            "type": "boolean"
          },
          "skip_reuc": {
            "type": "boolean"
          },
          "no_recursive": {
            "type": "boolean"
          },
          "rename_threshold": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "target_limit": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "recursion_limit": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "MergeConflictFile": {
        "type": "object",
        "required": [
          "path",
          "status"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        }
      },
      "MergeConflictResponse": {
        "type": "object",
        "required": [
          "has_conflicts",
          "conflicted_files"
        ],
        "properties": {
          "has_conflicts": {
            "type": "boolean"
          },
          "conflicted_files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MergeConflictFile"
            }
          }
        }
      },
      "MergePreferenceResultInner": {
        "type": "object",
        "required": [
          "is_none",
          "is_no_fast_forward",
          "is_fastforward_only"
        ],
        "properties": {
          "is_none": {
            "type": "boolean"
          },
          "is_no_fast_forward": {
            "type": "boolean"
          },
          "is_fastforward_only": {
            "type": "boolean"
          }
        }
      },
      "MergeRequest": {
        "type": "object",
        "properties": {
          "fast_forward": {
            "type": "boolean"
          },
          "strategy": {
            "$ref": "#/components/schemas/MergeStrategy"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "MergeResponse": {
        "type": "object",
        "required": [
          "repo",
          "number",
          "status",
          "merged_by",
          "merged_at"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string"
          },
          "merged_by": {
            "type": "string",
            "format": "uuid"
          },
          "merged_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MergeStrategy": {
        "type": "string",
        "enum": [
          "mergecommit",
          "squash",
          "rebase"
        ]
      },
      "MergeTreesRequest": {
        "type": "object",
        "required": [
          "ancestor_oid",
          "our_oid",
          "their_oid"
        ],
        "properties": {
          "ancestor_oid": {
            "type": "string"
          },
          "our_oid": {
            "type": "string"
          },
          "their_oid": {
            "type": "string"
          },
          "find_renames": {
            "type": "boolean"
          },
          "fail_on_conflict": {
            "type": "boolean"
          },
          "skip_reuc": {
            "type": "boolean"
          },
          "no_recursive": {
            "type": "boolean"
          },
          "rename_threshold": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "target_limit": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "recursion_limit": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "MergeheadInfoResponse": {
        "type": "object",
        "required": [
          "oid"
        ],
        "properties": {
          "oid": {
            "type": "string"
          }
        }
      },
      "MessageEditHistoryEntry": {
        "type": "object",
        "required": [
          "old_content",
          "new_content",
          "edited_at"
        ],
        "properties": {
          "old_content": {
            "type": "string"
          },
          "new_content": {
            "type": "string"
          },
          "edited_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MessageEditHistoryResponse": {
        "type": "object",
        "required": [
          "message_id",
          "history",
          "total_edits"
        ],
        "properties": {
          "message_id": {
            "type": "string",
            "format": "uuid"
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageEditHistoryEntry"
            }
          },
          "total_edits": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "MessageSearchResponse": {
        "type": "object",
        "required": [
          "messages",
          "total"
        ],
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoomMessageResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ModelCapabilityResponse": {
        "type": "object",
        "required": [
          "id",
          "model_version_id",
          "capability",
          "is_supported",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "model_version_id": {
            "type": "integer",
            "format": "int64"
          },
          "capability": {
            "type": "string"
          },
          "is_supported": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ModelParameterProfileResponse": {
        "type": "object",
        "required": [
          "id",
          "model_version_id",
          "temperature_min",
          "temperature_max",
          "top_p_min",
          "top_p_max",
          "frequency_penalty_supported",
          "presence_penalty_supported"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "model_version_id": {
            "type": "string",
            "format": "uuid"
          },
          "temperature_min": {
            "type": "number",
            "format": "double"
          },
          "temperature_max": {
            "type": "number",
            "format": "double"
          },
          "top_p_min": {
            "type": "number",
            "format": "double"
          },
          "top_p_max": {
            "type": "number",
            "format": "double"
          },
          "frequency_penalty_supported": {
            "type": "boolean"
          },
          "presence_penalty_supported": {
            "type": "boolean"
          }
        }
      },
      "ModelPricingResponse": {
        "type": "object",
        "required": [
          "id",
          "model_version_id",
          "input_price_per_1k_tokens",
          "output_price_per_1k_tokens",
          "currency",
          "effective_from"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "model_version_id": {
            "type": "string",
            "format": "uuid"
          },
          "input_price_per_1k_tokens": {
            "type": "string"
          },
          "output_price_per_1k_tokens": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "effective_from": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ModelResponse": {
        "type": "object",
        "required": [
          "id",
          "provider_id",
          "name",
          "modality",
          "capability",
          "context_length",
          "is_open_source",
          "status",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "provider_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "modality": {
            "type": "string"
          },
          "capability": {
            "type": "string"
          },
          "context_length": {
            "type": "integer",
            "format": "int64"
          },
          "max_output_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "training_cutoff": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "is_open_source": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ModelVersionResponse": {
        "type": "object",
        "required": [
          "id",
          "model_id",
          "version",
          "is_default",
          "status",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "model_id": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": "string"
          },
          "release_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "change_log": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MoveCardParams": {
        "type": "object",
        "required": [
          "target_column_id",
          "position"
        ],
        "properties": {
          "target_column_id": {
            "type": "string",
            "format": "uuid"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "MyWorkspaceInvitation": {
        "type": "object",
        "description": "Invitation received by the current user (workspace invitation for self).",
        "required": [
          "workspace_id",
          "workspace_slug",
          "workspace_name",
          "role",
          "invited_at"
        ],
        "properties": {
          "workspace_id": {
            "type": "string",
            "format": "uuid"
          },
          "workspace_slug": {
            "type": "string"
          },
          "workspace_name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "invited_by_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "invited_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "NotificationListResponse": {
        "type": "object",
        "required": [
          "notifications",
          "total",
          "unread_count"
        ],
        "properties": {
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotificationResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "unread_count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "NotificationPreferencesParams": {
        "type": "object",
        "properties": {
          "email_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "in_app_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "push_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "digest_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "dnd_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "dnd_start_minute": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "dnd_end_minute": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "marketing_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "security_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "product_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "push_subscription_endpoint": {
            "type": [
              "string",
              "null"
            ],
            "description": "Web Push subscription endpoint (set to null to unsubscribe)"
          },
          "push_subscription_keys_p256dh": {
            "type": [
              "string",
              "null"
            ],
            "description": "Web Push subscription p256dh key"
          },
          "push_subscription_keys_auth": {
            "type": [
              "string",
              "null"
            ],
            "description": "Web Push subscription auth key"
          }
        }
      },
      "NotificationPreferencesResponse": {
        "type": "object",
        "required": [
          "user_id",
          "email_enabled",
          "in_app_enabled",
          "push_enabled",
          "digest_mode",
          "dnd_enabled",
          "marketing_enabled",
          "security_enabled",
          "product_enabled",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "email_enabled": {
            "type": "boolean"
          },
          "in_app_enabled": {
            "type": "boolean"
          },
          "push_enabled": {
            "type": "boolean"
          },
          "digest_mode": {
            "type": "string"
          },
          "dnd_enabled": {
            "type": "boolean"
          },
          "dnd_start_minute": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "dnd_end_minute": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "marketing_enabled": {
            "type": "boolean"
          },
          "security_enabled": {
            "type": "boolean"
          },
          "product_enabled": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "NotificationResponse": {
        "type": "object",
        "required": [
          "id",
          "notification_type",
          "title",
          "metadata",
          "is_read",
          "is_archived",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "room": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "project": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "user_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "user_info": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UserInfo"
              }
            ]
          },
          "notification_type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "related_message_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "related_user_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "related_room_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "metadata": {},
          "is_read": {
            "type": "boolean"
          },
          "is_archived": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "read_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "NotificationType": {
        "type": "string",
        "enum": [
          "mention",
          "invitation",
          "role_change",
          "room_created",
          "room_deleted",
          "system_announcement",
          "project_invitation",
          "workspace_invitation"
        ]
      },
      "Pager": {
        "type": "object",
        "required": [
          "page",
          "par_page"
        ],
        "properties": {
          "page": {
            "type": "integer",
            "format": "int64"
          },
          "par_page": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PendingInvitationInfo": {
        "type": "object",
        "required": [
          "user_id",
          "username",
          "role",
          "invited_at"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": "string"
          },
          "invited_by_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "invited_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "PrCommitResponse": {
        "type": "object",
        "required": [
          "oid",
          "short_oid",
          "message",
          "summary",
          "author_name",
          "author_email",
          "authored_at",
          "committer_name",
          "committer_email",
          "committed_at"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "short_oid": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "author_name": {
            "type": "string"
          },
          "author_email": {
            "type": "string"
          },
          "authored_at": {
            "type": "string",
            "format": "date-time"
          },
          "committer_name": {
            "type": "string"
          },
          "committer_email": {
            "type": "string"
          },
          "committed_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PrCommitsListResponse": {
        "type": "object",
        "required": [
          "commits"
        ],
        "properties": {
          "commits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrCommitResponse"
            }
          }
        }
      },
      "PrDescription": {
        "type": "object",
        "description": "Structured PR description generated by AI.",
        "required": [
          "summary",
          "changes"
        ],
        "properties": {
          "summary": {
            "type": "string",
            "description": "3-5 line summary of what this PR does."
          },
          "changes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Key changes made in this PR."
          },
          "risks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Potential risks or things to watch out for."
          },
          "tests": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Suggested test scenarios."
          }
        }
      },
      "PreferencesParams": {
        "type": "object",
        "properties": {
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "theme": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "email_notifications": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "in_app_notifications": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "PreferencesResponse": {
        "type": "object",
        "required": [
          "language",
          "theme",
          "timezone",
          "email_notifications",
          "in_app_notifications",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "language": {
            "type": "string"
          },
          "theme": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "email_notifications": {
            "type": "boolean"
          },
          "in_app_notifications": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProcessJoinRequest": {
        "type": "object",
        "required": [
          "approve",
          "scope"
        ],
        "properties": {
          "approve": {
            "type": "boolean"
          },
          "scope": {
            "$ref": "#/components/schemas/MemberRole"
          },
          "reject_reason": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ProfileResponse": {
        "type": "object",
        "required": [
          "uid",
          "username",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "website_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_sign_in_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "ProjectBillingCurrentResponse": {
        "type": "object",
        "required": [
          "project_uid",
          "currency",
          "monthly_quota",
          "balance",
          "month_used",
          "cycle_start_utc",
          "cycle_end_utc",
          "updated_at",
          "created_at"
        ],
        "properties": {
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "currency": {
            "type": "string"
          },
          "monthly_quota": {
            "type": "number",
            "format": "double"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "month_used": {
            "type": "number",
            "format": "double"
          },
          "cycle_start_utc": {
            "type": "string",
            "format": "date-time"
          },
          "cycle_end_utc": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectBillingHistoryItem": {
        "type": "object",
        "required": [
          "uid",
          "project_uid",
          "amount",
          "currency",
          "reason",
          "created_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "user_uid": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currency": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "extra": {},
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectBillingHistoryQuery": {
        "type": "object",
        "properties": {
          "page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "ProjectBillingHistoryResponse": {
        "type": "object",
        "required": [
          "page",
          "per_page",
          "total",
          "list"
        ],
        "properties": {
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectBillingHistoryItem"
            }
          }
        }
      },
      "ProjectFollowItem": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "display_name",
          "is_public",
          "followed_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "followed_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectInfoKeyValue": {
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "ProjectInfoLabel": {
        "type": "object",
        "required": [
          "name",
          "color"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        }
      },
      "ProjectInfoRelational": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "display_name",
          "is_public",
          "created_at",
          "updated_at",
          "created_by",
          "created_username_name",
          "member_count",
          "like_count",
          "watch_count",
          "keys",
          "labels",
          "is_like",
          "is_watch"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "created_username_name": {
            "type": "string"
          },
          "created_display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_count": {
            "type": "integer",
            "format": "int64"
          },
          "like_count": {
            "type": "integer",
            "format": "int64"
          },
          "watch_count": {
            "type": "integer",
            "format": "int64"
          },
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectInfoKeyValue"
            }
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectInfoLabel"
            }
          },
          "role": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MemberRole"
              }
            ]
          },
          "is_like": {
            "type": "boolean"
          },
          "is_watch": {
            "type": "boolean"
          }
        }
      },
      "ProjectInitParams": {
        "type": "object",
        "required": [
          "name",
          "is_public"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "workspace_slug": {
            "type": [
              "string",
              "null"
            ],
            "description": "Optional workspace slug to associate this project with."
          }
        }
      },
      "ProjectInitResponse": {
        "type": "object",
        "required": [
          "params",
          "project"
        ],
        "properties": {
          "params": {
            "$ref": "#/components/schemas/ProjectInitParams"
          },
          "project": {
            "$ref": "#/components/schemas/ProjectModel"
          }
        }
      },
      "ProjectModel": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "display_name",
          "is_public",
          "created_by",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "workspace_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectRepoCreateParams": {
        "type": "object",
        "required": [
          "repo_name"
        ],
        "properties": {
          "repo_name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "init_repo": {
            "type": "boolean",
            "description": "Default: true. When false, skips bare git init and leaves default_branch empty;\nthe branch will be auto-detected and set on first push."
          },
          "default_branch": {
            "type": "string",
            "description": "Only used when init_repo is true."
          },
          "is_private": {
            "type": "boolean"
          }
        }
      },
      "ProjectRepoCreateResponse": {
        "type": "object",
        "required": [
          "uid",
          "repo_name",
          "default_branch",
          "project_name",
          "is_private",
          "storage_path",
          "created_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "repo_name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "default_branch": {
            "type": "string"
          },
          "project_name": {
            "type": "string"
          },
          "is_private": {
            "type": "boolean"
          },
          "storage_path": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectRepositoryItem": {
        "type": "object",
        "required": [
          "uid",
          "repo_name",
          "default_branch",
          "project_name",
          "is_private",
          "commit_count",
          "branch_count",
          "tag_count",
          "star_count",
          "watch_count",
          "ssh_clone_url",
          "https_clone_url"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "repo_name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "default_branch": {
            "type": "string"
          },
          "project_name": {
            "type": "string"
          },
          "is_private": {
            "type": "boolean"
          },
          "commit_count": {
            "type": "integer",
            "format": "int64"
          },
          "branch_count": {
            "type": "integer",
            "format": "int64"
          },
          "tag_count": {
            "type": "integer",
            "format": "int64"
          },
          "star_count": {
            "type": "integer",
            "format": "int64"
          },
          "watch_count": {
            "type": "integer",
            "format": "int64"
          },
          "last_commit_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "ssh_clone_url": {
            "type": "string"
          },
          "https_clone_url": {
            "type": "string"
          }
        }
      },
      "ProjectRepositoryPagination": {
        "type": "object",
        "required": [
          "items",
          "total"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectRepositoryItem"
            }
          },
          "cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "ProjectSearchItem": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "display_name",
          "is_public",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProviderResponse": {
        "type": "object",
        "required": [
          "id",
          "name",
          "display_name",
          "status",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PullRequestCreateRequest": {
        "type": "object",
        "required": [
          "title",
          "base",
          "head"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "base": {
            "type": "string"
          },
          "head": {
            "type": "string"
          },
          "draft": {
            "type": "boolean"
          }
        }
      },
      "PullRequestListResponse": {
        "type": "object",
        "required": [
          "pull_requests",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "pull_requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullRequestResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64"
          },
          "per_page": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PullRequestResponse": {
        "type": "object",
        "required": [
          "repo",
          "number",
          "title",
          "author",
          "base",
          "head",
          "status",
          "created_at",
          "updated_at",
          "created_by_ai"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "issue": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "author": {
            "type": "string",
            "format": "uuid"
          },
          "author_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "base": {
            "type": "string"
          },
          "head": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "merged_by": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "merged_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_by_ai": {
            "type": "boolean"
          }
        }
      },
      "PullRequestSummaryResponse": {
        "type": "object",
        "required": [
          "total",
          "open",
          "merged",
          "closed"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "open": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "merged": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "closed": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "PullRequestUpdateRequest": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "base": {
            "type": [
              "string",
              "null"
            ]
          },
          "draft": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "QuestionSchema": {
        "type": "object",
        "required": [
          "question"
        ],
        "properties": {
          "question": {
            "type": "string"
          }
        }
      },
      "ReactionAddRequest": {
        "type": "object",
        "required": [
          "reaction"
        ],
        "properties": {
          "reaction": {
            "type": "string"
          }
        }
      },
      "ReactionListResponse": {
        "type": "object",
        "required": [
          "reactions"
        ],
        "properties": {
          "reactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReactionSummary"
            }
          }
        }
      },
      "ReactionResponse": {
        "type": "object",
        "required": [
          "user",
          "reaction",
          "created_at"
        ],
        "properties": {
          "user": {
            "type": "string",
            "format": "uuid"
          },
          "reaction": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ReactionSummary": {
        "type": "object",
        "required": [
          "reaction",
          "count",
          "users"
        ],
        "properties": {
          "reaction": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "users": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "RefCreateRequest": {
        "type": "object",
        "required": [
          "name",
          "oid"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": "string"
          },
          "force": {
            "type": "boolean"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RefDeleteResponse": {
        "type": "object",
        "required": [
          "name",
          "oid"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": "string"
          }
        }
      },
      "RefExistsResponse": {
        "type": "object",
        "required": [
          "name",
          "exists"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "exists": {
            "type": "boolean"
          }
        }
      },
      "RefInfoResponse": {
        "type": "object",
        "required": [
          "name",
          "is_symbolic",
          "is_branch",
          "is_remote",
          "is_tag",
          "is_note"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": [
              "string",
              "null"
            ]
          },
          "target": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_symbolic": {
            "type": "boolean"
          },
          "is_branch": {
            "type": "boolean"
          },
          "is_remote": {
            "type": "boolean"
          },
          "is_tag": {
            "type": "boolean"
          },
          "is_note": {
            "type": "boolean"
          }
        }
      },
      "RefTargetResponse": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RefUpdateRequest": {
        "type": "object",
        "required": [
          "name",
          "new_oid"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "new_oid": {
            "type": "string"
          },
          "expected_oid": {
            "type": [
              "string",
              "null"
            ]
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RefUpdateResponse": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "old_oid": {
            "type": [
              "string",
              "null"
            ]
          },
          "new_oid": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RegisterParams": {
        "type": "object",
        "required": [
          "username",
          "email",
          "password",
          "captcha"
        ],
        "properties": {
          "username": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "captcha": {
            "type": "string"
          }
        }
      },
      "RepoSearchItem": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "project_uid",
          "project_name",
          "is_private",
          "created_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "project_uid": {
            "type": "string",
            "format": "uuid"
          },
          "project_name": {
            "type": "string"
          },
          "is_private": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RepoStarItem": {
        "type": "object",
        "required": [
          "uid",
          "repo_name",
          "owner",
          "is_private",
          "default_branch",
          "starred_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "repo_name": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_private": {
            "type": "boolean"
          },
          "default_branch": {
            "type": "string"
          },
          "starred_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ResetPasswordParams": {
        "type": "object",
        "required": [
          "email"
        ],
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "ReviewCommentCreateRequest": {
        "type": "object",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "type": "string"
          },
          "review": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "path": {
            "type": [
              "string",
              "null"
            ]
          },
          "side": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "old_line": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "in_reply_to": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "ID of the parent comment to reply to (null = root comment)."
          }
        }
      },
      "ReviewCommentListQuery": {
        "type": "object",
        "properties": {
          "path": {
            "type": [
              "string",
              "null"
            ],
            "description": "Filter comments by file path (e.g. \"src/main.rs\")."
          },
          "resolved": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Filter by resolved status. Omit to return all comments."
          },
          "file_only": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "If true, only return inline comments (those with a `path` set).\nIf false, only return general comments (no path).\nOmit to return all comments."
          }
        }
      },
      "ReviewCommentListResponse": {
        "type": "object",
        "required": [
          "comments",
          "threads",
          "total"
        ],
        "properties": {
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReviewCommentResponse"
            },
            "description": "Flat list of all comments (kept for backward compatibility)."
          },
          "threads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReviewCommentThread"
            },
            "description": "Comments grouped into threads (root comments with their replies)."
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ReviewCommentReplyRequest": {
        "type": "object",
        "description": "Body for replying to an existing review comment thread.",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "type": "string"
          }
        }
      },
      "ReviewCommentResponse": {
        "type": "object",
        "required": [
          "repo",
          "number",
          "id",
          "body",
          "author",
          "resolved",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "review": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "path": {
            "type": [
              "string",
              "null"
            ]
          },
          "side": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "old_line": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "body": {
            "type": "string"
          },
          "author": {
            "type": "string",
            "format": "uuid"
          },
          "author_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "resolved": {
            "type": "boolean"
          },
          "in_reply_to": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ReviewCommentThread": {
        "type": "object",
        "description": "A review comment thread: one root comment plus all its replies.",
        "required": [
          "root",
          "replies"
        ],
        "properties": {
          "root": {
            "$ref": "#/components/schemas/ReviewCommentResponse"
          },
          "replies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReviewCommentResponse"
            }
          }
        }
      },
      "ReviewCommentUpdateRequest": {
        "type": "object",
        "required": [
          "body"
        ],
        "properties": {
          "body": {
            "type": "string"
          }
        }
      },
      "ReviewListResponse": {
        "type": "object",
        "required": [
          "reviews"
        ],
        "properties": {
          "reviews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReviewResponse"
            }
          }
        }
      },
      "ReviewRequestCreateRequest": {
        "type": "object",
        "required": [
          "reviewer"
        ],
        "properties": {
          "reviewer": {
            "type": "string",
            "format": "uuid",
            "description": "User ID of the reviewer to request."
          }
        }
      },
      "ReviewRequestListResponse": {
        "type": "object",
        "required": [
          "requests",
          "total"
        ],
        "properties": {
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReviewRequestResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ReviewRequestResponse": {
        "type": "object",
        "required": [
          "repo",
          "number",
          "reviewer",
          "requested_by",
          "requested_at"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "reviewer": {
            "type": "string",
            "format": "uuid"
          },
          "reviewer_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "requested_by": {
            "type": "string",
            "format": "uuid"
          },
          "requested_by_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "requested_at": {
            "type": "string",
            "format": "date-time"
          },
          "dismissed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "dismissed_by": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "dismissed_by_username": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ReviewResponse": {
        "type": "object",
        "required": [
          "repo",
          "number",
          "reviewer",
          "state",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "repo": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int64"
          },
          "reviewer": {
            "type": "string",
            "format": "uuid"
          },
          "reviewer_username": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "submitted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ReviewSubmitRequest": {
        "type": "object",
        "required": [
          "state"
        ],
        "properties": {
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          }
        }
      },
      "ReviewUpdateRequest": {
        "type": "object",
        "properties": {
          "body": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ReviewerInfo": {
        "type": "object",
        "required": [
          "reviewer",
          "state"
        ],
        "properties": {
          "reviewer": {
            "type": "string",
            "format": "uuid"
          },
          "state": {
            "type": "string"
          },
          "submitted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "RoomAiResponse": {
        "type": "object",
        "required": [
          "room",
          "model",
          "call_count",
          "use_exact",
          "think",
          "stream",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "room": {
            "type": "string",
            "format": "uuid"
          },
          "model": {
            "type": "string",
            "format": "uuid"
          },
          "model_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "call_count": {
            "type": "integer",
            "format": "int64"
          },
          "last_call_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "history_limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "system_prompt": {
            "type": [
              "string",
              "null"
            ]
          },
          "temperature": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "max_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "use_exact": {
            "type": "boolean"
          },
          "think": {
            "type": "boolean"
          },
          "stream": {
            "type": "boolean"
          },
          "min_score": {
            "type": [
              "number",
              "null"
            ],
            "format": "float"
          },
          "agent_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RoomAiUpsertRequest": {
        "type": "object",
        "required": [
          "model"
        ],
        "properties": {
          "model": {
            "type": "string",
            "format": "uuid"
          },
          "version": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "history_limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "system_prompt": {
            "type": [
              "string",
              "null"
            ]
          },
          "temperature": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "max_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "use_exact": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "think": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "stream": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "min_score": {
            "type": [
              "number",
              "null"
            ],
            "format": "float"
          },
          "agent_type": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RoomCategoryCreateRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "position": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          }
        }
      },
      "RoomCategoryResponse": {
        "type": "object",
        "required": [
          "id",
          "project",
          "name",
          "position",
          "created_by",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "project": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "position": {
            "type": "integer",
            "format": "int32"
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RoomCategoryUpdateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          }
        }
      },
      "RoomCreateRequest": {
        "type": "object",
        "required": [
          "room_name",
          "room_public"
        ],
        "properties": {
          "room_name": {
            "type": "string"
          },
          "room_public": {
            "type": "boolean"
          },
          "category": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          }
        }
      },
      "RoomMemberAddRequest": {
        "type": "object",
        "required": [
          "user_id"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RoomMemberReadSeqRequest": {
        "type": "object",
        "required": [
          "last_read_seq"
        ],
        "properties": {
          "last_read_seq": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "RoomMemberResponse": {
        "type": "object",
        "required": [
          "room",
          "user",
          "role",
          "do_not_disturb"
        ],
        "properties": {
          "room": {
            "type": "string",
            "format": "uuid"
          },
          "user": {
            "type": "string",
            "format": "uuid"
          },
          "user_info": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UserInfo"
              }
            ]
          },
          "role": {
            "type": "string"
          },
          "first_msg_in": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "joined_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_read_seq": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "do_not_disturb": {
            "type": "boolean"
          },
          "dnd_start_hour": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "dnd_end_hour": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          }
        }
      },
      "RoomMemberRoleUpdateRequest": {
        "type": "object",
        "required": [
          "user_id",
          "role"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "role": {
            "type": "string"
          }
        }
      },
      "RoomMessageCreateRequest": {
        "type": "object",
        "required": [
          "content"
        ],
        "properties": {
          "content": {
            "type": "string"
          },
          "content_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "thread_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "in_reply_to": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "attachment_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "RoomMessageListResponse": {
        "type": "object",
        "required": [
          "messages",
          "total"
        ],
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoomMessageResponse"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "RoomMessageResponse": {
        "type": "object",
        "required": [
          "id",
          "seq",
          "room",
          "sender_type",
          "content",
          "content_type",
          "send_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "seq": {
            "type": "integer",
            "format": "int64"
          },
          "room": {
            "type": "string",
            "format": "uuid"
          },
          "sender_type": {
            "type": "string"
          },
          "sender_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "thread": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "in_reply_to": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "content": {
            "type": "string"
          },
          "content_type": {
            "type": "string"
          },
          "edited_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "send_at": {
            "type": "string",
            "format": "date-time"
          },
          "revoked": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "revoked_by": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "highlighted_content": {
            "type": [
              "string",
              "null"
            ],
            "description": "Highlighted content with <mark> tags around matched terms (for search results)"
          },
          "attachment_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "RoomMessageUpdateRequest": {
        "type": "object",
        "required": [
          "content"
        ],
        "properties": {
          "content": {
            "type": "string"
          }
        }
      },
      "RoomPinResponse": {
        "type": "object",
        "required": [
          "room",
          "message",
          "pinned_by",
          "pinned_at"
        ],
        "properties": {
          "room": {
            "type": "string",
            "format": "uuid"
          },
          "message": {
            "type": "string",
            "format": "uuid"
          },
          "pinned_by": {
            "type": "string",
            "format": "uuid"
          },
          "pinned_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RoomResponse": {
        "type": "object",
        "required": [
          "id",
          "project",
          "room_name",
          "public",
          "created_by",
          "created_at",
          "last_msg_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "project": {
            "type": "string",
            "format": "uuid"
          },
          "room_name": {
            "type": "string"
          },
          "public": {
            "type": "boolean"
          },
          "category": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_msg_at": {
            "type": "string",
            "format": "date-time"
          },
          "unread_count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "RoomThreadCreateRequest": {
        "type": "object",
        "required": [
          "parent_seq"
        ],
        "properties": {
          "parent_seq": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "RoomThreadResponse": {
        "type": "object",
        "required": [
          "id",
          "room",
          "parent",
          "created_by",
          "participants",
          "last_message_at",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "room": {
            "type": "string",
            "format": "uuid"
          },
          "parent": {
            "type": "integer",
            "format": "int64"
          },
          "created_by": {
            "type": "string",
            "format": "uuid"
          },
          "participants": {},
          "last_message_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_message_preview": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RoomUpdateRequest": {
        "type": "object",
        "properties": {
          "room_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "room_public": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "category": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          }
        }
      },
      "RsaResponse": {
        "type": "object",
        "required": [
          "public_key"
        ],
        "properties": {
          "public_key": {
            "type": "string"
          }
        }
      },
      "ScanResponse": {
        "type": "object",
        "required": [
          "discovered",
          "created",
          "updated",
          "removed"
        ],
        "properties": {
          "discovered": {
            "type": "integer",
            "format": "int64"
          },
          "created": {
            "type": "integer",
            "format": "int64"
          },
          "updated": {
            "type": "integer",
            "format": "int64"
          },
          "removed": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SearchResponse": {
        "type": "object",
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "type": "string"
          },
          "projects": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SearchResultSet_ProjectSearchItem"
              }
            ]
          },
          "repos": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SearchResultSet_RepoSearchItem"
              }
            ]
          },
          "issues": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SearchResultSet_IssueSearchItem"
              }
            ]
          },
          "users": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SearchResultSet_UserSearchItem"
              }
            ]
          }
        }
      },
      "SearchResultSet_IssueSearchItem": {
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "uid",
                "number",
                "title",
                "state",
                "project_uid",
                "project_name",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "number": {
                  "type": "integer",
                  "format": "int64"
                },
                "title": {
                  "type": "string"
                },
                "body": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "state": {
                  "type": "string"
                },
                "project_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "project_name": {
                  "type": "string"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "SearchResultSet_ProjectSearchItem": {
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "uid",
                "name",
                "display_name",
                "is_public",
                "created_at",
                "updated_at"
              ],
              "properties": {
                "uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "display_name": {
                  "type": "string"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "avatar_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "is_public": {
                  "type": "boolean"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "updated_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "SearchResultSet_RepoSearchItem": {
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "uid",
                "name",
                "project_uid",
                "project_name",
                "is_private",
                "created_at"
              ],
              "properties": {
                "uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "project_uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "project_name": {
                  "type": "string"
                },
                "is_private": {
                  "type": "boolean"
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "SearchResultSet_UserSearchItem": {
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "uid",
                "username",
                "created_at"
              ],
              "properties": {
                "uid": {
                  "type": "string",
                  "format": "uuid"
                },
                "username": {
                  "type": "string"
                },
                "display_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "avatar_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "organization": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "SideBySideChangeTypeResponse": {
        "type": "string",
        "enum": [
          "unchanged",
          "added",
          "removed",
          "modified",
          "empty"
        ]
      },
      "SideBySideDiffQuery": {
        "type": "object",
        "description": "Query parameters for side-by-side diff.",
        "required": [
          "base",
          "head"
        ],
        "properties": {
          "base": {
            "type": "string",
            "description": "OID (SHA) of the base / old commit or tree."
          },
          "head": {
            "type": "string",
            "description": "OID (SHA) of the head / new commit or tree."
          },
          "pathspec": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "Optional path filter — only include files matching this prefix."
          },
          "context_lines": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "description": "Number of context lines around changes (default 3).",
            "minimum": 0
          }
        }
      },
      "SideBySideDiffResponse": {
        "type": "object",
        "required": [
          "files",
          "total_additions",
          "total_deletions"
        ],
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SideBySideFileResponse"
            }
          },
          "total_additions": {
            "type": "integer",
            "minimum": 0
          },
          "total_deletions": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "SideBySideFileResponse": {
        "type": "object",
        "required": [
          "path",
          "additions",
          "deletions",
          "is_binary",
          "is_rename",
          "lines"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "additions": {
            "type": "integer",
            "minimum": 0
          },
          "deletions": {
            "type": "integer",
            "minimum": 0
          },
          "is_binary": {
            "type": "boolean"
          },
          "is_rename": {
            "type": "boolean"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SideBySideLineResponse"
            }
          }
        }
      },
      "SideBySideLineResponse": {
        "type": "object",
        "required": [
          "left_content",
          "right_content",
          "change_type"
        ],
        "properties": {
          "left_line_no": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "right_line_no": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "left_content": {
            "type": "string"
          },
          "right_content": {
            "type": "string"
          },
          "change_type": {
            "$ref": "#/components/schemas/SideBySideChangeTypeResponse"
          }
        }
      },
      "SkillResponse": {
        "type": "object",
        "required": [
          "id",
          "project_uuid",
          "slug",
          "name",
          "source",
          "content",
          "metadata",
          "enabled",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "project_uuid": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": "string"
          },
          "repo_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "commit_sha": {
            "type": [
              "string",
              "null"
            ]
          },
          "blob_hash": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": "string"
          },
          "metadata": {},
          "enabled": {
            "type": "boolean"
          },
          "created_by": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SshKeyListResponse": {
        "type": "object",
        "required": [
          "keys",
          "total"
        ],
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SshKeyResponse"
            }
          },
          "total": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "SshKeyResponse": {
        "type": "object",
        "required": [
          "id",
          "user_uid",
          "title",
          "fingerprint",
          "key_type",
          "is_verified",
          "is_revoked",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "user_uid": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string"
          },
          "fingerprint": {
            "type": "string"
          },
          "key_type": {
            "type": "string"
          },
          "key_bits": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "is_verified": {
            "type": "boolean"
          },
          "last_used_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "is_revoked": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "StarCountResponse": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "StarUserInfo": {
        "type": "object",
        "required": [
          "uid",
          "username",
          "avatar_url"
        ],
        "properties": {
          "uid": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          }
        }
      },
      "StarUserListResponse": {
        "type": "object",
        "required": [
          "users"
        ],
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StarUserInfo"
            }
          }
        }
      },
      "SubmitJoinRequest": {
        "type": "object",
        "required": [
          "answers"
        ],
        "properties": {
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "answers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerRequest"
            }
          }
        }
      },
      "SubscriptionInfo": {
        "type": "object",
        "required": [
          "id",
          "user_uid",
          "target_uid",
          "subscribed_at",
          "is_active"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "user_uid": {
            "type": "string",
            "format": "uuid"
          },
          "target_uid": {
            "type": "string",
            "format": "uuid"
          },
          "subscribed_at": {
            "type": "string",
            "format": "date-time"
          },
          "is_active": {
            "type": "boolean"
          }
        }
      },
      "SyncModelsResponse": {
        "type": "object",
        "required": [
          "models_created",
          "models_updated",
          "versions_created",
          "pricing_created",
          "capabilities_created",
          "profiles_created"
        ],
        "properties": {
          "models_created": {
            "type": "integer",
            "format": "int64"
          },
          "models_updated": {
            "type": "integer",
            "format": "int64"
          },
          "versions_created": {
            "type": "integer",
            "format": "int64"
          },
          "pricing_created": {
            "type": "integer",
            "format": "int64"
          },
          "capabilities_created": {
            "type": "integer",
            "format": "int64"
          },
          "profiles_created": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "TagCountResponse": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "TagCreateLightweightRequest": {
        "type": "object",
        "required": [
          "name",
          "target"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "force": {
            "type": "boolean"
          }
        }
      },
      "TagCreateRequest": {
        "type": "object",
        "required": [
          "name",
          "target"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "tagger_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "tagger_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "force": {
            "type": "boolean"
          }
        }
      },
      "TagExistsResponse": {
        "type": "object",
        "required": [
          "name",
          "exists"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "exists": {
            "type": "boolean"
          }
        }
      },
      "TagInfoResponse": {
        "type": "object",
        "required": [
          "name",
          "oid",
          "target",
          "is_annotated"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "is_annotated": {
            "type": "boolean"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "tagger": {
            "type": [
              "string",
              "null"
            ]
          },
          "tagger_email": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "TagIsAnnotatedResponse": {
        "type": "object",
        "required": [
          "name",
          "is_annotated"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "is_annotated": {
            "type": "boolean"
          }
        }
      },
      "TagMessageResponse": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "TagRenameQuery": {
        "type": "object",
        "required": [
          "old_name",
          "new_name"
        ],
        "properties": {
          "old_name": {
            "type": "string"
          },
          "new_name": {
            "type": "string"
          }
        }
      },
      "TagSummaryResponse": {
        "type": "object",
        "required": [
          "total_count"
        ],
        "properties": {
          "total_count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "TagTaggerResponse": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "tagger": {
            "type": [
              "string",
              "null"
            ]
          },
          "tagger_email": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "TagTargetResponse": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "target": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "TagUpdateMessageRequest": {
        "type": "object",
        "required": [
          "name",
          "message",
          "tagger_name",
          "tagger_email"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "tagger_name": {
            "type": "string"
          },
          "tagger_email": {
            "type": "string"
          }
        }
      },
      "TransferRepoParams": {
        "type": "object",
        "required": [
          "target_project_name"
        ],
        "properties": {
          "target_project_name": {
            "type": "string"
          }
        }
      },
      "TransferRepoResponse": {
        "type": "object",
        "required": [
          "repo_id",
          "old_project_name",
          "new_project_name",
          "repo_name"
        ],
        "properties": {
          "repo_id": {
            "type": "string",
            "format": "uuid"
          },
          "old_project_name": {
            "type": "string"
          },
          "new_project_name": {
            "type": "string"
          },
          "repo_name": {
            "type": "string"
          }
        }
      },
      "TreeDiffStatsResponse": {
        "type": "object",
        "required": [
          "old_tree",
          "new_tree",
          "files_changed",
          "insertions",
          "deletions"
        ],
        "properties": {
          "old_tree": {
            "type": "string"
          },
          "new_tree": {
            "type": "string"
          },
          "files_changed": {
            "type": "integer",
            "minimum": 0
          },
          "insertions": {
            "type": "integer",
            "minimum": 0
          },
          "deletions": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "TreeEntryCountResponse": {
        "type": "object",
        "required": [
          "oid",
          "count"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "TreeEntryResponse": {
        "type": "object",
        "required": [
          "name",
          "oid",
          "kind",
          "filemode",
          "is_binary"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "oid": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "filemode": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "is_binary": {
            "type": "boolean"
          }
        }
      },
      "TreeExistsResponse": {
        "type": "object",
        "required": [
          "oid",
          "exists"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "exists": {
            "type": "boolean"
          }
        }
      },
      "TreeInfoResponse": {
        "type": "object",
        "required": [
          "oid",
          "entry_count",
          "is_empty"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "entry_count": {
            "type": "integer",
            "minimum": 0
          },
          "is_empty": {
            "type": "boolean"
          }
        }
      },
      "TreeIsEmptyResponse": {
        "type": "object",
        "required": [
          "oid",
          "is_empty"
        ],
        "properties": {
          "oid": {
            "type": "string"
          },
          "is_empty": {
            "type": "boolean"
          }
        }
      },
      "TriggerCodeReviewRequest": {
        "type": "object",
        "properties": {
          "pr_number": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "model_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          }
        }
      },
      "TriggerCodeReviewResponse": {
        "type": "object",
        "required": [
          "comments_posted",
          "comments"
        ],
        "properties": {
          "comments_posted": {
            "type": "integer",
            "minimum": 0
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommentCreated"
            }
          },
          "billing": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BillingRecord"
              }
            ]
          }
        }
      },
      "UpdateBoardParams": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateCardParams": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "assignee_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "due_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "priority": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateColumnParams": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "wip_limit": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32"
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateJoinSettingsRequest": {
        "type": "object",
        "required": [
          "require_approval",
          "require_questions",
          "questions"
        ],
        "properties": {
          "require_approval": {
            "type": "boolean"
          },
          "require_questions": {
            "type": "boolean"
          },
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuestionSchema"
            }
          }
        }
      },
      "UpdateLabelParams": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateMemberRoleRequest": {
        "type": "object",
        "required": [
          "user_id",
          "scope"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "scope": {
            "$ref": "#/components/schemas/MemberRole"
          }
        }
      },
      "UpdateModelCapabilityRequest": {
        "type": "object",
        "properties": {
          "is_supported": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "UpdateModelParameterProfileRequest": {
        "type": "object",
        "properties": {
          "temperature_min": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "temperature_max": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "top_p_min": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "top_p_max": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "frequency_penalty_supported": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "presence_penalty_supported": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "UpdateModelPricingRequest": {
        "type": "object",
        "properties": {
          "input_price_per_1k_tokens": {
            "type": [
              "string",
              "null"
            ]
          },
          "output_price_per_1k_tokens": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "effective_from": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "UpdateModelRequest": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "modality": {
            "type": [
              "string",
              "null"
            ]
          },
          "capability": {
            "type": [
              "string",
              "null"
            ]
          },
          "context_length": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "max_output_tokens": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "training_cutoff": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "is_open_source": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateModelVersionRequest": {
        "type": "object",
        "properties": {
          "version": {
            "type": [
              "string",
              "null"
            ]
          },
          "release_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "change_log": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateProfileParams": {
        "type": "object",
        "properties": {
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "website_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateProviderRequest": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UpdateRoleParams": {
        "type": "object",
        "required": [
          "user_id",
          "role"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "role": {
            "type": "string"
          }
        }
      },
      "UpdateSkillRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "metadata": {},
          "enabled": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "UpdateSshKeyParams": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "UpdateWebhookParams": {
        "type": "object",
        "properties": {
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "content_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "secret": {
            "type": [
              "string",
              "null"
            ]
          },
          "insecure_ssl": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "events": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ]
          },
          "active": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "UserActivityItem": {
        "type": "object",
        "required": [
          "id",
          "activity_type",
          "action",
          "title",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "activity_type": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "resource_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "resource_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "metadata": {},
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UserActivityResponse": {
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserActivityItem"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "UserCard": {
        "type": "object",
        "required": [
          "user_uid",
          "username",
          "is_following_me"
        ],
        "properties": {
          "user_uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_following_me": {
            "type": "boolean"
          }
        }
      },
      "UserInfo": {
        "type": "object",
        "required": [
          "uid",
          "username"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UserInfoExternal": {
        "type": "object",
        "required": [
          "user_uid",
          "username",
          "display_name",
          "timezone",
          "language",
          "is_owner",
          "is_subscribe",
          "total_projects",
          "total_repos"
        ],
        "properties": {
          "user_uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "master_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "website_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_sign_in_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "is_owner": {
            "type": "boolean"
          },
          "is_subscribe": {
            "type": "boolean"
          },
          "total_projects": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "total_repos": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "UserProjectInfo": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "display_name",
          "is_public",
          "created_at",
          "updated_at",
          "member_count",
          "is_member"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "member_count": {
            "type": "integer",
            "format": "int64"
          },
          "is_member": {
            "type": "boolean"
          }
        }
      },
      "UserProjectsQuery": {
        "type": "object",
        "properties": {
          "page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "UserProjectsResponse": {
        "type": "object",
        "required": [
          "username",
          "projects",
          "total_count"
        ],
        "properties": {
          "username": {
            "type": "string"
          },
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProjectInfo"
            }
          },
          "total_count": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "UserRepoInfo": {
        "type": "object",
        "required": [
          "uid",
          "repo_name",
          "default_branch",
          "is_private",
          "storage_path",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "repo_name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "default_branch": {
            "type": "string"
          },
          "is_private": {
            "type": "boolean"
          },
          "storage_path": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UserReposQuery": {
        "type": "object",
        "properties": {
          "page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "UserReposResponse": {
        "type": "object",
        "required": [
          "username",
          "repos",
          "total_count"
        ],
        "properties": {
          "username": {
            "type": "string"
          },
          "repos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserRepoInfo"
            }
          },
          "total_count": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "UserSearchItem": {
        "type": "object",
        "required": [
          "uid",
          "username",
          "created_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UserStarsResponse": {
        "type": "object",
        "required": [
          "repos",
          "projects",
          "total"
        ],
        "properties": {
          "repos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepoStarItem"
            }
          },
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectFollowItem"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WatchCountResponse": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WatchUserInfo": {
        "type": "object",
        "required": [
          "uid",
          "username",
          "avatar_url"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          }
        }
      },
      "WatchUserListResponse": {
        "type": "object",
        "required": [
          "users"
        ],
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WatchUserInfo"
            }
          }
        }
      },
      "WebhookEvent": {
        "type": "object",
        "properties": {
          "push": {
            "type": "boolean"
          },
          "tag_push": {
            "type": "boolean"
          },
          "pull_request": {
            "type": "boolean"
          },
          "issue_comment": {
            "type": "boolean"
          },
          "release": {
            "type": "boolean"
          }
        }
      },
      "WebhookListResponse": {
        "type": "object",
        "required": [
          "webhooks",
          "total"
        ],
        "properties": {
          "webhooks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebhookResponse"
            }
          },
          "total": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "WebhookResponse": {
        "type": "object",
        "required": [
          "id",
          "repo_uuid",
          "url",
          "content_type",
          "events",
          "active",
          "created_at",
          "touch_count"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "repo_uuid": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "content_type": {
            "type": "string"
          },
          "secret": {
            "type": [
              "string",
              "null"
            ]
          },
          "events": {
            "$ref": "#/components/schemas/WebhookEvent"
          },
          "active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_delivered_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "touch_count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WorkspaceAcceptBySlugParams": {
        "type": "object",
        "description": "Request body for accepting workspace invitation by slug.",
        "required": [
          "slug"
        ],
        "properties": {
          "slug": {
            "type": "string"
          }
        }
      },
      "WorkspaceActivityItem": {
        "type": "object",
        "required": [
          "id",
          "project_name",
          "event_type",
          "title",
          "actor_name",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "project_name": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "actor_name": {
            "type": "string"
          },
          "actor_avatar": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkspaceBillingAddCreditParams": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WorkspaceBillingCurrentResponse": {
        "type": "object",
        "required": [
          "workspace_id",
          "currency",
          "monthly_quota",
          "balance",
          "total_spent",
          "month_used",
          "cycle_start_utc",
          "cycle_end_utc",
          "updated_at",
          "created_at"
        ],
        "properties": {
          "workspace_id": {
            "type": "string",
            "format": "uuid"
          },
          "currency": {
            "type": "string"
          },
          "monthly_quota": {
            "type": "number",
            "format": "double"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "total_spent": {
            "type": "number",
            "format": "double"
          },
          "month_used": {
            "type": "number",
            "format": "double"
          },
          "cycle_start_utc": {
            "type": "string",
            "format": "date-time"
          },
          "cycle_end_utc": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkspaceBillingHistoryItem": {
        "type": "object",
        "required": [
          "uid",
          "workspace_id",
          "amount",
          "currency",
          "reason",
          "created_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "workspace_id": {
            "type": "string",
            "format": "uuid"
          },
          "user_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currency": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "extra": {},
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkspaceBillingHistoryQuery": {
        "type": "object",
        "properties": {
          "page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WorkspaceBillingHistoryResponse": {
        "type": "object",
        "required": [
          "page",
          "per_page",
          "total",
          "list"
        ],
        "properties": {
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkspaceBillingHistoryItem"
            }
          }
        }
      },
      "WorkspaceInfoResponse": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "name",
          "plan",
          "member_count",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "plan": {
            "type": "string"
          },
          "billing_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "member_count": {
            "type": "integer",
            "format": "int64"
          },
          "my_role": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkspaceInitParams": {
        "type": "object",
        "required": [
          "slug",
          "name"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WorkspaceInviteAcceptParams": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string"
          }
        }
      },
      "WorkspaceInviteParams": {
        "type": "object",
        "required": [
          "email"
        ],
        "properties": {
          "email": {
            "type": "string"
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WorkspaceListItem": {
        "type": "object",
        "required": [
          "id",
          "slug",
          "name",
          "plan",
          "my_role",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "plan": {
            "type": "string"
          },
          "my_role": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkspaceListResponse": {
        "type": "object",
        "required": [
          "workspaces",
          "total"
        ],
        "properties": {
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkspaceListItem"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WorkspaceMemberInfo": {
        "type": "object",
        "required": [
          "user_id",
          "username",
          "role",
          "joined_at"
        ],
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": "string"
          },
          "joined_at": {
            "type": "string",
            "format": "date-time"
          },
          "invited_by_username": {
            "type": [
              "string",
              "null"
            ],
            "description": "Username of the person who invited this member."
          }
        }
      },
      "WorkspaceMembersResponse": {
        "type": "object",
        "required": [
          "members",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkspaceMemberInfo"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WorkspaceProjectItem": {
        "type": "object",
        "required": [
          "uid",
          "name",
          "display_name",
          "is_public",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "uid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_public": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "WorkspaceProjectsQuery": {
        "type": "object",
        "properties": {
          "page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WorkspaceProjectsResponse": {
        "type": "object",
        "required": [
          "projects",
          "total",
          "page",
          "per_page"
        ],
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkspaceProjectItem"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "per_page": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WorkspaceStatsResponse": {
        "type": "object",
        "required": [
          "project_count",
          "member_count",
          "recent_activities"
        ],
        "properties": {
          "project_count": {
            "type": "integer",
            "format": "int64"
          },
          "member_count": {
            "type": "integer",
            "format": "int64"
          },
          "my_role": {
            "type": [
              "string",
              "null"
            ]
          },
          "recent_activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkspaceActivityItem"
            }
          }
        }
      },
      "WorkspaceUpdateParams": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "billing_email": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Auth",
      "description": "Authentication and user identity"
    },
    {
      "name": "Agent",
      "description": "AI agent model management"
    },
    {
      "name": "Git",
      "description": "Git repository operations"
    },
    {
      "name": "Issues",
      "description": "Issue tracking"
    },
    {
      "name": "Project",
      "description": "Project management"
    },
    {
      "name": "PullRequest",
      "description": "Pull request management"
    },
    {
      "name": "Room",
      "description": "Real-time chat rooms"
    },
    {
      "name": "Search",
      "description": "Global and room message search"
    },
    {
      "name": "User",
      "description": "User profiles and settings"
    },
    {
      "name": "Workspace",
      "description": "Workspace management and collaboration"
    }
  ]
}