{ "openapi": "3.1.0", "info": { "title": "api", "description": "", "license": { "name": "" }, "version": "0.2.9" }, "paths": { "/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/2fa/disable": { "post": { "tags": [ "Auth" ], "operationId": "api_2fa_disable", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Disable2FAParams" } } }, "required": true }, "responses": { "200": { "description": "2FA disabled" }, "400": { "description": "2FA not enabled or invalid code/password" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse_ApiError" } } } }, "500": { "description": "Internal server error" } } } }, "/api/auth/2fa/enable": { "post": { "tags": [ "Auth" ], "operationId": "api_2fa_enable", "responses": { "200": { "description": "2FA setup initiated", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Enable2FAResponse" } } } }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse_ApiError" } } } }, "409": { "description": "2FA already enabled" }, "500": { "description": "Internal server error" } } } }, "/api/auth/2fa/status": { "post": { "tags": [ "Auth" ], "operationId": "api_2fa_status", "responses": { "200": { "description": "2FA status", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Get2FAStatusResponse" } } } }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse_ApiError" } } } }, "500": { "description": "Internal server error" } } } }, "/api/auth/2fa/verify": { "post": { "tags": [ "Auth" ], "operationId": "api_2fa_verify", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Verify2FAParams" } } }, "required": true }, "responses": { "200": { "description": "2FA verified and enabled" }, "400": { "description": "2FA not set up" }, "401": { "description": "Unauthorized or invalid code" }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse_ApiError" } } } }, "500": { "description": "Internal server error" } } } }, "/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/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 HEAD.", "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}/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/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/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/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/{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" } } }, "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_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" }, "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" }, "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" } } } } }, "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_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_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_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_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" }, "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" }, "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_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" } } }, "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" } } } }, "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 } } }, "Disable2FAParams": { "type": "object", "required": [ "code", "password" ], "properties": { "code": { "type": "string" }, "password": { "type": "string" } } }, "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" } } }, "Enable2FAResponse": { "type": "object", "required": [ "secret", "qr_code", "backup_codes" ], "properties": { "secret": { "type": "string" }, "qr_code": { "type": "string" }, "backup_codes": { "type": "array", "items": { "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" } ] } } }, "Get2FAStatusResponse": { "type": "object", "required": [ "is_enabled", "has_backup_codes" ], "properties": { "is_enabled": { "type": "boolean" }, "method": { "type": [ "string", "null" ] }, "has_backup_codes": { "type": "boolean" } } }, "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", "user_uid", "invited_by", "scope", "accepted", "rejected", "created_at" ], "properties": { "project_uid": { "type": "string", "format": "uuid" }, "user_uid": { "type": "string", "format": "uuid" }, "invited_by": { "type": "string", "format": "uuid" }, "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" }, "totp_code": { "type": [ "string", "null" ] } } }, "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" } } }, "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" ] } } }, "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" ] }, "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" } } } }, "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" ], "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" } } }, "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" } } }, "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" }, "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" }, "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" } } }, "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", "public" ], "properties": { "room_name": { "type": "string" }, "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" } } }, "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" } } }, "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" ] }, "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" } } }, "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" ] } } }, "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" } } }, "Verify2FAParams": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string" } } }, "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" } } }, "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" } ] }