gitdataai/openapi.json
zhenyi 779e4eae2f feat(channel): add article feed and composer with room type support
- Add ArticleFeed component for article-based channels
- Implement ArticleComposer with draft persistence
- Add Newspaper icon for article room type
- Update ChannelPage to conditionally render article feed vs message view
- Add article-related API endpoints and models
- Reset thread view when switching rooms
- Add room type check in channel sidebar
- Update CSS to hide scrollbars globally
- Add gRPC message size limit configuration
- Fix git diff tree handling
2026-05-31 03:09:49 +08:00

19552 lines
425 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "GitDataAI API",
"description": "GitDataAI platform REST API",
"version": "1.0.0"
},
"paths": {
"/api/v1/agent/conversations": {
"get": {
"tags": [
"agent"
],
"operationId": "agent_list_all_conversations",
"parameters": [
{
"name": "wk",
"in": "query",
"description": "Filter by workspace name",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConversationWithSessionResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/agent/conversations/{id}": {
"get": {
"tags": [
"agent"
],
"operationId": "agent_get_conversation",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"agent"
],
"operationId": "agent_delete_conversation",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"session": []
}
]
},
"patch": {
"tags": [
"agent"
],
"operationId": "agent_update_conversation",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateConversation"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/agent/conversations/{id}/messages": {
"get": {
"tags": [
"agent"
],
"operationId": "agent_list_messages",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "before",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"agent"
],
"operationId": "agent_send_message",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentRunRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentRunResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/agent/conversations/{id}/stream": {
"post": {
"tags": [
"agent"
],
"operationId": "agent_stream_agent",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentRunRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "SSE stream"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/agent/sessions": {
"get": {
"tags": [
"agent"
],
"operationId": "agent_list_sessions",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AgentSessionResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"agent"
],
"operationId": "agent_create_session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAgentSession"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentSessionResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/agent/sessions/{id}": {
"get": {
"tags": [
"agent"
],
"operationId": "agent_get_session",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentSessionResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"agent"
],
"operationId": "agent_delete_session",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"session": []
}
]
},
"patch": {
"tags": [
"agent"
],
"operationId": "agent_update_session",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateAgentSession"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentSessionResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/agent/sessions/{session_id}/conversations": {
"get": {
"tags": [
"agent"
],
"operationId": "agent_list_conversations",
"parameters": [
{
"name": "session_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConversationResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"agent"
],
"operationId": "agent_create_conversation",
"parameters": [
{
"name": "session_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateConversation"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConversationResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_list_models",
"parameters": [
{
"name": "enabled",
"in": "query",
"required": false,
"schema": {
"type": [
"boolean",
"null"
]
}
},
{
"name": "provider",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "modality",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiModelListItem"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models/{id}": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_get_model",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AiModelResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models/{id}/card": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_get_card",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/AiModelCardResponse"
}
]
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models/{id}/discussions": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_list_discussions",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiDiscussionResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models/{id}/likes": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_list_likes",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiLikeResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models/{id}/tags": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_list_tags",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/models/{id}/versions": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_list_versions",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiModelVersionResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/providers": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_list_providers",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiProviderResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ai/providers/{id}": {
"get": {
"tags": [
"ai"
],
"operationId": "ai_get_provider",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AiProviderResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/auth/2fa": {
"get": {
"tags": [
"auth"
],
"operationId": "auth_status_2fa",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Get2FAStatusResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"auth"
],
"operationId": "auth_disable_2fa",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Disable2FAParams"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/2fa/backup-codes": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_regenerate_backup_codes",
"requestBody": {
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/2fa/enable": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_enable_2fa",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Enable2FAResponse"
}
}
}
}
}
}
},
"/api/v1/auth/2fa/verify": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_verify_2fa",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Verify2FAParams"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/captcha": {
"get": {
"tags": [
"auth"
],
"operationId": "auth_captcha",
"parameters": [
{
"name": "w",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
{
"name": "h",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
{
"name": "dark",
"in": "query",
"required": true,
"schema": {
"type": "boolean"
}
},
{
"name": "rsa",
"in": "query",
"required": true,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CaptchaResponse"
}
}
}
}
}
}
},
"/api/v1/auth/email": {
"get": {
"tags": [
"auth"
],
"operationId": "auth_get_email",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmailResponse"
}
}
}
}
}
},
"post": {
"tags": [
"auth"
],
"operationId": "auth_email_change_request",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmailChangeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/email/verify": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_email_verify",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmailVerifyRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/login": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_login",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginParams"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/logout": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_logout",
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/me": {
"get": {
"tags": [
"auth"
],
"operationId": "auth_me",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContextMe"
}
}
}
}
}
}
},
"/api/v1/auth/public-key": {
"get": {
"tags": [
"auth"
],
"operationId": "auth_rsa",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RsaResponse"
}
}
}
}
}
}
},
"/api/v1/auth/register": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_register",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterParams"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/reset-password/request": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_reset_password_request",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResetPasswordRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/auth/reset-password/verify": {
"post": {
"tags": [
"auth"
],
"operationId": "auth_reset_password_verify",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResetPasswordVerifyParams"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/search": {
"get": {
"tags": [
"search"
],
"operationId": "search",
"parameters": [
{
"name": "q",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/user/access-tokens": {
"get": {
"tags": [
"user"
],
"operationId": "user_list_access_tokens",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserAccessToken"
}
}
}
}
}
}
},
"post": {
"tags": [
"user"
],
"operationId": "user_create_access_token",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserAccessToken"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatedUserAccessToken"
}
}
}
}
}
}
},
"/api/v1/user/access-tokens/{id}": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_access_token",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Access token ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserAccessToken"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserAccessToken"
}
}
}
}
}
},
"delete": {
"tags": [
"user"
],
"operationId": "user_revoke_access_token",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Access token ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/user/avatar": {
"post": {
"tags": [
"user"
],
"operationId": "user_upload_avatar",
"requestBody": {
"content": {
"image/*": {
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AvatarUploadResponse"
}
}
}
},
"400": {
"description": "Invalid file type or size"
}
}
}
},
"/api/v1/user/config": {
"get": {
"tags": [
"user"
],
"operationId": "user_config",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserConfigResponse"
}
}
}
}
}
}
},
"/api/v1/user/config/accessibility": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_accessibility",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserAccessibilityConfig"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserAccessibilityConfig"
}
}
}
}
}
}
},
"/api/v1/user/config/appearance": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_appearance",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserAppearanceConfig"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserAppearanceConfig"
}
}
}
}
}
}
},
"/api/v1/user/config/notification": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_notification",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserNotificationConfig"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserNotificationConfig"
}
}
}
}
}
}
},
"/api/v1/user/config/privacy": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_privacy",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserPrivacyConfig"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPrivacyConfig"
}
}
}
}
}
}
},
"/api/v1/user/config/profile": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_profile",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserProfileConfig"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserProfileConfig"
}
}
}
}
}
}
},
"/api/v1/user/contribution-heatmap": {
"get": {
"tags": [
"user"
],
"operationId": "user_contribution_heatmap",
"parameters": [
{
"name": "start_date",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "end_date",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContributionHeatmapResponse"
}
}
}
}
}
}
},
"/api/v1/user/contribution-heatmap/cache": {
"delete": {
"tags": [
"user"
],
"operationId": "user_invalidate_chpc_cache",
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/user/ssh-keys": {
"get": {
"tags": [
"user"
],
"operationId": "user_list_ssh_keys",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserSshKey"
}
}
}
}
}
}
},
"post": {
"tags": [
"user"
],
"operationId": "user_add_ssh_key",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserSshKey"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserSshKey"
}
}
}
}
}
}
},
"/api/v1/user/ssh-keys/{id}": {
"put": {
"tags": [
"user"
],
"operationId": "user_update_ssh_key",
"parameters": [
{
"name": "id",
"in": "path",
"description": "SSH key ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserSshKey"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserSshKey"
}
}
}
}
}
},
"delete": {
"tags": [
"user"
],
"operationId": "user_revoke_ssh_key",
"parameters": [
{
"name": "id",
"in": "path",
"description": "SSH key ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": ""
}
}
}
},
"/api/v1/users/avatar/{username}": {
"get": {
"tags": [
"users"
],
"operationId": "users_user_avatar",
"parameters": [
{
"name": "username",
"in": "path",
"description": "Username",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"302": {
"description": "Redirect to avatar image URL"
},
"404": {
"description": "User or avatar not found"
}
}
}
},
"/api/v1/users/blocked": {
"get": {
"tags": [
"users"
],
"operationId": "users_blocked_list",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserRelationCard"
}
}
}
}
}
}
}
},
"/api/v1/users/{username}/block": {
"post": {
"tags": [
"users"
],
"operationId": "users_block_user",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserRelationStatus"
}
}
}
}
}
}
},
"/api/v1/users/{username}/contribution-heatmap": {
"get": {
"tags": [
"users"
],
"operationId": "users_user_chpc",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "start_date",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "end_date",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContributionHeatmapResponse"
}
}
}
}
}
}
},
"/api/v1/users/{username}/follow": {
"post": {
"tags": [
"users"
],
"operationId": "users_follow_user",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserRelationStatus"
}
}
}
}
}
}
},
"/api/v1/users/{username}/followers": {
"get": {
"tags": [
"users"
],
"operationId": "users_followers",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserRelationCard"
}
}
}
}
}
}
}
},
"/api/v1/users/{username}/following": {
"get": {
"tags": [
"users"
],
"operationId": "users_following",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserRelationCard"
}
}
}
}
}
}
}
},
"/api/v1/users/{username}/public": {
"get": {
"tags": [
"users"
],
"operationId": "users_user_public",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublicUserResponse"
}
}
}
}
}
}
},
"/api/v1/users/{username}/relation": {
"get": {
"tags": [
"users"
],
"operationId": "users_relation_status",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserRelationStatus"
}
}
}
}
}
}
},
"/api/v1/users/{username}/relation-counts": {
"get": {
"tags": [
"users"
],
"operationId": "users_relation_counts",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserRelationCounts"
}
}
}
}
}
}
},
"/api/v1/users/{username}/summary": {
"get": {
"tags": [
"users"
],
"operationId": "users_user_summary",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserSummaryResponse"
}
}
}
}
}
}
},
"/api/v1/users/{username}/unblock": {
"post": {
"tags": [
"users"
],
"operationId": "users_unblock_user",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserRelationStatus"
}
}
}
}
}
}
},
"/api/v1/users/{username}/unfollow": {
"post": {
"tags": [
"users"
],
"operationId": "users_unfollow_user",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserRelationStatus"
}
}
}
}
}
}
},
"/api/v1/workspace": {
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_create_workspace",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateWorkspace"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"409": {
"description": "Workspace name already exists"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/join/my-applies": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_my_join_applies",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkspaceJoinApplyResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/my": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_my_workspaces",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkspaceResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_get_workspace",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Workspace not found"
}
},
"security": [
{
"session": []
}
]
},
"put": {
"tags": [
"workspace"
],
"operationId": "workspace_update_workspace",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateWorkspace"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Workspace not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/avatar": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_get_avatar",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"302": {
"description": "Redirect to avatar image URL"
},
"404": {
"description": "Workspace or avatar not found"
}
}
},
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_upload_avatar",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"image/*": {
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AvatarUploadResponse"
}
}
}
},
"400": {
"description": "Invalid file type or size"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/groups": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_list_groups",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkspaceGroupResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Workspace not found"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_create_group",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateWorkspaceGroup"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceGroupResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/groups/{group_name}": {
"put": {
"tags": [
"workspace"
],
"operationId": "workspace_update_group",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "group_name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateWorkspaceGroup"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceGroupResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Group not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"workspace"
],
"operationId": "workspace_delete_group",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "group_name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Group deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Group not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/groups/{group_name}/members": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_list_group_members",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "group_name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkspaceMemberResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Group not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/groups/{group_name}/members/{username}": {
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_add_group_member",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "group_name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Member added to group"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"workspace"
],
"operationId": "workspace_remove_group_member",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "group_name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Member removed from group"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues": {
"get": {
"tags": [
"issues"
],
"operationId": "issues_list_issues",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "state",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "label",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "milestone",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "assignee",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "priority",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"issues"
],
"operationId": "issues_create_issue",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateIssue"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Workspace not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}": {
"get": {
"tags": [
"issues"
],
"operationId": "issues_get_issue",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
},
"put": {
"tags": [
"issues"
],
"operationId": "issues_update_issue",
"parameters": [
{
"name": "wk",
"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/UpdateIssue"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_delete_issue",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "Issue deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/assignees": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_assign_user",
"parameters": [
{
"name": "wk",
"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/AssignIssueUser"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_unassign_user",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/close": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_close_issue",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/comments": {
"get": {
"tags": [
"issues"
],
"operationId": "issues_list_comments",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueCommentResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"issues"
],
"operationId": "issues_create_comment",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateComment"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueCommentResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/comments/{comment_id}": {
"put": {
"tags": [
"issues"
],
"operationId": "issues_update_comment",
"parameters": [
{
"name": "wk",
"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": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateComment"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueCommentResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Comment not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_delete_comment",
"parameters": [
{
"name": "wk",
"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": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Comment deleted"
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Comment not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/comments/{comment_id}/reactions": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_add_comment_reaction",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "comment_id",
"in": "path",
"description": "Comment ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddReaction"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueReactionResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Comment not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_remove_comment_reaction",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "comment_id",
"in": "path",
"description": "Comment ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueReactionResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/events": {
"get": {
"tags": [
"issues"
],
"operationId": "issues_list_events",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueEventResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/labels": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_add_issue_label",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddIssueLabel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or label not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_remove_issue_label",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or label not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/milestone": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_set_issue_milestone",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetIssueMilestone"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/MilestoneResponse"
}
]
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or milestone not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_clear_issue_milestone",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "Milestone cleared"
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/pull-requests": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_bind_pull_request",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BindIssuePullRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssuePullRequestResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or PR not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_unbind_pull_request",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssuePullRequestResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/reactions": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_add_reaction",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddReaction"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueReactionResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_remove_reaction",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueReactionResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/reopen": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_reopen_issue",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssueResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/issues/{number}/repos": {
"post": {
"tags": [
"issues"
],
"operationId": "issues_bind_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BindIssueRepo"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueRepoResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or repo not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_unbind_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "number",
"in": "path",
"description": "Issue number",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueRepoResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Issue or repo not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/join-strategy": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_join_strategy",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceJoinStrategyResponse"
}
}
}
},
"404": {
"description": "Workspace not found"
}
}
},
"put": {
"tags": [
"workspace"
],
"operationId": "workspace_update_join_strategy",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateWorkspaceJoinStrategy"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceJoinStrategyResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Workspace not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/join/applies": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_list_join_applies",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkspaceJoinApplyResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/join/applies/{username}/approve": {
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_approve_join",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApproveWorkspaceJoinApply"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceJoinApprovalResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Application not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/join/apply": {
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_apply_join",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateWorkspaceJoinApply"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceJoinApplyResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"409": {
"description": "Already a member or pending application"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/join/cancel": {
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_cancel_join",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceJoinApplyResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Application not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/labels": {
"get": {
"tags": [
"issues"
],
"operationId": "issues_list_labels",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"issues"
],
"operationId": "issues_create_label",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateLabel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/labels/{label_id}": {
"put": {
"tags": [
"issues"
],
"operationId": "issues_update_label",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "label_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateLabel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Label not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_delete_label",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "label_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Label deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Label not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/members": {
"get": {
"tags": [
"workspace"
],
"operationId": "workspace_list_members",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkspaceMemberResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Workspace not found"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"workspace"
],
"operationId": "workspace_add_member",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddWorkspaceMember"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceMemberResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/members/{username}": {
"put": {
"tags": [
"workspace"
],
"operationId": "workspace_update_member",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateWorkspaceMember"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkspaceMemberResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"workspace"
],
"operationId": "workspace_remove_member",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Member removed"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/milestones": {
"get": {
"tags": [
"issues"
],
"operationId": "issues_list_milestones",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MilestoneResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"issues"
],
"operationId": "issues_create_milestone",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateMilestone"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MilestoneResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/milestones/{milestone_id}": {
"put": {
"tags": [
"issues"
],
"operationId": "issues_update_milestone",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "milestone_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMilestone"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MilestoneResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Milestone not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"issues"
],
"operationId": "issues_delete_milestone",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "milestone_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Milestone deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Milestone not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_repos",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "visibility",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "is_archived",
"in": "query",
"required": false,
"schema": {
"type": [
"boolean",
"null"
]
}
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RepoResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_create_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateRepo"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Repo created"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"409": {
"description": "Repo name exists"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/clone": {
"post": {
"tags": [
"git"
],
"operationId": "git_clone_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloneRepo"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Repo cloned"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"409": {
"description": "Repo name exists"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepoResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Repo not found"
}
},
"security": [
{
"session": []
}
]
},
"put": {
"tags": [
"git"
],
"operationId": "git_update_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateRepo"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepoResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Repo not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Repo deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied - owner only"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/archive": {
"post": {
"tags": [
"git"
],
"operationId": "git_archive_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepoResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/commits/{sha}/status": {
"get": {
"tags": [
"git"
],
"operationId": "git_combined_status",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sha",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CombinedCommitStatus"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/commits/{sha}/statuses": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_statuses",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sha",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommitStatusResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/compare/{basehead}": {
"get": {
"tags": [
"git"
],
"operationId": "git_compare",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "basehead",
"in": "path",
"description": "Comparison in format 'base...head'",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompareResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/contents/{path}": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_contents",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "ref",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"put": {
"tags": [
"git"
],
"operationId": "git_update_contents",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateContent"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_create_contents",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateContent"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_contents",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "message",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sha",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "branch",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": ""
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/forks": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_forks",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ForkResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_create_fork",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateFork"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ForkResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Cannot fork private repo"
},
"409": {
"description": "Fork already exists"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/archive": {
"get": {
"tags": [
"git"
],
"operationId": "git_archive",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "tree",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "prefix",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "pathspec",
"in": "query",
"required": false,
"schema": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "Archive download"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/blame": {
"get": {
"tags": [
"git"
],
"operationId": "git_blame_file",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "rev",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "start_line",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "end_line",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "Blame result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlameFileResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/blobs": {
"post": {
"tags": [
"git"
],
"operationId": "git_blob_upload",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlobUploadBody"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Upload result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlobUploadResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/blobs/{oid}": {
"get": {
"tags": [
"git"
],
"operationId": "git_blob_info",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "path",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "Blob info",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlobInfoResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/branches": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_branches",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "summary",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"name": "default_only",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Branch list or summary",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchListResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"description": "BranchForkParams { name, oid, force }",
"operationId": "git_fork_branch",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Branch created"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/branches/{name}": {
"get": {
"tags": [
"git"
],
"operationId": "git_branch_info",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Branch info",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchInfoResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_branch",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "force",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Branch deleted"
}
},
"security": [
{
"session": []
}
]
},
"patch": {
"tags": [
"git"
],
"operationId": "git_rename_branch",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RenameBranchBody"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Branch renamed"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/branches/{name}/ahead-behind": {
"get": {
"tags": [
"git"
],
"operationId": "git_ahead_behind",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "remote_branch",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Ahead/behind counts",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchAheadBehindResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/branches/{name}/upstream": {
"get": {
"tags": [
"git"
],
"operationId": "git_branch_upstream",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Upstream branch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchUpstreamResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/commits": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_commits",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "summary",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"name": "refs",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"name": "prefix",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "Commit list / summary / refs / prefix",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommitHistoryResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/commits/cherry-pick": {
"post": {
"tags": [
"git"
],
"description": "CommitCherryPickParams",
"operationId": "git_cherry_pick",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Cherry-pick result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CherryPickResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/commits/history": {
"get": {
"tags": [
"git"
],
"operationId": "git_commit_history",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
},
{
"name": "skip",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32"
}
},
{
"name": "branch",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "Commit history",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommitHistoryResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/commits/walk": {
"post": {
"tags": [
"git"
],
"description": "CommitWalkParams",
"operationId": "git_commit_walk",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Walk result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommitHistoryResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/commits/{oid}": {
"get": {
"tags": [
"git"
],
"operationId": "git_commit_info",
"parameters": [
{
"name": "wk",
"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": "Commit info",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommitInfoResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/commits/{oid}/tree": {
"get": {
"tags": [
"git"
],
"operationId": "git_tree_entry_by_path_from_commit",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "path",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tree entry",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TreeEntryByPathResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/contributors": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_contributors",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "Contributor list",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContributorDto"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/diff": {
"get": {
"tags": [
"git"
],
"operationId": "git_diff",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "old_oid",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "new_oid",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "old_tree",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "new_tree",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "tree_oid",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "mode",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "Diff result"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/diff/branches": {
"get": {
"tags": [
"git"
],
"operationId": "git_diff_branches",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "old_branch",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "new_branch",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Branch diff",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiffResultDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/languages": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_languages",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Language stats",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LanguageStatDto"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/readme": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_readme",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "README content",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/ReadmeDto"
}
]
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/refs": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_refs",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "ref",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitRefResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/star": {
"get": {
"tags": [
"git"
],
"operationId": "git_star_status",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Star status"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_star_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Star/unstar result"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_unstar_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Star/unstar result"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/tags": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_tags",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "summary",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Tag summary",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagSummaryResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"description": "TagInitParams { name, oid, message, tagger, force }",
"operationId": "git_init_tag",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Tag created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagInitResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/tags/{name}": {
"get": {
"tags": [
"git"
],
"operationId": "git_tag_info",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tag info",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagInfoResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_tag",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tag deleted"
}
},
"security": [
{
"session": []
}
]
},
"patch": {
"tags": [
"git"
],
"operationId": "git_update_tag",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Tag message updated"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/trees/{oid}": {
"get": {
"tags": [
"git"
],
"operationId": "git_tree_entries",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "path",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "last",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"name": "resolve",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Tree entries",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TreeEntriesResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/trees/{tree_oid}/entries": {
"get": {
"tags": [
"git"
],
"operationId": "git_tree_entry_by_path",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "tree_oid",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "path",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tree entry",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TreeEntryByPathResponseDto"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/git/watch": {
"get": {
"tags": [
"git"
],
"operationId": "git_watch_status",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Watch status"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"description": "WatchLevel {level: String}",
"operationId": "git_watch_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Watch result"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_unwatch_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Watch result"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/protect": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_protects",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProtectResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_create_protect",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateProtect"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProtectResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/protect/{protect_id}": {
"put": {
"tags": [
"git"
],
"operationId": "git_update_protect",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "protect_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateProtect"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProtectResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Rule not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_protect",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "protect_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Rule deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Rule not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests": {
"get": {
"tags": [
"pull_request"
],
"operationId": "pull_request_list_prs",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"description": "Repo name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "state",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "author",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "assignee",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "label",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PullRequestResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_create_pr",
"parameters": [
{
"name": "wk",
"in": "path",
"description": "Workspace name",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"description": "Repo name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatePullRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Repo not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}": {
"get": {
"tags": [
"pull_request"
],
"operationId": "pull_request_get_pr",
"parameters": [
{
"name": "wk",
"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": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"pull_request"
],
"operationId": "pull_request_delete_pr",
"parameters": [
{
"name": "wk",
"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": "PR deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
},
"patch": {
"tags": [
"pull_request"
],
"operationId": "pull_request_update_pr",
"parameters": [
{
"name": "wk",
"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/UpdatePullRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Only author can update"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/assignees": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_assign_user",
"parameters": [
{
"name": "wk",
"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/AssignPrUser"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"pull_request"
],
"operationId": "pull_request_unassign_user",
"parameters": [
{
"name": "wk",
"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": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/comments": {
"get": {
"tags": [
"pull_request"
],
"operationId": "pull_request_list_comments",
"parameters": [
{
"name": "wk",
"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": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PullRequestCommentResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_create_comment",
"parameters": [
{
"name": "wk",
"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/CreatePrComment"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestCommentResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/comments/{comment_id}": {
"put": {
"tags": [
"pull_request"
],
"operationId": "pull_request_update_comment",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "comment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePrComment"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestCommentResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Only author can update"
},
"404": {
"description": "Comment not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"pull_request"
],
"operationId": "pull_request_delete_comment",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "comment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Comment deleted"
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Comment not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/comments/{comment_id}/reactions": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_add_comment_reaction",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "comment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddPrReaction"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestReactionResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Comment not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"pull_request"
],
"operationId": "pull_request_remove_comment_reaction",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "comment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Reaction removed"
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/labels": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_add_label",
"parameters": [
{
"name": "wk",
"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/AddPrLabel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR or label not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"pull_request"
],
"operationId": "pull_request_remove_label",
"parameters": [
{
"name": "wk",
"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": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR or label not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/merge": {
"get": {
"tags": [
"pull_request"
],
"operationId": "pull_request_merge_analysis",
"parameters": [
{
"name": "wk",
"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": "Merge analysis result"
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_merge_pr",
"parameters": [
{
"name": "wk",
"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/MergePullRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/reactions": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_add_reaction",
"parameters": [
{
"name": "wk",
"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/AddPrReaction"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestReactionResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"pull_request"
],
"operationId": "pull_request_remove_reaction",
"parameters": [
{
"name": "wk",
"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": "Reaction removed"
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/review-comments": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_create_review_comment",
"parameters": [
{
"name": "wk",
"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/CreatePrReviewComment"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestReviewCommentResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/reviews": {
"get": {
"tags": [
"pull_request"
],
"operationId": "pull_request_list_reviews",
"parameters": [
{
"name": "wk",
"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": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PullRequestReviewResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_create_review",
"parameters": [
{
"name": "wk",
"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/CreatePrReview"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestReviewResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/reviews/{review_id}/dismiss": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_dismiss_review",
"parameters": [
{
"name": "wk",
"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"
}
},
{
"name": "review_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DismissPrReview"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Review dismissed"
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "Review not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/pull-requests/{number}/update-branch": {
"post": {
"tags": [
"pull_request"
],
"operationId": "pull_request_update_branch",
"parameters": [
{
"name": "wk",
"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": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PullRequestResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"404": {
"description": "PR not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/releases": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_releases",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_create_release",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateRelease"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/releases/tags/{tag}": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_release_by_tag",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_release_by_tag",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": ""
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/releases/{id}": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_release",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_release",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": ""
}
},
"security": [
{
"session": []
}
]
},
"patch": {
"tags": [
"git"
],
"operationId": "git_update_release",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateRelease"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/statuses/{sha}": {
"post": {
"tags": [
"git"
],
"operationId": "git_create_status",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "sha",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCommitStatus"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommitStatusResponse"
}
}
}
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/topics": {
"get": {
"tags": [
"git"
],
"operationId": "git_get_topics",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"put": {
"tags": [
"git"
],
"operationId": "git_update_topics",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/transfer": {
"post": {
"tags": [
"git"
],
"operationId": "git_transfer_repo",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TransferRepo"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepoResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied - owner only"
},
"409": {
"description": "Name conflict in target workspace"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/webhooks": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_webhooks",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
},
"post": {
"tags": [
"git"
],
"operationId": "git_create_webhook",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateWebhook"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/webhooks/{webhook_id}": {
"put": {
"tags": [
"git"
],
"operationId": "git_update_webhook",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "webhook_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateWebhook"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Webhook not found"
}
},
"security": [
{
"session": []
}
]
},
"delete": {
"tags": [
"git"
],
"operationId": "git_delete_webhook",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "webhook_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Webhook deleted"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Permission denied"
},
"404": {
"description": "Webhook not found"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/workspace/{wk}/repos/{repo}/webhooks/{webhook_id}/deliveries": {
"get": {
"tags": [
"git"
],
"operationId": "git_list_deliveries",
"parameters": [
{
"name": "wk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "webhook_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookDeliveryResponse"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"session": []
}
]
}
},
"/api/v1/ws/articles/{article_id}/comments": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_article_comment_list",
"parameters": [
{
"name": "before",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64"
}
},
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Comment list"
}
}
},
"post": {
"tags": [
"channel"
],
"operationId": "channel_article_comment_create",
"parameters": [
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArticleCommentCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Comment created"
}
}
}
},
"/api/v1/ws/articles/{article_id}/comments/{comment_id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_article_comment_delete",
"parameters": [
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "comment_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Comment deleted"
}
}
}
},
"/api/v1/ws/articles/{article_id}/like": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_article_like",
"parameters": [
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArticleLikeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Like toggled"
}
}
}
},
"/api/v1/ws/articles/{article_id}/likes": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_article_liked_users",
"parameters": [
{
"name": "before",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64"
}
},
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "List of users who liked"
}
}
}
},
"/api/v1/ws/categories/{category_id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_category_delete",
"parameters": [
{
"name": "category_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Category deleted"
}
}
},
"patch": {
"tags": [
"channel"
],
"operationId": "channel_category_update",
"parameters": [
{
"name": "category_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CategoryUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Category updated"
}
}
}
},
"/api/v1/ws/channels/{channel_id}/articles": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_article_list",
"parameters": [
{
"name": "before",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64"
}
},
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Article list (waterfall feed)"
}
}
},
"post": {
"tags": [
"channel"
],
"operationId": "channel_article_create",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArticleCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Article created"
}
}
}
},
"/api/v1/ws/channels/{channel_id}/articles/{article_id}": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_article_get",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Article detail"
}
}
},
"delete": {
"tags": [
"channel"
],
"operationId": "channel_article_delete",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Article deleted"
}
}
},
"patch": {
"tags": [
"channel"
],
"operationId": "channel_article_update",
"parameters": [
{
"name": "channel_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "article_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArticleUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Article updated"
}
}
}
},
"/api/v1/ws/csrf": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_csrf_token",
"responses": {
"200": {
"description": "CSRF token"
}
}
}
},
"/api/v1/ws/custom-status": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_custom_status_update",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomStatusRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Custom status updated"
}
}
}
},
"/api/v1/ws/invites": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_invite_create",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InviteCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Invite created"
}
}
}
},
"/api/v1/ws/invites/accept": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_invite_accept",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InviteAcceptRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Invite accepted"
}
}
}
},
"/api/v1/ws/invites/{id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_invite_revoke",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Invite revoked"
}
}
}
},
"/api/v1/ws/messages/{message_id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_revoke_message",
"parameters": [
{
"name": "message_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Message revoked"
}
}
},
"patch": {
"tags": [
"channel"
],
"operationId": "channel_update_message",
"parameters": [
{
"name": "message_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMessageRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Message updated"
}
}
}
},
"/api/v1/ws/notifications/read-all": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_notification_mark_all_read",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotificationMarkAllReadRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "All notifications marked read"
}
}
}
},
"/api/v1/ws/notifications/{id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_notification_archive",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Notification archived"
}
}
}
},
"/api/v1/ws/notifications/{id}/read": {
"patch": {
"tags": [
"channel"
],
"operationId": "channel_notification_mark_read",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Notification marked read"
}
}
}
},
"/api/v1/ws/ping": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_ping",
"responses": {
"200": {
"description": "Pong with protocol version"
}
}
}
},
"/api/v1/ws/presence": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_presence_update",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PresenceUpdateRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Presence updated"
}
}
}
},
"/api/v1/ws/rooms": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_list_rooms",
"responses": {
"200": {
"description": "List of rooms"
}
}
},
"post": {
"tags": [
"channel"
],
"operationId": "channel_room_create",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoomCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Room created"
}
}
}
},
"/api/v1/ws/rooms/{room_id}": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_room_get",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Room info"
}
}
},
"delete": {
"tags": [
"channel"
],
"operationId": "channel_room_delete",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Room deleted"
}
}
},
"patch": {
"tags": [
"channel"
],
"operationId": "channel_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": "Room updated"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/dnd": {
"patch": {
"tags": [
"channel"
],
"operationId": "channel_dnd_update",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DndRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "DND updated"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/drafts": {
"put": {
"tags": [
"channel"
],
"operationId": "channel_draft_save",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DraftSaveRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Draft saved"
}
}
},
"delete": {
"tags": [
"channel"
],
"operationId": "channel_draft_clear",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Draft cleared"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/members": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_access_grant",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccessRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Access granted"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/members/{user_id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_access_revoke",
"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": {
"204": {
"description": "Access revoked"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/messages": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_list_messages",
"parameters": [
{
"name": "before_seq",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64"
}
},
{
"name": "after_seq",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
},
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Message list"
}
}
},
"post": {
"tags": [
"channel"
],
"operationId": "channel_create_message",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateMessageRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Message created"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/messages/around": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_messages_around",
"parameters": [
{
"name": "seq",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
},
{
"name": "thread",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Messages around seq"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/messages/missed": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_missed_messages",
"parameters": [
{
"name": "after_seq",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64"
}
},
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Missed messages"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/pins": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_pin_add",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PinRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Message pinned"
}
}
},
"delete": {
"tags": [
"channel"
],
"operationId": "channel_pin_remove",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PinRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Pin removed"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/reactions": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_reaction_add",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReactionRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Reaction added"
}
}
},
"delete": {
"tags": [
"channel"
],
"operationId": "channel_reaction_remove",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReactionRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Reaction removed"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/read-receipt": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_read_receipt",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReadReceiptRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Read receipt saved"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/screen-share": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_screen_share",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreenShareRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Screen share toggled"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/subscribe": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_subscribe",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Subscribed, user room cache refreshed"
}
}
},
"delete": {
"tags": [
"channel"
],
"operationId": "channel_unsubscribe",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Unsubscribed"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/threads": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_thread_create",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Thread created"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/typing": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_typing",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TypingRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Typing indicator broadcasted"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/voice/deaf": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_voice_deaf",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VoiceDeafRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Deaf toggled"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/voice/join": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_voice_join",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Joined voice channel"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/voice/leave": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_voice_leave",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "Left voice channel"
}
}
}
},
"/api/v1/ws/rooms/{room_id}/voice/mute": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_voice_mute",
"parameters": [
{
"name": "room_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VoiceMuteRequest"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Mute toggled"
}
}
}
},
"/api/v1/ws/search": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_search",
"parameters": [
{
"name": "q",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "room",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "Search results"
}
}
}
},
"/api/v1/ws/threads/{thread_id}/archive": {
"patch": {
"tags": [
"channel"
],
"operationId": "channel_thread_archive",
"parameters": [
{
"name": "thread_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Thread archived"
}
}
}
},
"/api/v1/ws/threads/{thread_id}/resolve": {
"patch": {
"tags": [
"channel"
],
"operationId": "channel_thread_resolve",
"parameters": [
{
"name": "thread_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Thread resolved"
}
}
}
},
"/api/v1/ws/token": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_generate_token",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TokenRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TokenResponse"
}
}
}
}
}
}
},
"/api/v1/ws/users/summary/{username}": {
"get": {
"tags": [
"channel"
],
"operationId": "channel_user_summary",
"parameters": [
{
"name": "username",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "User summary"
}
}
}
},
"/api/v1/ws/workspaces/{workspace_id}/bans": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_ban_create",
"parameters": [
{
"name": "workspace_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BanCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "User banned"
}
}
}
},
"/api/v1/ws/workspaces/{workspace_id}/bans/{user_id}": {
"delete": {
"tags": [
"channel"
],
"operationId": "channel_ban_remove",
"parameters": [
{
"name": "workspace_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"204": {
"description": "User unbanned"
}
}
}
},
"/api/v1/ws/workspaces/{workspace_id}/categories": {
"post": {
"tags": [
"channel"
],
"operationId": "channel_category_create",
"parameters": [
{
"name": "workspace_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CategoryCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Category created"
}
}
}
}
},
"components": {
"schemas": {
"AccessRequest": {
"type": "object",
"required": [
"user"
],
"properties": {
"user": {
"type": "string",
"format": "uuid"
}
}
},
"AddIssueLabel": {
"type": "object",
"required": [
"label_id"
],
"properties": {
"label_id": {
"type": "string",
"format": "uuid"
}
}
},
"AddPrLabel": {
"type": "object",
"required": [
"label_id"
],
"properties": {
"label_id": {
"type": "string",
"format": "uuid"
}
}
},
"AddPrReaction": {
"type": "object",
"required": [
"reaction"
],
"properties": {
"reaction": {
"type": "string"
}
}
},
"AddReaction": {
"type": "object",
"required": [
"reaction"
],
"properties": {
"reaction": {
"type": "string"
}
}
},
"AddWorkspaceMember": {
"type": "object",
"required": [
"username"
],
"properties": {
"admin": {
"type": [
"boolean",
"null"
]
},
"username": {
"type": "string"
}
}
},
"AgentCostInfo": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string"
},
"currency": {
"type": "string"
}
}
},
"AgentRunRequest": {
"type": "object",
"required": [
"session_id",
"input"
],
"properties": {
"conversation_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"input": {
"type": "string"
},
"max_steps": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"session_id": {
"type": "string",
"format": "uuid"
},
"stream": {
"type": "boolean"
},
"timeout_secs": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
}
}
},
"AgentRunResponse": {
"type": "object",
"required": [
"message_id",
"conversation_id",
"output",
"steps",
"usage"
],
"properties": {
"conversation_id": {
"type": "string",
"format": "uuid"
},
"cost": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/AgentCostInfo"
}
]
},
"message_id": {
"type": "string",
"format": "uuid"
},
"output": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AgentStepInfo"
}
},
"usage": {
"$ref": "#/components/schemas/AgentUsageInfo"
}
}
},
"AgentSessionResponse": {
"type": "object",
"required": [
"id",
"name",
"agent_kind",
"visibility",
"version",
"enabled",
"created_at",
"updated_at"
],
"properties": {
"agent_kind": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": [
"string",
"null"
]
},
"enabled": {
"type": "boolean"
},
"id": {
"type": "string",
"format": "uuid"
},
"iteration_budget": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"max_output_tokens": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"memory_provider": {
"type": [
"string",
"null"
]
},
"model_version": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": "string"
},
"parent_session_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"published_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"source": {
"type": [
"string",
"null"
]
},
"system_prompt": {
"type": [
"string",
"null"
]
},
"temperature": {
"type": [
"number",
"null"
],
"format": "float"
},
"tool_policy": {
"type": [
"string",
"null"
]
},
"toolset_json": {
"type": [
"string",
"null"
]
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"user": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"variables": {
"type": [
"string",
"null"
]
},
"version": {
"type": "integer",
"format": "int32"
},
"visibility": {
"type": "string"
},
"wk": {
"type": [
"string",
"null"
],
"format": "uuid"
}
}
},
"AgentStepInfo": {
"type": "object",
"required": [
"index",
"tool_calls"
],
"properties": {
"assistant": {
"type": [
"string",
"null"
]
},
"index": {
"type": "integer",
"minimum": 0
},
"reflection": {
"type": [
"string",
"null"
]
},
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AgentToolCallInfo"
}
}
}
},
"AgentToolCallInfo": {
"type": "object",
"required": [
"id",
"name",
"arguments"
],
"properties": {
"arguments": {},
"elapsed_ms": {
"type": [
"integer",
"null"
],
"format": "int64"
},
"error": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"output": {}
}
},
"AgentUsageInfo": {
"type": "object",
"required": [
"input_tokens",
"output_tokens",
"total_tokens"
],
"properties": {
"input_tokens": {
"type": "integer",
"format": "int64"
},
"output_tokens": {
"type": "integer",
"format": "int64"
},
"total_tokens": {
"type": "integer",
"format": "int64"
}
}
},
"AiDiscussionResponse": {
"type": "object",
"required": [
"id",
"author",
"body",
"created_at",
"updated_at"
],
"properties": {
"author": {
"$ref": "#/components/schemas/IssueAuthor"
},
"body": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"parent": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"updated_at": {
"type": "string"
}
}
},
"AiLikeResponse": {
"type": "object",
"required": [
"user",
"created_at"
],
"properties": {
"created_at": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
},
"AiModelCardResponse": {
"type": "object",
"properties": {
"eval_summary": {
"type": [
"string",
"null"
]
},
"limitations": {
"type": [
"string",
"null"
]
},
"metadata": {
"type": [
"string",
"null"
]
},
"overview": {
"type": [
"string",
"null"
]
},
"safety_notes": {
"type": [
"string",
"null"
]
},
"strengths": {
"type": [
"string",
"null"
]
}
}
},
"AiModelListItem": {
"type": "object",
"required": [
"id",
"name",
"display_name",
"modality",
"provider_name",
"enabled",
"created_at",
"updated_at"
],
"properties": {
"context_window": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"created_at": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"id": {
"type": "string"
},
"input_token_limit": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"modality": {
"type": "string"
},
"name": {
"type": "string"
},
"output_token_limit": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"provider_logo_url": {
"type": [
"string",
"null"
]
},
"provider_name": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"AiModelResponse": {
"type": "object",
"required": [
"id",
"name",
"display_name",
"modality",
"enabled",
"public",
"provider_name",
"versions",
"tags",
"like_count",
"created_at",
"updated_at"
],
"properties": {
"card": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/AiModelCardResponse"
}
]
},
"context_window": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"created_at": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"id": {
"type": "string"
},
"input_token_limit": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"like_count": {
"type": "integer",
"format": "int64"
},
"modality": {
"type": "string"
},
"name": {
"type": "string"
},
"output_token_limit": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"provider_logo_url": {
"type": [
"string",
"null"
]
},
"provider_name": {
"type": "string"
},
"public": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"updated_at": {
"type": "string"
},
"versions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AiModelVersionResponse"
}
}
}
},
"AiModelVersionResponse": {
"type": "object",
"required": [
"id",
"version",
"provider_model_name",
"enabled"
],
"properties": {
"cached_input_price_per_million": {
"type": [
"string",
"null"
]
},
"deprecated_at": {
"type": [
"string",
"null"
]
},
"enabled": {
"type": "boolean"
},
"id": {
"type": "string"
},
"input_price_per_million": {
"type": [
"string",
"null"
]
},
"output_price_per_million": {
"type": [
"string",
"null"
]
},
"provider_model_name": {
"type": "string"
},
"released_at": {
"type": [
"string",
"null"
]
},
"training_cutoff": {
"type": [
"string",
"null"
]
},
"version": {
"type": "string"
}
}
},
"AiProviderResponse": {
"type": "object",
"required": [
"id",
"name",
"enabled",
"created_at",
"updated_at"
],
"properties": {
"base_url": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"id": {
"type": "string"
},
"logo_url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"website_url": {
"type": [
"string",
"null"
]
}
}
},
"ApproveWorkspaceJoinApply": {
"type": "object",
"required": [
"approved"
],
"properties": {
"approved": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
}
},
"ArticleCommentCreateRequest": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string"
},
"parent": {
"type": [
"string",
"null"
],
"format": "uuid"
}
}
},
"ArticleCreateRequest": {
"type": "object",
"required": [
"title",
"content"
],
"properties": {
"content": {
"type": "string"
},
"content_type": {
"type": [
"string",
"null"
]
},
"cover_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"tags": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"title": {
"type": "string"
}
}
},
"ArticleLikeRequest": {
"type": "object",
"required": [
"like"
],
"properties": {
"like": {
"type": "boolean"
}
}
},
"ArticleUpdateRequest": {
"type": "object",
"properties": {
"content": {
"type": [
"string",
"null"
]
},
"content_type": {
"type": [
"string",
"null"
]
},
"cover_url": {
"type": [
"string",
"null"
]
},
"is_pinned": {
"type": [
"boolean",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"tags": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"title": {
"type": [
"string",
"null"
]
}
}
},
"AssignIssueUser": {
"type": "object",
"required": [
"username"
],
"properties": {
"username": {
"type": "string"
}
}
},
"AssignPrUser": {
"type": "object",
"required": [
"username"
],
"properties": {
"username": {
"type": "string"
}
}
},
"AvatarUploadResponse": {
"type": "object",
"required": [
"avatar_url"
],
"properties": {
"avatar_url": {
"type": "string"
}
}
},
"BanCreateRequest": {
"type": "object",
"required": [
"user"
],
"properties": {
"expires_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"reason": {
"type": [
"string",
"null"
]
},
"user": {
"type": "string",
"format": "uuid"
}
}
},
"BindIssuePullRequest": {
"type": "object",
"required": [
"pull_request_id"
],
"properties": {
"pull_request_id": {
"type": "string",
"format": "uuid"
}
}
},
"BindIssueRepo": {
"type": "object",
"required": [
"repo_id"
],
"properties": {
"repo_id": {
"type": "string",
"format": "uuid"
}
}
},
"BlameFileResponseDto": {
"type": "object",
"required": [
"hunks"
],
"properties": {
"hunks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommitBlameHunkDto"
}
}
}
},
"BlobInfoResponse": {
"allOf": [
{
"$ref": "#/components/schemas/BlobLoadResponseDto"
},
{
"type": "object",
"required": [
"size",
"is_binary"
],
"properties": {
"is_binary": {
"type": "boolean"
},
"size": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
}
]
},
"BlobLoadResponseDto": {
"type": "object",
"required": [
"blob"
],
"properties": {
"blob": {
"type": "string"
}
}
},
"BlobUploadBody": {
"type": "object",
"required": [
"path",
"blob"
],
"properties": {
"blob": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"path": {
"type": "string"
}
}
},
"BlobUploadResponseDto": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
]
}
}
},
"BranchAheadBehindResponseDto": {
"type": "object",
"required": [
"ahead",
"behind"
],
"properties": {
"ahead": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"behind": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"BranchInfoResponseDto": {
"type": "object",
"properties": {
"branch": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/BranchListItemDto"
}
]
}
}
},
"BranchListItemDto": {
"type": "object",
"required": [
"name",
"oid",
"is_head",
"is_remote",
"is_current"
],
"properties": {
"is_current": {
"type": "boolean"
},
"is_head": {
"type": "boolean"
},
"is_remote": {
"type": "boolean"
},
"name": {
"type": "string"
},
"oid": {
"type": "string"
},
"upstream": {
"type": [
"string",
"null"
]
}
}
},
"BranchListResponseDto": {
"type": "object",
"required": [
"branches"
],
"properties": {
"branches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BranchListItemDto"
}
}
}
},
"BranchUpstreamResponseDto": {
"type": "object",
"required": [
"upstream_name"
],
"properties": {
"upstream_name": {
"type": "string"
}
}
},
"CaptchaQuery": {
"type": "object",
"required": [
"w",
"h",
"dark",
"rsa"
],
"properties": {
"dark": {
"type": "boolean"
},
"h": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"rsa": {
"type": "boolean"
},
"w": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"CaptchaResponse": {
"type": "object",
"required": [
"base64",
"req"
],
"properties": {
"base64": {
"type": "string"
},
"req": {
"$ref": "#/components/schemas/CaptchaQuery"
},
"rsa": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/RsaResponse"
}
]
}
}
},
"CategoryCreateRequest": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"position": {
"type": [
"integer",
"null"
],
"format": "int32"
}
}
},
"CategoryUpdateRequest": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"position": {
"type": [
"integer",
"null"
],
"format": "int32"
}
}
},
"CherryPickResponseDto": {
"type": "object",
"properties": {
"oid": {
"type": [
"string",
"null"
]
}
}
},
"CloneRepo": {
"type": "object",
"required": [
"name",
"source_url"
],
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"source_url": {
"type": "string"
},
"visibility": {
"type": [
"string",
"null"
]
}
}
},
"CombinedCommitStatus": {
"type": "object",
"required": [
"sha",
"state",
"total_count",
"statuses"
],
"properties": {
"sha": {
"type": "string"
},
"state": {
"type": "string"
},
"statuses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommitStatusResponse"
}
},
"total_count": {
"type": "integer",
"format": "int64"
}
}
},
"CommitBlameHunkDto": {
"type": "object",
"required": [
"final_start_line",
"final_lines",
"orig_start_line",
"orig_lines",
"boundary"
],
"properties": {
"boundary": {
"type": "boolean"
},
"commit_oid": {
"type": [
"string",
"null"
]
},
"final_lines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"final_start_line": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"orig_lines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"orig_path": {
"type": [
"string",
"null"
]
},
"orig_start_line": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"CommitHistoryResponseDto": {
"type": "object",
"required": [
"commits"
],
"properties": {
"commits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommitMetaDto"
}
}
}
},
"CommitInfoResponseDto": {
"type": "object",
"properties": {
"commit": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/CommitMetaDto"
}
]
}
}
},
"CommitMetaDto": {
"type": "object",
"required": [
"oid",
"message",
"summary",
"parent_ids"
],
"properties": {
"author": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/CommitSignatureDto"
}
]
},
"committer": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/CommitSignatureDto"
}
]
},
"encoding": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"oid": {
"type": "string"
},
"parent_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"tree_id": {
"type": [
"string",
"null"
]
}
}
},
"CommitSignatureDto": {
"type": "object",
"required": [
"name",
"email",
"time_secs",
"offset_minutes"
],
"properties": {
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"offset_minutes": {
"type": "integer",
"format": "int32"
},
"time_secs": {
"type": "integer",
"format": "int64"
}
}
},
"CommitStatusResponse": {
"type": "object",
"required": [
"id",
"commit_sha",
"state",
"context",
"creator",
"created_at"
],
"properties": {
"commit_sha": {
"type": "string"
},
"context": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"creator": {
"type": "string",
"format": "uuid"
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string"
},
"target_url": {
"type": [
"string",
"null"
]
}
}
},
"CompareCommit": {
"type": "object",
"required": [
"sha",
"message"
],
"properties": {
"author_email": {
"type": [
"string",
"null"
]
},
"author_name": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"sha": {
"type": "string"
}
}
},
"CompareResponse": {
"type": "object",
"required": [
"base_commit",
"head_commit",
"ahead_by",
"behind_by",
"total_commits",
"commits",
"files_changed",
"insertions",
"deletions"
],
"properties": {
"ahead_by": {
"type": "integer",
"format": "int32"
},
"base_commit": {
"$ref": "#/components/schemas/CompareCommit"
},
"behind_by": {
"type": "integer",
"format": "int32"
},
"commits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompareCommit"
}
},
"deletions": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"files_changed": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"head_commit": {
"$ref": "#/components/schemas/CompareCommit"
},
"insertions": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total_commits": {
"type": "integer",
"format": "int32"
}
}
},
"ContentResponse": {
"type": "object",
"required": [
"path",
"name",
"type",
"size"
],
"properties": {
"content": {
"type": [
"string",
"null"
]
},
"encoding": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "string"
}
}
},
"ContextMe": {
"type": "object",
"required": [
"id",
"username",
"has_unread_notifications",
"language",
"timezone"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"has_unread_notifications": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"id": {
"type": "string",
"format": "uuid"
},
"language": {
"type": "string"
},
"timezone": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"ContributionHeatmapItem": {
"type": "object",
"required": [
"date",
"count"
],
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"date": {
"type": "string"
}
}
},
"ContributionHeatmapResponse": {
"type": "object",
"required": [
"username",
"total_contributions",
"heatmap",
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string"
},
"heatmap": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContributionHeatmapItem"
}
},
"start_date": {
"type": "string"
},
"total_contributions": {
"type": "integer",
"format": "int64"
},
"username": {
"type": "string"
}
}
},
"ContributorDto": {
"type": "object",
"required": [
"name",
"email",
"commit_count"
],
"properties": {
"commit_count": {
"type": "integer",
"format": "int64"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"user_id": {
"type": [
"string",
"null"
]
}
}
},
"ConversationResponse": {
"type": "object",
"required": [
"id",
"session_id",
"title",
"created_by",
"created_at",
"updated_at"
],
"properties": {
"archived_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "string",
"format": "uuid"
},
"last_message_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"session_id": {
"type": "string",
"format": "uuid"
},
"title": {
"type": "string"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
},
"ConversationWithSessionResponse": {
"type": "object",
"required": [
"id",
"session_id",
"title",
"created_by",
"created_at",
"updated_at"
],
"properties": {
"archived_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "string",
"format": "uuid"
},
"last_message_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"session_id": {
"type": "string",
"format": "uuid"
},
"session_name": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
},
"CreateAgentSession": {
"type": "object",
"required": [
"name",
"agent_kind",
"model_version"
],
"properties": {
"agent_kind": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"iteration_budget": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"knowledge_base_ids": {
"type": [
"array",
"null"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"max_output_tokens": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"memory_provider": {
"type": [
"string",
"null"
]
},
"memory_provider_config": {
"type": [
"string",
"null"
]
},
"model_version": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"source": {
"type": [
"string",
"null"
]
},
"system_prompt": {
"type": [
"string",
"null"
]
},
"temperature": {
"type": [
"number",
"null"
],
"format": "float"
},
"tool_policy": {
"type": [
"string",
"null"
]
},
"toolset_json": {
"type": [
"string",
"null"
]
},
"variables": {
"type": [
"string",
"null"
]
},
"visibility": {
"type": [
"string",
"null"
]
},
"wk": {
"type": [
"string",
"null"
]
}
}
},
"CreateComment": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string"
}
}
},
"CreateCommitStatus": {
"type": "object",
"required": [
"state"
],
"properties": {
"context": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
},
"target_url": {
"type": [
"string",
"null"
]
}
}
},
"CreateContent": {
"type": "object",
"required": [
"message",
"content"
],
"properties": {
"branch": {
"type": [
"string",
"null"
]
},
"content": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"CreateConversation": {
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string"
}
}
},
"CreateFork": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"visibility": {
"type": [
"string",
"null"
]
}
}
},
"CreateIssue": {
"type": "object",
"required": [
"title"
],
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"due_at": {
"type": [
"string",
"null"
]
},
"priority": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
}
}
},
"CreateLabel": {
"type": "object",
"required": [
"name",
"color"
],
"properties": {
"color": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
}
},
"CreateMessageRequest": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string"
},
"content_type": {
"type": [
"string",
"null"
]
},
"in_reply_to": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"thread": {
"type": [
"string",
"null"
],
"format": "uuid"
}
}
},
"CreateMilestone": {
"type": "object",
"required": [
"title"
],
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"due_at": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
}
}
},
"CreatePrComment": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string"
}
}
},
"CreatePrReview": {
"type": "object",
"required": [
"state"
],
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"commit_sha": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
}
}
},
"CreatePrReviewComment": {
"type": "object",
"required": [
"body",
"path"
],
"properties": {
"body": {
"type": "string"
},
"commit_sha": {
"type": [
"string",
"null"
]
},
"line": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"path": {
"type": "string"
},
"side": {
"type": [
"string",
"null"
]
}
}
},
"CreateProtect": {
"type": "object",
"required": [
"pattern"
],
"properties": {
"allow_deletions": {
"type": [
"boolean",
"null"
]
},
"allow_force_pushes": {
"type": [
"boolean",
"null"
]
},
"enforce_admins": {
"type": [
"boolean",
"null"
]
},
"pattern": {
"type": "string"
},
"require_pull_request": {
"type": [
"boolean",
"null"
]
},
"require_status_checks": {
"type": [
"boolean",
"null"
]
},
"required_approvals": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"required_status_contexts": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
},
"CreatePullRequest": {
"type": "object",
"required": [
"title",
"source_branch"
],
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"draft": {
"type": [
"boolean",
"null"
]
},
"source_branch": {
"type": "string"
},
"source_repo": {
"type": [
"string",
"null"
]
},
"target_branch": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
}
}
},
"CreateRelease": {
"type": "object",
"required": [
"tag_name",
"name"
],
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"draft": {
"type": "boolean"
},
"name": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"tag_name": {
"type": "string"
},
"target_commit_sha": {
"type": [
"string",
"null"
]
}
}
},
"CreateRepo": {
"type": "object",
"required": [
"name"
],
"properties": {
"default_branch": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"enable_lfs": {
"type": [
"boolean",
"null"
]
},
"initialize_with_readme": {
"type": [
"boolean",
"null"
]
},
"name": {
"type": "string"
},
"visibility": {
"type": [
"string",
"null"
]
}
}
},
"CreateUserAccessToken": {
"type": "object",
"required": [
"name",
"scopes"
],
"properties": {
"expires_at": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"CreateUserSshKey": {
"type": "object",
"required": [
"title",
"public_key"
],
"properties": {
"expires_at": {
"type": [
"string",
"null"
]
},
"public_key": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"CreateWebhook": {
"type": "object",
"required": [
"url",
"events"
],
"properties": {
"active": {
"type": [
"boolean",
"null"
]
},
"events": {
"type": "array",
"items": {
"type": "string"
}
},
"secret": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
}
},
"CreateWorkspace": {
"type": "object",
"required": [
"name"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
}
},
"CreateWorkspaceGroup": {
"type": "object",
"required": [
"name"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
}
},
"CreateWorkspaceJoinApply": {
"type": "object",
"properties": {
"answer": {
"type": [
"string",
"null"
]
},
"message": {
"type": [
"string",
"null"
]
}
}
},
"CreatedUserAccessToken": {
"type": "object",
"required": [
"token",
"access_token"
],
"properties": {
"access_token": {
"$ref": "#/components/schemas/UserAccessToken"
},
"token": {
"type": "string"
}
}
},
"CustomStatusRequest": {
"type": "object",
"properties": {
"emoji": {
"type": [
"string",
"null"
]
},
"expires_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"text": {
"type": [
"string",
"null"
]
}
}
},
"DiffDeltaDto": {
"type": "object",
"required": [
"status",
"nfiles",
"hunks",
"lines"
],
"properties": {
"hunks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DiffHunkDto"
}
},
"lines": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DiffLineDto"
}
},
"new_file": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/DiffFileDto"
}
]
},
"nfiles": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"old_file": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/DiffFileDto"
}
]
},
"status": {
"type": "integer",
"format": "int32"
}
}
},
"DiffFileDto": {
"type": "object",
"required": [
"size",
"is_binary"
],
"properties": {
"is_binary": {
"type": "boolean"
},
"oid": {
"type": [
"string",
"null"
]
},
"path": {
"type": [
"string",
"null"
]
},
"size": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"DiffHunkDto": {
"type": "object",
"required": [
"old_start",
"old_lines",
"new_start",
"new_lines",
"header"
],
"properties": {
"header": {
"type": "string"
},
"new_lines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"new_start": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"old_lines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"old_start": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"DiffLineDto": {
"type": "object",
"required": [
"content",
"origin",
"num_lines",
"content_offset"
],
"properties": {
"content": {
"type": "string"
},
"content_offset": {
"type": "integer",
"format": "int64"
},
"new_lineno": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
},
"num_lines": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"old_lineno": {
"type": [
"integer",
"null"
],
"format": "int32",
"minimum": 0
},
"origin": {
"type": "string"
}
}
},
"DiffResultDto": {
"type": "object",
"required": [
"deltas"
],
"properties": {
"deltas": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DiffDeltaDto"
}
},
"stats": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/DiffStatsDto"
}
]
}
}
},
"DiffStatsDto": {
"type": "object",
"required": [
"files_changed",
"insertions",
"deletions"
],
"properties": {
"deletions": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"files_changed": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"insertions": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"Disable2FAParams": {
"type": "object",
"required": [
"code",
"password"
],
"properties": {
"code": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"DismissPrReview": {
"type": "object",
"properties": {
"dismiss_reason": {
"type": [
"string",
"null"
]
}
}
},
"DndRequest": {
"type": "object",
"properties": {
"dnd_end_hour": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"dnd_start_hour": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"do_not_disturb": {
"type": [
"boolean",
"null"
]
}
}
},
"DraftSaveRequest": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"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": {
"backup_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"qr_code": {
"type": "string"
},
"secret": {
"type": "string"
}
}
},
"ForkResponse": {
"type": "object",
"required": [
"id",
"name",
"default_branch",
"visibility",
"source_repo",
"forked_by",
"created_at"
],
"properties": {
"created_at": {
"type": "string"
},
"default_branch": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"forked_by": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"source_repo": {
"type": "string"
},
"visibility": {
"type": "string"
}
}
},
"Get2FAStatusResponse": {
"type": "object",
"required": [
"is_enabled",
"has_backup_codes"
],
"properties": {
"has_backup_codes": {
"type": "boolean"
},
"is_enabled": {
"type": "boolean"
},
"method": {
"type": [
"string",
"null"
]
}
}
},
"GitRefResponse": {
"type": "object",
"required": [
"name",
"kind",
"target_sha",
"is_default",
"is_protected"
],
"properties": {
"is_default": {
"type": "boolean"
},
"is_protected": {
"type": "boolean"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"target_sha": {
"type": "string"
}
}
},
"InviteAcceptRequest": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
}
}
},
"InviteCreateRequest": {
"type": "object",
"required": [
"workspace"
],
"properties": {
"expires_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"max_uses": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"room": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"workspace": {
"type": "string",
"format": "uuid"
}
}
},
"IssueAuthor": {
"type": "object",
"required": [
"username"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"username": {
"type": "string"
}
}
},
"IssueCommentResponse": {
"type": "object",
"required": [
"id",
"author",
"body",
"created_at",
"updated_at"
],
"properties": {
"author": {
"$ref": "#/components/schemas/IssueAuthor"
},
"body": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"IssueEventResponse": {
"type": "object",
"required": [
"event",
"created_at"
],
"properties": {
"actor": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/IssueAuthor"
}
]
},
"created_at": {
"type": "string"
},
"event": {
"type": "string"
},
"from_value": {
"type": [
"string",
"null"
]
},
"to_value": {
"type": [
"string",
"null"
]
}
}
},
"IssuePullRequestResponse": {
"type": "object",
"required": [
"id",
"number",
"title",
"state"
],
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "integer",
"format": "int64"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"IssueReactionResponse": {
"type": "object",
"required": [
"id",
"user",
"reaction",
"created_at"
],
"properties": {
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"reaction": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
},
"IssueRepoResponse": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"IssueResponse": {
"type": "object",
"required": [
"number",
"title",
"state",
"priority",
"author",
"created_at",
"updated_at",
"labels",
"assignees",
"repos",
"pull_requests"
],
"properties": {
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueAuthor"
}
},
"author": {
"$ref": "#/components/schemas/IssueAuthor"
},
"body": {
"type": [
"string",
"null"
]
},
"closed_at": {
"type": [
"string",
"null"
]
},
"closed_by": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/IssueAuthor"
}
]
},
"created_at": {
"type": "string"
},
"due_at": {
"type": [
"string",
"null"
]
},
"labels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
},
"milestone": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/MilestoneResponse"
}
]
},
"number": {
"type": "integer",
"format": "int64"
},
"priority": {
"type": "string"
},
"pull_requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssuePullRequestResponse"
}
},
"repos": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueRepoResponse"
}
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"LabelResponse": {
"type": "object",
"required": [
"id",
"name",
"color"
],
"properties": {
"color": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"LanguageStatDto": {
"type": "object",
"required": [
"language",
"bytes",
"percentage"
],
"properties": {
"bytes": {
"type": "integer",
"format": "int64"
},
"language": {
"type": "string"
},
"percentage": {
"type": "number",
"format": "float"
}
}
},
"LoginParams": {
"type": "object",
"required": [
"username",
"password",
"captcha"
],
"properties": {
"captcha": {
"type": "string"
},
"password": {
"type": "string"
},
"totp_code": {
"type": [
"string",
"null"
]
},
"username": {
"type": "string"
}
}
},
"MergePullRequest": {
"type": "object",
"properties": {
"commit_message": {
"type": [
"string",
"null"
]
},
"commit_title": {
"type": [
"string",
"null"
]
},
"method": {
"type": [
"string",
"null"
]
}
}
},
"MessageResponse": {
"type": "object",
"required": [
"id",
"conversation_id",
"role",
"content",
"content_type",
"status",
"created_at",
"updated_at"
],
"properties": {
"author": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"content": {
"type": "string"
},
"content_type": {
"type": "string"
},
"conversation_id": {
"type": "string",
"format": "uuid"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"id": {
"type": "string",
"format": "uuid"
},
"model_invocation": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"parent_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"reasoning_content": {
"type": [
"string",
"null"
]
},
"role": {
"type": "string"
},
"status": {
"type": "string"
},
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ToolCallResponse"
}
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
},
"MilestoneResponse": {
"type": "object",
"required": [
"id",
"title",
"state"
],
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"due_at": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"NotificationMarkAllReadRequest": {
"type": "object",
"properties": {
"workspace_id": {
"type": [
"string",
"null"
],
"format": "uuid"
}
}
},
"PinRequest": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"format": "uuid"
}
}
},
"PresenceUpdateRequest": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"example": "online"
}
}
},
"ProtectResponse": {
"type": "object",
"required": [
"id",
"repo",
"pattern",
"require_pull_request",
"required_approvals",
"require_status_checks",
"required_status_contexts",
"enforce_admins",
"allow_force_pushes",
"allow_deletions",
"created_at",
"updated_at"
],
"properties": {
"allow_deletions": {
"type": "boolean"
},
"allow_force_pushes": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"enforce_admins": {
"type": "boolean"
},
"id": {
"type": "string"
},
"pattern": {
"type": "string"
},
"repo": {
"type": "string"
},
"require_pull_request": {
"type": "boolean"
},
"require_status_checks": {
"type": "boolean"
},
"required_approvals": {
"type": "integer",
"format": "int32"
},
"required_status_contexts": {
"type": "array",
"items": {
"type": "string"
}
},
"updated_at": {
"type": "string"
}
}
},
"PublicUserResponse": {
"type": "object",
"required": [
"username",
"display_name",
"avatar_url",
"website_url",
"language",
"timezone",
"allow_direct_messages",
"show_online_status"
],
"properties": {
"allow_direct_messages": {
"type": "boolean"
},
"avatar_url": {
"type": "string"
},
"display_name": {
"type": "string"
},
"language": {
"type": "string"
},
"show_online_status": {
"type": "boolean"
},
"timezone": {
"type": "string"
},
"username": {
"type": "string"
},
"website_url": {
"type": "string"
}
}
},
"PullRequestCommentResponse": {
"type": "object",
"required": [
"id",
"author",
"body",
"created_at",
"updated_at"
],
"properties": {
"author": {
"$ref": "#/components/schemas/IssueAuthor"
},
"body": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"PullRequestReactionResponse": {
"type": "object",
"required": [
"id",
"user",
"reaction",
"created_at"
],
"properties": {
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"reaction": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/IssueAuthor"
}
}
},
"PullRequestResponse": {
"type": "object",
"required": [
"number",
"title",
"state",
"draft",
"author",
"source_repo",
"source_branch",
"source_sha",
"target_branch",
"target_sha",
"created_at",
"updated_at",
"labels",
"assignees",
"reviews"
],
"properties": {
"assignees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssueAuthor"
}
},
"author": {
"$ref": "#/components/schemas/IssueAuthor"
},
"body": {
"type": [
"string",
"null"
]
},
"closed_at": {
"type": [
"string",
"null"
]
},
"closed_by": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/IssueAuthor"
}
]
},
"created_at": {
"type": "string"
},
"draft": {
"type": "boolean"
},
"labels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LabelResponse"
}
},
"merged_at": {
"type": [
"string",
"null"
]
},
"merged_by": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/IssueAuthor"
}
]
},
"number": {
"type": "integer",
"format": "int64"
},
"reviews": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PullRequestReviewResponse"
}
},
"source_branch": {
"type": "string"
},
"source_repo": {
"type": "string"
},
"source_sha": {
"type": "string"
},
"state": {
"type": "string"
},
"target_branch": {
"type": "string"
},
"target_sha": {
"type": "string"
},
"title": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"PullRequestReviewCommentResponse": {
"type": "object",
"required": [
"id",
"author",
"path",
"body",
"commit_sha",
"resolved",
"created_at",
"updated_at"
],
"properties": {
"author": {
"$ref": "#/components/schemas/IssueAuthor"
},
"body": {
"type": "string"
},
"commit_sha": {
"type": "string"
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"line": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"path": {
"type": "string"
},
"resolved": {
"type": "boolean"
},
"updated_at": {
"type": "string"
}
}
},
"PullRequestReviewResponse": {
"type": "object",
"required": [
"id",
"reviewer",
"state",
"created_at"
],
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"commit_sha": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
},
"id": {
"type": "string"
},
"reviewer": {
"$ref": "#/components/schemas/IssueAuthor"
},
"state": {
"type": "string"
},
"submitted_at": {
"type": [
"string",
"null"
]
}
}
},
"ReactionRequest": {
"type": "object",
"required": [
"message",
"emoji"
],
"properties": {
"emoji": {
"type": "string"
},
"message": {
"type": "string",
"format": "uuid"
}
}
},
"ReadReceiptRequest": {
"type": "object",
"required": [
"last_read_seq"
],
"properties": {
"last_read_seq": {
"type": "integer",
"format": "int64"
}
}
},
"ReadmeDto": {
"type": "object",
"required": [
"content",
"html"
],
"properties": {
"content": {
"type": "string"
},
"html": {
"type": "string"
}
}
},
"RegisterParams": {
"type": "object",
"required": [
"username",
"email",
"password",
"captcha"
],
"properties": {
"captcha": {
"type": "string"
},
"email": {
"type": "string"
},
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"ReleaseAssetResponse": {
"type": "object",
"required": [
"id",
"name",
"size",
"download_count",
"created_at"
],
"properties": {
"content_type": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"download_count": {
"type": "integer",
"format": "int64"
},
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"size": {
"type": "integer",
"format": "int64"
}
}
},
"ReleaseResponse": {
"type": "object",
"required": [
"id",
"tag_name",
"target_commit_sha",
"name",
"draft",
"prerelease",
"author",
"assets",
"created_at"
],
"properties": {
"assets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReleaseAssetResponse"
}
},
"author": {
"type": "string",
"format": "uuid"
},
"body": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"draft": {
"type": "boolean"
},
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"prerelease": {
"type": "boolean"
},
"published_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"tag_name": {
"type": "string"
},
"target_commit_sha": {
"type": "string"
}
}
},
"RenameBranchBody": {
"type": "object",
"required": [
"new_branch"
],
"properties": {
"force": {
"type": "boolean"
},
"new_branch": {
"type": "string"
}
}
},
"RepoResponse": {
"type": "object",
"required": [
"id",
"name",
"default_branch",
"visibility",
"size_bytes",
"is_archived",
"is_template",
"is_mirror",
"created_by",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string"
},
"created_by": {
"type": "string"
},
"default_branch": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"is_archived": {
"type": "boolean"
},
"is_mirror": {
"type": "boolean"
},
"is_template": {
"type": "boolean"
},
"name": {
"type": "string"
},
"size_bytes": {
"type": "integer",
"format": "int64"
},
"updated_at": {
"type": "string"
},
"visibility": {
"type": "string"
}
}
},
"ResetPasswordRequest": {
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string"
}
}
},
"ResetPasswordVerifyParams": {
"type": "object",
"required": [
"token",
"password"
],
"properties": {
"password": {
"type": "string"
},
"token": {
"type": "string"
}
}
},
"RoomCreateRequest": {
"type": "object",
"required": [
"workspace",
"room_name",
"public"
],
"properties": {
"ai_enabled": {
"type": [
"boolean",
"null"
]
},
"category": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"channel_type": {
"type": [
"string",
"null"
]
},
"public": {
"type": "boolean"
},
"room_name": {
"type": "string"
},
"workspace": {
"type": "string",
"format": "uuid"
}
}
},
"RoomUpdateRequest": {
"type": "object",
"properties": {
"ai_enabled": {
"type": [
"boolean",
"null"
]
},
"category": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"public": {
"type": [
"boolean",
"null"
]
},
"room_name": {
"type": [
"string",
"null"
]
}
}
},
"RsaResponse": {
"type": "object",
"required": [
"public_key"
],
"properties": {
"public_key": {
"type": "string"
}
}
},
"ScreenShareRequest": {
"type": "object",
"required": [
"start"
],
"properties": {
"start": {
"type": "boolean"
}
}
},
"SearchGroup_IssueHit": {
"type": "object",
"required": [
"items",
"total",
"has_more"
],
"properties": {
"has_more": {
"type": "boolean"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"title",
"state",
"workspace"
],
"properties": {
"number": {
"type": "integer",
"format": "int32"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"workspace": {
"type": "string"
}
}
}
},
"total": {
"type": "integer",
"minimum": 0
}
}
},
"SearchGroup_RepoHit": {
"type": "object",
"required": [
"items",
"total",
"has_more"
],
"properties": {
"has_more": {
"type": "boolean"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"workspace"
],
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"workspace": {
"type": "string"
}
}
}
},
"total": {
"type": "integer",
"minimum": 0
}
}
},
"SearchGroup_RoomHit": {
"type": "object",
"required": [
"items",
"total",
"has_more"
],
"properties": {
"has_more": {
"type": "boolean"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"workspace"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"workspace": {
"type": "string"
}
}
}
},
"total": {
"type": "integer",
"minimum": 0
}
}
},
"SearchGroup_WorkspaceHit": {
"type": "object",
"required": [
"items",
"total",
"has_more"
],
"properties": {
"has_more": {
"type": "boolean"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
}
}
},
"total": {
"type": "integer",
"minimum": 0
}
}
},
"SearchResponse": {
"type": "object",
"required": [
"workspaces",
"repos",
"rooms",
"issues"
],
"properties": {
"issues": {
"$ref": "#/components/schemas/SearchGroup_IssueHit"
},
"repos": {
"$ref": "#/components/schemas/SearchGroup_RepoHit"
},
"rooms": {
"$ref": "#/components/schemas/SearchGroup_RoomHit"
},
"workspaces": {
"$ref": "#/components/schemas/SearchGroup_WorkspaceHit"
}
}
},
"SetIssueMilestone": {
"type": "object",
"required": [
"milestone_id"
],
"properties": {
"milestone_id": {
"type": "string",
"format": "uuid"
}
}
},
"TagInfoResponseDto": {
"type": "object",
"properties": {
"tag": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/TagItemDto"
}
]
}
}
},
"TagInitResponseDto": {
"type": "object",
"properties": {
"oid": {
"type": [
"string",
"null"
]
}
}
},
"TagItemDto": {
"type": "object",
"required": [
"name",
"oid",
"target",
"is_annotated"
],
"properties": {
"is_annotated": {
"type": "boolean"
},
"message": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"oid": {
"type": "string"
},
"tagger": {
"type": [
"string",
"null"
]
},
"tagger_email": {
"type": [
"string",
"null"
]
},
"target": {
"type": "string"
}
}
},
"TagListResponseDto": {
"type": "object",
"required": [
"tags"
],
"properties": {
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagItemDto"
}
}
}
},
"TagSummaryDto": {
"type": "object",
"required": [
"total_count"
],
"properties": {
"total_count": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"TagSummaryResponseDto": {
"type": "object",
"properties": {
"summary": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/TagSummaryDto"
}
]
}
}
},
"ThreadCreateRequest": {
"type": "object",
"required": [
"parent"
],
"properties": {
"parent": {
"type": "integer",
"format": "int64"
}
}
},
"TokenRequest": {
"type": "object",
"required": [
"device_id",
"client_id"
],
"properties": {
"client_id": {
"type": "string"
},
"device_id": {
"type": "string"
}
}
},
"TokenResponse": {
"type": "object",
"required": [
"access_token",
"expires_in_secs"
],
"properties": {
"access_token": {
"type": "string"
},
"expires_in_secs": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"ToolCallResponse": {
"type": "object",
"required": [
"id",
"name",
"arguments",
"status"
],
"properties": {
"arguments": {},
"elapsed_ms": {
"type": [
"integer",
"null"
],
"format": "int64"
},
"error": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"output": {},
"status": {
"type": "string"
}
}
},
"TransferRepo": {
"type": "object",
"required": [
"target_workspace"
],
"properties": {
"target_workspace": {
"type": "string"
}
}
},
"TreeEntriesResponseDto": {
"type": "object",
"required": [
"entries"
],
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TreeEntryDto"
}
}
}
},
"TreeEntryByPathResponseDto": {
"type": "object",
"properties": {
"entry": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/TreeEntryDto"
}
]
}
}
},
"TreeEntryDto": {
"type": "object",
"required": [
"name",
"oid",
"kind",
"filemode",
"is_binary",
"is_lfs"
],
"properties": {
"filemode": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"is_binary": {
"type": "boolean"
},
"is_lfs": {
"type": "boolean"
},
"kind": {
"$ref": "#/components/schemas/TreeKindDto"
},
"last_commit_author_email": {
"type": [
"string",
"null"
]
},
"last_commit_author_name": {
"type": [
"string",
"null"
]
},
"last_commit_message": {
"type": [
"string",
"null"
]
},
"last_commit_time": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"oid": {
"type": "string"
}
}
},
"TreeKindDto": {
"type": "string",
"enum": [
"blob",
"tree",
"lfs_pointer"
]
},
"TypingAction": {
"type": "string",
"enum": [
"Start",
"Stop"
]
},
"TypingRequest": {
"type": "object",
"required": [
"action"
],
"properties": {
"action": {
"$ref": "#/components/schemas/TypingAction"
}
}
},
"UpdateAgentSession": {
"type": "object",
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"enabled": {
"type": [
"boolean",
"null"
]
},
"iteration_budget": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"knowledge_base_ids": {
"type": [
"array",
"null"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"max_output_tokens": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"memory_provider": {
"type": [
"string",
"null"
]
},
"memory_provider_config": {
"type": [
"string",
"null"
]
},
"model_version": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"name": {
"type": [
"string",
"null"
]
},
"system_prompt": {
"type": [
"string",
"null"
]
},
"temperature": {
"type": [
"number",
"null"
],
"format": "float"
},
"tool_policy": {
"type": [
"string",
"null"
]
},
"toolset_json": {
"type": [
"string",
"null"
]
},
"variables": {
"type": [
"string",
"null"
]
},
"visibility": {
"type": [
"string",
"null"
]
}
}
},
"UpdateComment": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string"
}
}
},
"UpdateContent": {
"type": "object",
"required": [
"message",
"content",
"sha"
],
"properties": {
"branch": {
"type": [
"string",
"null"
]
},
"content": {
"type": "string"
},
"message": {
"type": "string"
},
"sha": {
"type": "string"
}
}
},
"UpdateConversation": {
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
]
}
}
},
"UpdateIssue": {
"type": "object",
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"due_at": {
"type": [
"string",
"null"
]
},
"priority": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
}
}
},
"UpdateLabel": {
"type": "object",
"properties": {
"color": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
}
},
"UpdateMessageRequest": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string"
}
}
},
"UpdateMilestone": {
"type": "object",
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"due_at": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
}
}
},
"UpdatePrComment": {
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string"
}
}
},
"UpdateProtect": {
"type": "object",
"properties": {
"allow_deletions": {
"type": [
"boolean",
"null"
]
},
"allow_force_pushes": {
"type": [
"boolean",
"null"
]
},
"enforce_admins": {
"type": [
"boolean",
"null"
]
},
"pattern": {
"type": [
"string",
"null"
]
},
"require_pull_request": {
"type": [
"boolean",
"null"
]
},
"require_status_checks": {
"type": [
"boolean",
"null"
]
},
"required_approvals": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"required_status_contexts": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
},
"UpdatePullRequest": {
"type": "object",
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"draft": {
"type": [
"boolean",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
}
}
},
"UpdateRelease": {
"type": "object",
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"draft": {
"type": [
"boolean",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"prerelease": {
"type": [
"boolean",
"null"
]
},
"tag_name": {
"type": [
"string",
"null"
]
}
}
},
"UpdateRepo": {
"type": "object",
"properties": {
"default_branch": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"is_archived": {
"type": [
"boolean",
"null"
]
},
"is_template": {
"type": [
"boolean",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"visibility": {
"type": [
"string",
"null"
]
}
}
},
"UpdateUserAccessToken": {
"type": "object",
"properties": {
"expires_at": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"scopes": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
},
"UpdateUserAccessibilityConfig": {
"type": "object",
"properties": {
"color_blind_mode": {
"type": [
"string",
"null"
]
},
"font_scale_percent": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"high_contrast": {
"type": [
"boolean",
"null"
]
},
"reduce_motion": {
"type": [
"boolean",
"null"
]
},
"screen_reader_optimized": {
"type": [
"boolean",
"null"
]
}
}
},
"UpdateUserAppearanceConfig": {
"type": "object",
"properties": {
"code_theme": {
"type": [
"string",
"null"
]
},
"layout_density": {
"type": [
"string",
"null"
]
},
"show_line_numbers": {
"type": [
"boolean",
"null"
]
},
"sidebar_collapsed": {
"type": [
"boolean",
"null"
]
},
"theme": {
"type": [
"string",
"null"
]
}
}
},
"UpdateUserNotificationConfig": {
"type": "object",
"properties": {
"digest_mode": {
"type": [
"string",
"null"
]
},
"dnd_enabled": {
"type": [
"boolean",
"null"
]
},
"dnd_end_minute": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"dnd_start_minute": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"email_enabled": {
"type": [
"boolean",
"null"
]
},
"in_app_enabled": {
"type": [
"boolean",
"null"
]
},
"marketing_enabled": {
"type": [
"boolean",
"null"
]
},
"product_enabled": {
"type": [
"boolean",
"null"
]
},
"push_enabled": {
"type": [
"boolean",
"null"
]
},
"push_subscription_endpoint": {
"type": [
"string",
"null"
]
},
"push_subscription_keys_auth": {
"type": [
"string",
"null"
]
},
"push_subscription_keys_p256dh": {
"type": [
"string",
"null"
]
},
"security_enabled": {
"type": [
"boolean",
"null"
]
}
}
},
"UpdateUserPrivacyConfig": {
"type": "object",
"properties": {
"activity_visibility": {
"type": [
"string",
"null"
]
},
"allow_direct_messages": {
"type": [
"boolean",
"null"
]
},
"allow_search_indexing": {
"type": [
"boolean",
"null"
]
},
"email_visibility": {
"type": [
"string",
"null"
]
},
"profile_visibility": {
"type": [
"string",
"null"
]
},
"show_online_status": {
"type": [
"boolean",
"null"
]
}
}
},
"UpdateUserProfileConfig": {
"type": "object",
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"language": {
"type": [
"string",
"null"
]
},
"theme": {
"type": [
"string",
"null"
]
},
"timezone": {
"type": [
"string",
"null"
]
}
}
},
"UpdateUserSshKey": {
"type": "object",
"properties": {
"expires_at": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
}
}
},
"UpdateWebhook": {
"type": "object",
"properties": {
"active": {
"type": [
"boolean",
"null"
]
},
"events": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"secret": {
"type": [
"string",
"null"
]
},
"url": {
"type": [
"string",
"null"
]
}
}
},
"UpdateWorkspace": {
"type": "object",
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
}
},
"UpdateWorkspaceGroup": {
"type": "object",
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
}
},
"UpdateWorkspaceJoinStrategy": {
"type": "object",
"properties": {
"answer": {
"type": [
"string",
"null"
]
},
"enabled": {
"type": [
"boolean",
"null"
]
},
"question": {
"type": [
"string",
"null"
]
},
"require_approval": {
"type": [
"boolean",
"null"
]
},
"require_question": {
"type": [
"boolean",
"null"
]
}
}
},
"UpdateWorkspaceMember": {
"type": "object",
"required": [
"admin"
],
"properties": {
"admin": {
"type": "boolean"
}
}
},
"UserAccessToken": {
"type": "object",
"required": [
"id",
"name",
"scopes",
"is_revoked",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"id": {
"type": "integer",
"format": "int64"
},
"is_revoked": {
"type": "boolean"
},
"name": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"updated_at": {
"type": "string"
}
}
},
"UserAccessibilityConfig": {
"type": "object",
"required": [
"reduce_motion",
"high_contrast",
"screen_reader_optimized",
"font_scale_percent"
],
"properties": {
"color_blind_mode": {
"type": [
"string",
"null"
]
},
"font_scale_percent": {
"type": "integer",
"format": "int32"
},
"high_contrast": {
"type": "boolean"
},
"reduce_motion": {
"type": "boolean"
},
"screen_reader_optimized": {
"type": "boolean"
}
}
},
"UserAppearanceConfig": {
"type": "object",
"required": [
"theme",
"code_theme",
"layout_density",
"sidebar_collapsed",
"show_line_numbers"
],
"properties": {
"code_theme": {
"type": "string"
},
"layout_density": {
"type": "string"
},
"show_line_numbers": {
"type": "boolean"
},
"sidebar_collapsed": {
"type": "boolean"
},
"theme": {
"type": "string"
}
}
},
"UserConfigResponse": {
"type": "object",
"required": [
"profile",
"appearance",
"accessibility",
"privacy",
"notifications"
],
"properties": {
"accessibility": {
"$ref": "#/components/schemas/UserAccessibilityConfig"
},
"appearance": {
"$ref": "#/components/schemas/UserAppearanceConfig"
},
"notifications": {
"$ref": "#/components/schemas/UserNotificationConfig"
},
"privacy": {
"$ref": "#/components/schemas/UserPrivacyConfig"
},
"profile": {
"$ref": "#/components/schemas/UserProfileConfig"
}
}
},
"UserNotificationConfig": {
"type": "object",
"required": [
"email_enabled",
"in_app_enabled",
"push_enabled",
"digest_mode",
"dnd_enabled",
"marketing_enabled",
"security_enabled",
"product_enabled"
],
"properties": {
"digest_mode": {
"type": "string"
},
"dnd_enabled": {
"type": "boolean"
},
"dnd_end_minute": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"dnd_start_minute": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"email_enabled": {
"type": "boolean"
},
"in_app_enabled": {
"type": "boolean"
},
"marketing_enabled": {
"type": "boolean"
},
"product_enabled": {
"type": "boolean"
},
"push_enabled": {
"type": "boolean"
},
"push_subscription_endpoint": {
"type": [
"string",
"null"
]
},
"push_subscription_keys_auth": {
"type": [
"string",
"null"
]
},
"push_subscription_keys_p256dh": {
"type": [
"string",
"null"
]
},
"security_enabled": {
"type": "boolean"
}
}
},
"UserPrivacyConfig": {
"type": "object",
"required": [
"profile_visibility",
"email_visibility",
"activity_visibility",
"allow_search_indexing",
"allow_direct_messages",
"show_online_status"
],
"properties": {
"activity_visibility": {
"type": "string"
},
"allow_direct_messages": {
"type": "boolean"
},
"allow_search_indexing": {
"type": "boolean"
},
"email_visibility": {
"type": "string"
},
"profile_visibility": {
"type": "string"
},
"show_online_status": {
"type": "boolean"
}
}
},
"UserProfileConfig": {
"type": "object",
"required": [
"language",
"theme",
"timezone"
],
"properties": {
"language": {
"type": "string"
},
"theme": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
},
"UserRelationCard": {
"type": "object",
"required": [
"username",
"is_following",
"is_blocked"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"is_blocked": {
"type": "boolean"
},
"is_following": {
"type": "boolean"
},
"username": {
"type": "string"
}
}
},
"UserRelationCounts": {
"type": "object",
"required": [
"followers",
"following",
"blocked"
],
"properties": {
"blocked": {
"type": "integer",
"format": "int64"
},
"followers": {
"type": "integer",
"format": "int64"
},
"following": {
"type": "integer",
"format": "int64"
}
}
},
"UserRelationStatus": {
"type": "object",
"required": [
"username",
"is_following",
"is_followed_by",
"is_blocked",
"has_blocked_me"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"has_blocked_me": {
"type": "boolean"
},
"is_blocked": {
"type": "boolean"
},
"is_followed_by": {
"type": "boolean"
},
"is_following": {
"type": "boolean"
},
"username": {
"type": "string"
}
}
},
"UserSshKey": {
"type": "object",
"required": [
"id",
"title",
"public_key",
"fingerprint",
"key_type",
"is_verified",
"is_revoked",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"fingerprint": {
"type": "string"
},
"id": {
"type": "integer",
"format": "int64"
},
"is_revoked": {
"type": "boolean"
},
"is_verified": {
"type": "boolean"
},
"key_bits": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"key_type": {
"type": "string"
},
"last_used_at": {
"type": [
"string",
"null"
]
},
"public_key": {
"type": "string"
},
"title": {
"type": "string"
},
"updated_at": {
"type": "string"
}
}
},
"UserSummaryResponse": {
"type": "object",
"required": [
"username",
"display_name",
"avatar_url",
"website_url",
"created_at"
],
"properties": {
"avatar_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"display_name": {
"type": "string"
},
"username": {
"type": "string"
},
"website_url": {
"type": "string"
}
}
},
"Verify2FAParams": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
}
}
},
"VoiceDeafRequest": {
"type": "object",
"required": [
"deafened"
],
"properties": {
"deafened": {
"type": "boolean"
}
}
},
"VoiceMuteRequest": {
"type": "object",
"required": [
"muted"
],
"properties": {
"muted": {
"type": "boolean"
}
}
},
"WebhookDeliveryResponse": {
"type": "object",
"required": [
"id",
"webhook",
"event",
"created_at"
],
"properties": {
"created_at": {
"type": "string"
},
"delivered_at": {
"type": [
"string",
"null"
]
},
"error": {
"type": [
"string",
"null"
]
},
"event": {
"type": "string"
},
"id": {
"type": "string"
},
"response_status": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"webhook": {
"type": "string"
}
}
},
"WebhookResponse": {
"type": "object",
"required": [
"id",
"repo",
"url",
"events",
"active",
"created_by",
"created_at",
"updated_at"
],
"properties": {
"active": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"created_by": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "string"
},
"repo": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"WorkspaceGroupResponse": {
"type": "object",
"required": [
"name",
"is_deleted",
"created_at"
],
"properties": {
"avatar_url": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
},
"is_deleted": {
"type": "boolean"
},
"name": {
"type": "string"
}
}
},
"WorkspaceJoinApplyResponse": {
"type": "object",
"required": [
"workspace_name",
"workspace_avatar_url",
"username",
"status",
"created_at",
"updated_at"
],
"properties": {
"answer": {
"type": [
"string",
"null"
]
},
"avatar_url": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
},
"message": {
"type": [
"string",
"null"
]
},
"question": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"username": {
"type": "string"
},
"workspace_avatar_url": {
"type": "string"
},
"workspace_name": {
"type": "string"
}
}
},
"WorkspaceJoinApprovalResponse": {
"type": "object",
"required": [
"workspace_name",
"workspace_avatar_url",
"username",
"approver_username",
"approved",
"created_at"
],
"properties": {
"approved": {
"type": "boolean"
},
"approver_avatar_url": {
"type": [
"string",
"null"
]
},
"approver_username": {
"type": "string"
},
"avatar_url": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
},
"reason": {
"type": [
"string",
"null"
]
},
"username": {
"type": "string"
},
"workspace_avatar_url": {
"type": "string"
},
"workspace_name": {
"type": "string"
}
}
},
"WorkspaceJoinStrategyResponse": {
"type": "object",
"required": [
"workspace_name",
"workspace_avatar_url",
"require_approval",
"require_question",
"has_answer",
"enabled",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"has_answer": {
"type": "boolean"
},
"question": {
"type": [
"string",
"null"
]
},
"require_approval": {
"type": "boolean"
},
"require_question": {
"type": "boolean"
},
"updated_at": {
"type": "string"
},
"workspace_avatar_url": {
"type": "string"
},
"workspace_name": {
"type": "string"
}
}
},
"WorkspaceMemberResponse": {
"type": "object",
"required": [
"username",
"owner",
"admin",
"join_at"
],
"properties": {
"admin": {
"type": "boolean"
},
"avatar_url": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"join_at": {
"type": "string"
},
"owner": {
"type": "boolean"
},
"username": {
"type": "string"
}
}
},
"WorkspaceResponse": {
"type": "object",
"required": [
"name",
"description",
"avatar_url",
"created_at",
"owner",
"admin"
],
"properties": {
"admin": {
"type": "boolean"
},
"avatar_url": {
"type": "string"
},
"created_at": {
"type": "string"
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"owner": {
"type": "boolean"
}
}
}
},
"securitySchemes": {
"session": {
"type": "apiKey",
"in": "cookie",
"name": "id"
}
}
},
"security": [
{
"session": []
}
],
"tags": [
{
"name": "auth",
"description": "Authentication & 2FA"
},
{
"name": "user",
"description": "Current user settings & profile"
},
{
"name": "users",
"description": "Public user info & relationships"
},
{
"name": "workspace",
"description": "Workspace management"
},
{
"name": "issues",
"description": "Issue tracking"
},
{
"name": "pull_request",
"description": "Pull request operations"
},
{
"name": "git",
"description": "Git repository operations"
},
{
"name": "repos",
"description": "Repo management & configuration"
},
{
"name": "ai",
"description": "AI model catalog"
},
{
"name": "agent",
"description": "AI Agent sessions, conversations & streaming"
},
{
"name": "channel",
"description": "Channel WebSocket & REST fallback"
},
{
"name": "search",
"description": "Global search across workspaces, repos, channels, issues"
}
]
}