Skip to content
Clone
98e2c80
5611 lines 133.3 KB JSON
{
"openapi": "3.1.0",
"info": {
"title": "gitdata admin api",
"description": "GitData 管理后台 API。独立进程(adminhost)、独立会话 Cookie(gitdata_admin_session)、固定角色 super_admin/operator/viewer。",
"license": {
"name": ""
},
"version": "1.0"
},
"servers": [
{
"url": "/api/v1"
}
],
"paths": {
"/admin/admins": {
"get": {
"tags": [
"admin-admins"
],
"description": "管理员账号列表;仅超级管理员可见。",
"operationId": "list_admins",
"parameters": [
{
"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
}
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "admin page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_Page_AdminDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"403": {
"description": "operation not allowed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"post": {
"tags": [
"admin-admins"
],
"description": "创建管理员账号;仅超级管理员可操作。",
"operationId": "create_admin",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAdminCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "admin created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminDto"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/admins/{id}": {
"get": {
"tags": [
"admin-admins"
],
"description": "管理员账号详情。",
"operationId": "get_admin",
"parameters": [
{
"name": "id",
"in": "path",
"description": "admin id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "admin detail",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminDto"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"delete": {
"tags": [
"admin-admins"
],
"description": "删除管理员账号;禁止删除自己与最后一个超级管理员。",
"operationId": "delete_admin",
"parameters": [
{
"name": "id",
"in": "path",
"description": "admin id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "admin deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"patch": {
"tags": [
"admin-admins"
],
"description": "更新管理员显示名/角色/启用状态;禁止操作最后一个超级管理员。",
"operationId": "update_admin",
"parameters": [
{
"name": "id",
"in": "path",
"description": "admin id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateAdminCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "admin updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminDto"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/admins/{id}/reset-password": {
"post": {
"tags": [
"admin-admins"
],
"description": "重置管理员口令并要求下次登录强制改密。",
"operationId": "reset_admin_password",
"parameters": [
{
"name": "id",
"in": "path",
"description": "admin id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResetAdminPasswordCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "password reset",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/auth/login": {
"post": {
"tags": [
"admin-auth"
],
"description": "管理员用户名口令登录;会话使用独立的 gitdata_admin_session Cookie。",
"operationId": "login",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AdminLoginCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "login accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminLoginResp"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"401": {
"description": "invalid credentials",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"429": {
"description": "rate limit exceeded",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/auth/logout": {
"post": {
"tags": [
"admin-auth"
],
"description": "退出管理端会话;重复调用始终返回成功。",
"operationId": "logout",
"responses": {
"200": {
"description": "logged out",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/logs/audit": {
"get": {
"tags": [
"admin-logs"
],
"description": "管理操作审计日志(登录事件与成功变更)。",
"operationId": "list_audit_logs",
"parameters": [
{
"name": "admin_id",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "action",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "target_type",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "target_id",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
{
"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": "audit page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AuditLogPageDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/logs/jobs": {
"get": {
"tags": [
"admin-logs"
],
"description": "作业错误日志:聚合 import/search/system_tasks/webhook/pipeline 的失败信息。",
"operationId": "list_job_logs",
"parameters": [
{
"name": "source",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
{
"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": "job log page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_JobLogPageDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/me": {
"get": {
"tags": [
"admin-auth"
],
"description": "当前管理员资料。",
"operationId": "me",
"responses": {
"200": {
"description": "current admin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/me/password": {
"patch": {
"tags": [
"admin-auth"
],
"description": "修改当前管理员口令;口令版本变更会失效其他管理端会话。",
"operationId": "change_password",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangePasswordCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "password changed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/queues": {
"get": {
"tags": [
"admin-queues"
],
"description": "队列快照:Redis git 同步队列、邮件 pub/sub 与各数据库作业队列深度/状态。",
"operationId": "list_queues",
"responses": {
"200": {
"description": "queue snapshots",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_Vec_QueueSnapshotDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/queues/{name}/purge": {
"post": {
"tags": [
"admin-queues"
],
"description": "清空队列:git 同步队列直接删除 Redis list,数据库队列删除终态记录;仅超级管理员可操作。",
"operationId": "purge",
"parameters": [
{
"name": "name",
"in": "path",
"description": "queue name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "queue purged",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_QueueActionResp"
}
}
}
},
"400": {
"description": "unsupported queue",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/queues/{name}/requeue-failed": {
"post": {
"tags": [
"admin-queues"
],
"description": "重排失败作业(search_index/import/chat_webhook/pipeline/deletion/system_tasks)。",
"operationId": "requeue_failed",
"parameters": [
{
"name": "name",
"in": "path",
"description": "queue name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "failed items requeued",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_QueueActionResp"
}
}
}
},
"400": {
"description": "unsupported queue",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/spaces": {
"get": {
"tags": [
"admin-spaces"
],
"description": "Space 列表:关键字、状态、Owner 与分页。",
"operationId": "list_spaces",
"parameters": [
{
"name": "q",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "owner_id",
"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": "space page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_Page_AdminSpaceSummary"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/spaces/{id}": {
"get": {
"tags": [
"admin-spaces"
],
"description": "Space 详情:Owner、成员数、仓库/房间/目录统计。",
"operationId": "get_space",
"parameters": [
{
"name": "id",
"in": "path",
"description": "space id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "space detail",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminSpaceDetail"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"delete": {
"tags": [
"admin-spaces"
],
"description": "停用 Space(软删除);仅超级管理员可操作。",
"operationId": "delete_space",
"parameters": [
{
"name": "id",
"in": "path",
"description": "space id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "space deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"patch": {
"tags": [
"admin-spaces"
],
"description": "更新 Space:名称、描述、私有与启用状态。",
"operationId": "update_space",
"parameters": [
{
"name": "id",
"in": "path",
"description": "space id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSpaceCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "space updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminSpaceDetail"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/spaces/{id}/members": {
"get": {
"tags": [
"admin-spaces"
],
"description": "Space 成员列表。",
"operationId": "list_space_members",
"parameters": [
{
"name": "id",
"in": "path",
"description": "space id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"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": "member page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_Page_AdminSpaceMemberDto"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/spaces/{id}/members/{uid}": {
"delete": {
"tags": [
"admin-spaces"
],
"description": "将成员移出 Space。",
"operationId": "remove_space_member",
"parameters": [
{
"name": "id",
"in": "path",
"description": "space id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "member removed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_RemoveMemberResp"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/spaces/{id}/transfer": {
"post": {
"tags": [
"admin-spaces"
],
"description": "转移 Space 所有权;仅超级管理员可操作。",
"operationId": "transfer_space",
"parameters": [
{
"name": "id",
"in": "path",
"description": "space id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TransferSpaceCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "space transferred",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminSpaceDetail"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/storage/download-url": {
"get": {
"tags": [
"admin-storage"
],
"description": "生成对象预签名下载地址(最长 1 小时)。",
"operationId": "download_url",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "presigned download url",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_DownloadUrlDto"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/storage/objects": {
"get": {
"tags": [
"admin-storage"
],
"description": "对象浏览:前缀过滤与 token 分页。",
"operationId": "list_objects",
"parameters": [
{
"name": "prefix",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "token",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": [
"integer",
"null"
],
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "object page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_StorageObjectPageDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"delete": {
"tags": [
"admin-storage"
],
"description": "删除存储对象;仅超级管理员可操作。",
"operationId": "delete_object",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "object deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_DeleteObjectResp"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/storage/overview": {
"get": {
"tags": [
"admin-storage"
],
"description": "存储总览:单桶按前缀聚合的用量与对象数(60s 缓存,refresh=true 强制重算)。",
"operationId": "overview",
"parameters": [
{
"name": "refresh",
"in": "query",
"required": false,
"schema": {
"type": [
"boolean",
"null"
]
}
}
],
"responses": {
"200": {
"description": "storage overview",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_StorageOverviewDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/system/status": {
"get": {
"tags": [
"admin-system"
],
"description": "系统状态:进程信息、DB/Redis/S3/搜索健康、核心计数、队列汇总与最近失败。",
"operationId": "status",
"responses": {
"200": {
"description": "system status",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_SystemStatusDto"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/tasks": {
"get": {
"tags": [
"admin-tasks"
],
"description": "统一任务视图:import/search_index/chat_webhook/pipeline/deletion/system_tasks。",
"operationId": "list_tasks",
"parameters": [
{
"name": "source",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "state",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "q",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "from",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
{
"name": "to",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
{
"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": "task page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_TaskPageDto"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/tasks/{source}/{id}": {
"get": {
"tags": [
"admin-tasks"
],
"description": "任务详情;import token 与 webhook payload 已脱敏。",
"operationId": "get_task",
"parameters": [
{
"name": "source",
"in": "path",
"description": "task source",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "task id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "task detail",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_TaskDetailDto"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"delete": {
"tags": [
"admin-tasks"
],
"description": "删除终态任务记录;仅超级管理员可操作。",
"operationId": "delete_task",
"parameters": [
{
"name": "source",
"in": "path",
"description": "task source",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "task id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "task deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/tasks/{source}/{id}/cancel": {
"post": {
"tags": [
"admin-tasks"
],
"description": "取消任务:队列中/进行中的作业按来源置取消态。",
"operationId": "cancel_task",
"parameters": [
{
"name": "source",
"in": "path",
"description": "task source",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "task id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "task cancelled",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_TaskActionResp"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/tasks/{source}/{id}/retry": {
"post": {
"tags": [
"admin-tasks"
],
"description": "重试任务:仅失败/取消态可重试。",
"operationId": "retry_task",
"parameters": [
{
"name": "source",
"in": "path",
"description": "task source",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "task id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "task retried",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_TaskActionResp"
}
}
}
},
"409": {
"description": "resource conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/users": {
"get": {
"tags": [
"admin-users"
],
"description": "用户列表:关键字(用户名/显示名/邮箱)、状态筛选与分页。",
"operationId": "list_users",
"parameters": [
{
"name": "q",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
},
{
"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
}
},
{
"name": "sort",
"in": "query",
"required": false,
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "user page",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_Page_AdminUserSummary"
}
}
}
},
"401": {
"description": "authentication required",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/users/{uid}": {
"get": {
"tags": [
"admin-users"
],
"description": "用户详情:账号状态、邮箱、会话、所属 Space 与封禁记录。",
"operationId": "get_user",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "user detail",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminUserDetail"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"delete": {
"tags": [
"admin-users"
],
"description": "强制注销用户:立即执行匿名化并禁用账号;仅超级管理员可操作。",
"operationId": "delete_user",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "user deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_DeleteUserResp"
}
}
}
},
"403": {
"description": "operation not allowed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
},
"patch": {
"tags": [
"admin-users"
],
"description": "更新用户账号标志:显示名、启用、受限、禁止登录。",
"operationId": "update_user",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateUserCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "user updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminUserSummary"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/users/{uid}/reset-password": {
"post": {
"tags": [
"admin-users"
],
"description": "重置用户口令并吊销全部会话。",
"operationId": "reset_user_password",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResetUserPasswordCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "password reset",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/users/{uid}/revoke-sessions": {
"post": {
"tags": [
"admin-users"
],
"description": "吊销用户全部有效会话。",
"operationId": "revoke_user_sessions",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "sessions revoked",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_RevokeSessionsResp"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/users/{uid}/suspend": {
"post": {
"tags": [
"admin-users"
],
"description": "封禁用户:写入封禁记录、标记受限并吊销全部会话。",
"operationId": "suspend_user",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuspendUserCmd"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "user suspended",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_AdminSuspensionDto"
}
}
}
},
"400": {
"description": "request failed validation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
},
"/admin/users/{uid}/suspensions/{suspension_id}/revoke": {
"post": {
"tags": [
"admin-users"
],
"description": "撤销用户封禁记录;无剩余生效封禁时解除受限标志。",
"operationId": "revoke_suspension",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "user id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "suspension_id",
"in": "path",
"description": "suspension id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "suspension revoked",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
},
"404": {
"description": "resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppResponseData_NoData"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AdminDto": {
"type": "object",
"required": [
"id",
"username",
"display_name",
"role",
"is_active",
"must_change_password",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"display_name": {
"type": "string"
},
"id": {
"type": "string",
"format": "uuid"
},
"is_active": {
"type": "boolean"
},
"last_login_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"last_login_ip": {
"type": [
"string",
"null"
]
},
"must_change_password": {
"type": "boolean"
},
"role": {
"$ref": "#/components/schemas/AdminRole"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"username": {
"type": "string"
}
}
},
"AdminLoginCmd": {
"type": "object",
"required": [
"username",
"password"
],
"properties": {
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"AdminLoginResp": {
"type": "object",
"required": [
"admin",
"must_change_password"
],
"properties": {
"admin": {
"$ref": "#/components/schemas/AdminDto"
},
"must_change_password": {
"type": "boolean"
}
}
},
"AdminRole": {
"type": "string",
"enum": [
"super_admin",
"operator",
"viewer"
]
},
"AdminSpaceDetail": {
"type": "object",
"required": [
"space",
"repos_count",
"repos_size",
"rooms_count",
"dirs_count"
],
"properties": {
"dirs_count": {
"type": "integer",
"format": "int64"
},
"repos_count": {
"type": "integer",
"format": "int64"
},
"repos_size": {
"type": "integer",
"format": "int64"
},
"rooms_count": {
"type": "integer",
"format": "int64"
},
"space": {
"$ref": "#/components/schemas/AdminSpaceSummary"
}
}
},
"AdminSpaceMemberDto": {
"type": "object",
"required": [
"user_id",
"status",
"joined_at"
],
"properties": {
"alias_name": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"joined_at": {
"type": "string",
"format": "date-time"
},
"last_active_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"status": {
"type": "string"
},
"user_id": {
"type": "string",
"format": "uuid"
},
"username": {
"type": [
"string",
"null"
]
}
}
},
"AdminSpaceSummary": {
"type": "object",
"required": [
"id",
"name",
"lower_name",
"owner_id",
"is_private",
"is_active",
"nums_members",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"is_active": {
"type": "boolean"
},
"is_private": {
"type": "boolean"
},
"lower_name": {
"type": "string"
},
"name": {
"type": "string"
},
"nums_members": {
"type": "integer",
"format": "int64"
},
"owner_id": {
"type": "string",
"format": "uuid"
},
"owner_username": {
"type": [
"string",
"null"
]
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
},
"AdminSuspensionDto": {
"type": "object",
"required": [
"id",
"suspension_type",
"starts_at"
],
"properties": {
"ends_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"id": {
"type": "string",
"format": "uuid"
},
"reason": {
"type": [
"string",
"null"
]
},
"revoked_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"starts_at": {
"type": "string",
"format": "date-time"
},
"suspended_by": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"suspension_type": {
"type": "string"
}
}
},
"AdminUserDetail": {
"type": "object",
"required": [
"user",
"emails",
"sessions",
"spaces",
"suspensions"
],
"properties": {
"emails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUserEmailDto"
}
},
"sessions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUserSessionDto"
}
},
"spaces": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUserSpaceDto"
}
},
"suspensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminSuspensionDto"
}
},
"user": {
"$ref": "#/components/schemas/AdminUserSummary"
}
}
},
"AdminUserEmailDto": {
"type": "object",
"required": [
"id",
"email",
"is_primary",
"is_activated",
"created_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"email": {
"type": "string"
},
"id": {
"type": "string",
"format": "uuid"
},
"is_activated": {
"type": "boolean"
},
"is_primary": {
"type": "boolean"
}
}
},
"AdminUserSessionDto": {
"type": "object",
"required": [
"id",
"kind",
"last_seen_at",
"created_at",
"expires_at",
"is_revoked"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"expires_at": {
"type": "string",
"format": "date-time"
},
"id": {
"type": "string",
"format": "uuid"
},
"is_revoked": {
"type": "boolean"
},
"kind": {
"type": "string"
},
"last_seen_at": {
"type": "string",
"format": "date-time"
}
}
},
"AdminUserSpaceDto": {
"type": "object",
"required": [
"id",
"name",
"lower_name",
"is_active"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"is_active": {
"type": "boolean"
},
"lower_name": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"AdminUserSummary": {
"type": "object",
"required": [
"uid",
"username",
"display_name",
"avatar_url",
"is_active",
"is_restricted",
"prohibit_login",
"bot",
"system",
"suspended",
"created_at"
],
"properties": {
"avatar_url": {
"type": "string"
},
"bot": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"display_name": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"is_restricted": {
"type": "boolean"
},
"last_login_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"prohibit_login": {
"type": "boolean"
},
"suspended": {
"type": "boolean"
},
"system": {
"type": "boolean"
},
"uid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
}
}
},
"AppResponseData_AdminDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"id",
"username",
"display_name",
"role",
"is_active",
"must_change_password",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"display_name": {
"type": "string"
},
"id": {
"type": "string",
"format": "uuid"
},
"is_active": {
"type": "boolean"
},
"last_login_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"last_login_ip": {
"type": [
"string",
"null"
]
},
"must_change_password": {
"type": "boolean"
},
"role": {
"$ref": "#/components/schemas/AdminRole"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"username": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_AdminLoginResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"admin",
"must_change_password"
],
"properties": {
"admin": {
"$ref": "#/components/schemas/AdminDto"
},
"must_change_password": {
"type": "boolean"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_AdminSpaceDetail": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"space",
"repos_count",
"repos_size",
"rooms_count",
"dirs_count"
],
"properties": {
"dirs_count": {
"type": "integer",
"format": "int64"
},
"repos_count": {
"type": "integer",
"format": "int64"
},
"repos_size": {
"type": "integer",
"format": "int64"
},
"rooms_count": {
"type": "integer",
"format": "int64"
},
"space": {
"$ref": "#/components/schemas/AdminSpaceSummary"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_AdminSuspensionDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"id",
"suspension_type",
"starts_at"
],
"properties": {
"ends_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"id": {
"type": "string",
"format": "uuid"
},
"reason": {
"type": [
"string",
"null"
]
},
"revoked_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"starts_at": {
"type": "string",
"format": "date-time"
},
"suspended_by": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"suspension_type": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_AdminUserDetail": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"user",
"emails",
"sessions",
"spaces",
"suspensions"
],
"properties": {
"emails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUserEmailDto"
}
},
"sessions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUserSessionDto"
}
},
"spaces": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUserSpaceDto"
}
},
"suspensions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminSuspensionDto"
}
},
"user": {
"$ref": "#/components/schemas/AdminUserSummary"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_AdminUserSummary": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"uid",
"username",
"display_name",
"avatar_url",
"is_active",
"is_restricted",
"prohibit_login",
"bot",
"system",
"suspended",
"created_at"
],
"properties": {
"avatar_url": {
"type": "string"
},
"bot": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"display_name": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"is_restricted": {
"type": "boolean"
},
"last_login_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"prohibit_login": {
"type": "boolean"
},
"suspended": {
"type": "boolean"
},
"system": {
"type": "boolean"
},
"uid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_AuditLogPageDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuditLogDto"
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_DeleteObjectResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"key",
"deleted"
],
"properties": {
"deleted": {
"type": "boolean"
},
"key": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_DeleteUserResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"user_id",
"anonymized"
],
"properties": {
"anonymized": {
"type": "boolean"
},
"user_id": {
"type": "string",
"format": "uuid"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_DownloadUrlDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"key",
"url",
"expires_in_secs"
],
"properties": {
"expires_in_secs": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"key": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_JobLogPageDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JobLogDto"
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_NoData": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"default": null
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_Page_AdminDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"username",
"display_name",
"role",
"is_active",
"must_change_password",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"display_name": {
"type": "string"
},
"id": {
"type": "string",
"format": "uuid"
},
"is_active": {
"type": "boolean"
},
"last_login_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"last_login_ip": {
"type": [
"string",
"null"
]
},
"must_change_password": {
"type": "boolean"
},
"role": {
"$ref": "#/components/schemas/AdminRole"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"username": {
"type": "string"
}
}
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_Page_AdminSpaceMemberDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"user_id",
"status",
"joined_at"
],
"properties": {
"alias_name": {
"type": [
"string",
"null"
]
},
"display_name": {
"type": [
"string",
"null"
]
},
"joined_at": {
"type": "string",
"format": "date-time"
},
"last_active_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"status": {
"type": "string"
},
"user_id": {
"type": "string",
"format": "uuid"
},
"username": {
"type": [
"string",
"null"
]
}
}
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_Page_AdminSpaceSummary": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"lower_name",
"owner_id",
"is_private",
"is_active",
"nums_members",
"created_at",
"updated_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"description": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"is_active": {
"type": "boolean"
},
"is_private": {
"type": "boolean"
},
"lower_name": {
"type": "string"
},
"name": {
"type": "string"
},
"nums_members": {
"type": "integer",
"format": "int64"
},
"owner_id": {
"type": "string",
"format": "uuid"
},
"owner_username": {
"type": [
"string",
"null"
]
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_Page_AdminUserSummary": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"uid",
"username",
"display_name",
"avatar_url",
"is_active",
"is_restricted",
"prohibit_login",
"bot",
"system",
"suspended",
"created_at"
],
"properties": {
"avatar_url": {
"type": "string"
},
"bot": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"display_name": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"is_restricted": {
"type": "boolean"
},
"last_login_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"prohibit_login": {
"type": "boolean"
},
"suspended": {
"type": "boolean"
},
"system": {
"type": "boolean"
},
"uid": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
}
}
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_QueueActionResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"queue",
"affected"
],
"properties": {
"affected": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"queue": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_RemoveMemberResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"space_id",
"user_id",
"removed"
],
"properties": {
"removed": {
"type": "boolean"
},
"space_id": {
"type": "string",
"format": "uuid"
},
"user_id": {
"type": "string",
"format": "uuid"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_RevokeSessionsResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"revoked"
],
"properties": {
"revoked": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_StorageObjectPageDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"prefix",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StorageObjectDto"
}
},
"next_token": {
"type": [
"string",
"null"
]
},
"prefix": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_StorageOverviewDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"bucket",
"total_bytes",
"total_objects",
"categories",
"generated_at",
"cached"
],
"properties": {
"bucket": {
"type": "string"
},
"cached": {
"type": "boolean"
},
"categories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StorageCategoryDto"
}
},
"generated_at": {
"type": "string",
"format": "date-time"
},
"total_bytes": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total_objects": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_SystemStatusDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"process",
"dependencies",
"features",
"counts",
"queues",
"recent_failures",
"generated_at"
],
"properties": {
"counts": {
"$ref": "#/components/schemas/CountsDto"
},
"dependencies": {
"$ref": "#/components/schemas/DependenciesDto"
},
"features": {
"$ref": "#/components/schemas/FeaturesDto"
},
"generated_at": {
"type": "string",
"format": "date-time"
},
"process": {
"$ref": "#/components/schemas/ProcessInfoDto"
},
"queues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QueueSnapshotDto"
}
},
"recent_failures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JobLogDto"
}
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_TaskActionResp": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"source",
"id",
"state"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"source": {
"type": "string"
},
"state": {
"type": "string"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_TaskDetailDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"task",
"detail"
],
"properties": {
"detail": {},
"task": {
"$ref": "#/components/schemas/TaskDto"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_TaskPageDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskDto"
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AppResponseData_Vec_QueueSnapshotDto": {
"type": "object",
"required": [
"code",
"message",
"request_id",
"log_id"
],
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"kind",
"enabled",
"queued",
"running",
"failed",
"succeeded"
],
"properties": {
"depth": {
"type": [
"integer",
"null"
],
"format": "int64"
},
"enabled": {
"type": "boolean"
},
"failed": {
"type": "integer",
"format": "int64"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"note": {
"type": [
"string",
"null"
]
},
"queued": {
"type": "integer",
"format": "int64"
},
"running": {
"type": "integer",
"format": "int64"
},
"succeeded": {
"type": "integer",
"format": "int64"
}
}
}
},
"error": {
"type": [
"string",
"null"
]
},
"error_code": {
"type": [
"string",
"null"
]
},
"log_id": {
"type": "string"
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
},
"AuditLogDto": {
"type": "object",
"required": [
"id",
"admin_username",
"action",
"detail",
"created_at"
],
"properties": {
"action": {
"type": "string"
},
"admin_id": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"admin_username": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"detail": {},
"id": {
"type": "string",
"format": "uuid"
},
"ip": {
"type": [
"string",
"null"
]
},
"request_id": {
"type": [
"string",
"null"
]
},
"target_id": {
"type": [
"string",
"null"
]
},
"target_type": {
"type": [
"string",
"null"
]
},
"user_agent": {
"type": [
"string",
"null"
]
}
}
},
"AuditLogPageDto": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuditLogDto"
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"ChangePasswordCmd": {
"type": "object",
"required": [
"current_password",
"new_password"
],
"properties": {
"current_password": {
"type": "string"
},
"new_password": {
"type": "string"
}
}
},
"CountsDto": {
"type": "object",
"required": [
"users",
"active_users",
"spaces",
"active_spaces",
"repos",
"rooms",
"issues",
"messages",
"admin_users"
],
"properties": {
"active_spaces": {
"type": "integer",
"format": "int64"
},
"active_users": {
"type": "integer",
"format": "int64"
},
"admin_users": {
"type": "integer",
"format": "int64"
},
"issues": {
"type": "integer",
"format": "int64"
},
"messages": {
"type": "integer",
"format": "int64"
},
"repos": {
"type": "integer",
"format": "int64"
},
"rooms": {
"type": "integer",
"format": "int64"
},
"spaces": {
"type": "integer",
"format": "int64"
},
"users": {
"type": "integer",
"format": "int64"
}
}
},
"CreateAdminCmd": {
"type": "object",
"required": [
"username",
"password",
"role"
],
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"password": {
"type": "string"
},
"role": {
"$ref": "#/components/schemas/AdminRole"
},
"username": {
"type": "string"
}
}
},
"DeleteObjectResp": {
"type": "object",
"required": [
"key",
"deleted"
],
"properties": {
"deleted": {
"type": "boolean"
},
"key": {
"type": "string"
}
}
},
"DeleteUserResp": {
"type": "object",
"required": [
"user_id",
"anonymized"
],
"properties": {
"anonymized": {
"type": "boolean"
},
"user_id": {
"type": "string",
"format": "uuid"
}
}
},
"DependenciesDto": {
"type": "object",
"required": [
"database",
"redis",
"storage",
"search"
],
"properties": {
"database": {
"$ref": "#/components/schemas/DependencyDto"
},
"redis": {
"$ref": "#/components/schemas/DependencyDto"
},
"search": {
"$ref": "#/components/schemas/DependencyDto"
},
"storage": {
"$ref": "#/components/schemas/DependencyDto"
}
}
},
"DependencyDto": {
"type": "object",
"required": [
"ok"
],
"properties": {
"detail": {
"type": [
"string",
"null"
]
},
"latency_ms": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
},
"ok": {
"type": "boolean"
}
}
},
"DownloadUrlDto": {
"type": "object",
"required": [
"key",
"url",
"expires_in_secs"
],
"properties": {
"expires_in_secs": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"key": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"FeaturesDto": {
"type": "object",
"required": [
"search_enabled",
"import_enabled",
"email_enabled",
"email_queue_enabled"
],
"properties": {
"email_enabled": {
"type": "boolean"
},
"email_queue_enabled": {
"type": "boolean"
},
"import_enabled": {
"type": "boolean"
},
"search_enabled": {
"type": "boolean"
}
}
},
"JobLogDto": {
"type": "object",
"required": [
"source",
"id",
"state",
"created_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"error": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string",
"format": "uuid"
},
"source": {
"type": "string"
},
"state": {
"type": "string"
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time"
}
}
},
"JobLogPageDto": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JobLogDto"
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"NoData": {
"default": null
},
"PageQuery": {
"type": "object",
"properties": {
"limit": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
},
"offset": {
"type": [
"integer",
"null"
],
"format": "int64",
"minimum": 0
},
"sort": {
"type": [
"string",
"null"
]
}
}
},
"ProcessInfoDto": {
"type": "object",
"required": [
"version",
"uptime_secs"
],
"properties": {
"uptime_secs": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"version": {
"type": "string"
}
}
},
"QueueActionResp": {
"type": "object",
"required": [
"queue",
"affected"
],
"properties": {
"affected": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"queue": {
"type": "string"
}
}
},
"QueueSnapshotDto": {
"type": "object",
"required": [
"name",
"kind",
"enabled",
"queued",
"running",
"failed",
"succeeded"
],
"properties": {
"depth": {
"type": [
"integer",
"null"
],
"format": "int64"
},
"enabled": {
"type": "boolean"
},
"failed": {
"type": "integer",
"format": "int64"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"note": {
"type": [
"string",
"null"
]
},
"queued": {
"type": "integer",
"format": "int64"
},
"running": {
"type": "integer",
"format": "int64"
},
"succeeded": {
"type": "integer",
"format": "int64"
}
}
},
"RemoveMemberResp": {
"type": "object",
"required": [
"space_id",
"user_id",
"removed"
],
"properties": {
"removed": {
"type": "boolean"
},
"space_id": {
"type": "string",
"format": "uuid"
},
"user_id": {
"type": "string",
"format": "uuid"
}
}
},
"ResetAdminPasswordCmd": {
"type": "object",
"required": [
"new_password"
],
"properties": {
"new_password": {
"type": "string"
}
}
},
"ResetUserPasswordCmd": {
"type": "object",
"required": [
"new_password"
],
"properties": {
"new_password": {
"type": "string"
}
}
},
"RevokeSessionsResp": {
"type": "object",
"required": [
"revoked"
],
"properties": {
"revoked": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"StorageCategoryDto": {
"type": "object",
"required": [
"name",
"prefix",
"bytes",
"objects"
],
"properties": {
"bytes": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"name": {
"type": "string"
},
"objects": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"prefix": {
"type": "string"
}
}
},
"StorageObjectDto": {
"type": "object",
"required": [
"key",
"size"
],
"properties": {
"etag": {
"type": [
"string",
"null"
]
},
"key": {
"type": "string"
},
"last_modified": {},
"size": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"StorageObjectPageDto": {
"type": "object",
"required": [
"prefix",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StorageObjectDto"
}
},
"next_token": {
"type": [
"string",
"null"
]
},
"prefix": {
"type": "string"
}
}
},
"StorageOverviewDto": {
"type": "object",
"required": [
"bucket",
"total_bytes",
"total_objects",
"categories",
"generated_at",
"cached"
],
"properties": {
"bucket": {
"type": "string"
},
"cached": {
"type": "boolean"
},
"categories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StorageCategoryDto"
}
},
"generated_at": {
"type": "string",
"format": "date-time"
},
"total_bytes": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total_objects": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"SuspendUserCmd": {
"type": "object",
"required": [
"suspension_type"
],
"properties": {
"ends_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"reason": {
"type": [
"string",
"null"
]
},
"suspension_type": {
"$ref": "#/components/schemas/SuspensionType"
}
}
},
"SuspensionType": {
"type": "string",
"enum": [
"temporary",
"permanent"
]
},
"SystemStatusDto": {
"type": "object",
"required": [
"process",
"dependencies",
"features",
"counts",
"queues",
"recent_failures",
"generated_at"
],
"properties": {
"counts": {
"$ref": "#/components/schemas/CountsDto"
},
"dependencies": {
"$ref": "#/components/schemas/DependenciesDto"
},
"features": {
"$ref": "#/components/schemas/FeaturesDto"
},
"generated_at": {
"type": "string",
"format": "date-time"
},
"process": {
"$ref": "#/components/schemas/ProcessInfoDto"
},
"queues": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QueueSnapshotDto"
}
},
"recent_failures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JobLogDto"
}
}
}
},
"TaskActionResp": {
"type": "object",
"required": [
"source",
"id",
"state"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"source": {
"type": "string"
},
"state": {
"type": "string"
}
}
},
"TaskDetailDto": {
"type": "object",
"required": [
"task",
"detail"
],
"properties": {
"detail": {},
"task": {
"$ref": "#/components/schemas/TaskDto"
}
}
},
"TaskDto": {
"type": "object",
"required": [
"id",
"source",
"title",
"state",
"created_at"
],
"properties": {
"created_at": {
"type": "string",
"format": "date-time"
},
"finished_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"id": {
"type": "string",
"format": "uuid"
},
"last_error": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time"
}
}
},
"TaskPageDto": {
"type": "object",
"required": [
"items",
"total",
"limit",
"offset"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskDto"
}
},
"limit": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"total": {
"type": "integer",
"format": "int64"
}
}
},
"TransferSpaceCmd": {
"type": "object",
"required": [
"new_owner_id"
],
"properties": {
"new_owner_id": {
"type": "string",
"format": "uuid"
}
}
},
"UpdateAdminCmd": {
"type": "object",
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"is_active": {
"type": [
"boolean",
"null"
]
},
"role": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/AdminRole"
}
]
}
}
},
"UpdateSpaceCmd": {
"type": "object",
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"is_active": {
"type": [
"boolean",
"null"
]
},
"is_private": {
"type": [
"boolean",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
}
},
"UpdateUserCmd": {
"type": "object",
"properties": {
"display_name": {
"type": [
"string",
"null"
]
},
"is_active": {
"type": [
"boolean",
"null"
]
},
"is_restricted": {
"type": [
"boolean",
"null"
]
},
"prohibit_login": {
"type": [
"boolean",
"null"
]
}
}
}
},
"securitySchemes": {
"admin_session_cookie": {
"type": "apiKey",
"in": "cookie",
"name": "gitdata_admin_session"
}
}
},
"security": [
{
"admin_session_cookie": []
}
]
}