@redonvn/redai-openapi-agent 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -0
- package/dist/index.cjs +25662 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +25423 -0
- package/dist/index.d.ts +25423 -0
- package/dist/index.js +25636 -0
- package/dist/index.js.map +1 -0
- package/openclaw.plugin.json +84 -0
- package/package.json +52 -0
- package/tool-catalog.json +8111 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../index.ts","../../redai-agent-sdk/src/client.ts","../tool-catalog.json","../agent.json"],"sourcesContent":["import { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport {\n RedaiAgentClient,\n RedaiAgentError,\n type ToolExecutionInput\n} from \"@redonvn/redai-agent-sdk\";\nimport catalog from \"./tool-catalog.json\";\nimport spec from \"./agent.json\";\n\nexport { catalog, spec };\n\nconst DEFAULT_AUTH_STORE_PATH =\n \"C:\\\\Users\\\\Acer\\\\.openclaw\\\\workspace-nhan-vien-redai\\\\auth\\\\redai-auth.json\";\n\ntype PluginRuntimeConfig = {\n baseUrl?: string;\n bearerToken?: string;\n apiKey?: string;\n apiKeyHeader?: string;\n defaultHeaders?: Record<string, string>;\n timeoutMs?: number;\n workspaceId?: string;\n baseId?: string;\n authStorePath?: string;\n};\n\ntype ToolResult = { content: Array<{ type: \"text\"; text: string }> };\n\ntype CatalogTool = {\n name: string;\n description: string;\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n path: string;\n parameters: unknown;\n};\n\ntype OpenClawApiLike = {\n config?: {\n plugins?: {\n entries?: Record<string, { config?: PluginRuntimeConfig }>;\n };\n };\n registerTool: (\n definition: {\n name: string;\n description: string;\n parameters: unknown;\n execute: (id: string, params: unknown) => Promise<ToolResult>;\n },\n options?: { optional?: boolean }\n ) => void;\n};\n\ntype RedaiAuthEntry = {\n telegramUserId: string;\n bearerToken: string;\n workspaceId: string;\n baseId?: string | null;\n savedAt: string;\n lastValidatedAt: string | null;\n status: \"active\" | \"invalid\";\n};\n\ntype RedaiAuthStore = {\n version: 1;\n users: Record<string, RedaiAuthEntry>;\n};\n\nconst typedCatalog = catalog as {\n pluginId: string;\n optional?: boolean;\n serverUrl?: string;\n tools: CatalogTool[];\n};\n\nconst formatToolResult = (payload: unknown): ToolResult => ({\n content: [\n {\n type: \"text\",\n text: typeof payload === \"string\" ? payload : JSON.stringify(payload, null, 2)\n }\n ]\n});\n\nconst resolvePluginConfig = (api: OpenClawApiLike): PluginRuntimeConfig =>\n api.config?.plugins?.entries?.[typedCatalog.pluginId]?.config ?? {};\n\nconst cloneJson = <T>(value: T): T => JSON.parse(JSON.stringify(value)) as T;\n\nconst removeHeadersFromSchema = (schema: unknown) => {\n const cloned = cloneJson((schema ?? { type: \"object\", properties: {} }) as Record<string, unknown>);\n const objectSchema = cloned as {\n properties?: Record<string, unknown>;\n required?: string[];\n additionalProperties?: boolean;\n };\n if (!objectSchema.properties) {\n objectSchema.properties = {};\n }\n delete objectSchema.properties.headers;\n if (Array.isArray(objectSchema.required)) {\n objectSchema.required = objectSchema.required.filter((item) => item !== \"headers\");\n }\n objectSchema.additionalProperties = false;\n return objectSchema;\n};\n\nconst buildAuthWrappedParameters = (tool: CatalogTool) => {\n const baseSchema = removeHeadersFromSchema(tool.parameters);\n return {\n ...baseSchema,\n description: `${tool.description} Uses the logged-in RedAI auth for the current Telegram DM user.`,\n properties: {\n telegramUserId: {\n type: \"string\",\n description:\n \"Telegram sender ID from DM metadata. The agent must derive this automatically from the current message.\"\n },\n ...(baseSchema.properties ?? {})\n },\n required: [\n \"telegramUserId\",\n ...((baseSchema.required ?? []).filter((item: string) => item !== \"telegramUserId\"))\n ]\n };\n};\n\nconst buildAuthToolName = (toolName: string): string =>\n toolName.startsWith(\"redai_openapi_agent_\")\n ? toolName.replace(/^redai_openapi_agent_/, \"redai_openapi_agent_auth_\")\n : \"redai_openapi_agent_auth_${toolName}\";\n\nconst getAuthStorePath = (runtimeConfig: PluginRuntimeConfig) =>\n runtimeConfig.authStorePath?.trim() || DEFAULT_AUTH_STORE_PATH;\n\nconst ensureStoreDirectory = async (storePath: string) => {\n await mkdir(dirname(storePath), { recursive: true });\n};\n\nconst loadAuthStore = async (runtimeConfig: PluginRuntimeConfig): Promise<RedaiAuthStore> => {\n const storePath = getAuthStorePath(runtimeConfig);\n try {\n const raw = await readFile(storePath, \"utf8\");\n const parsed = JSON.parse(raw) as RedaiAuthStore;\n return { version: 1, users: parsed?.users ?? {} };\n } catch (error: unknown) {\n const maybeNodeError = error as NodeJS.ErrnoException;\n if (maybeNodeError?.code === \"ENOENT\") {\n await ensureStoreDirectory(storePath);\n await writeFile(storePath, JSON.stringify({ version: 1, users: {} }, null, 2), \"utf8\");\n return { version: 1, users: {} };\n }\n throw error;\n }\n};\n\nconst getAuthStoreEntry = async (runtimeConfig: PluginRuntimeConfig, telegramUserId: string) => {\n const store = await loadAuthStore(runtimeConfig);\n return store.users[telegramUserId] ?? null;\n};\n\nconst withRedaiAuth = (\n runtimeConfig: PluginRuntimeConfig,\n auth: Pick<RedaiAuthEntry, \"bearerToken\" | \"workspaceId\" | \"baseId\">\n): PluginRuntimeConfig => {\n const defaultHeaders = {\n ...(runtimeConfig.defaultHeaders ?? {}),\n \"x-workspace-id\": auth.workspaceId\n } as Record<string, string>;\n\n if (auth.baseId) {\n defaultHeaders[\"x-base-id\"] = auth.baseId;\n } else {\n delete defaultHeaders[\"x-base-id\"];\n }\n\n return {\n ...runtimeConfig,\n bearerToken: auth.bearerToken,\n apiKey: undefined,\n apiKeyHeader: undefined,\n defaultHeaders,\n workspaceId: auth.workspaceId,\n baseId: auth.baseId ?? undefined\n };\n};\n\nconst resolveUserRuntimeConfig = async (api: OpenClawApiLike, telegramUserId: string) => {\n const runtimeConfig = resolvePluginConfig(api);\n const authEntry = await getAuthStoreEntry(runtimeConfig, telegramUserId);\n if (!authEntry || authEntry.status !== \"active\") {\n return null;\n }\n return {\n runtimeConfig,\n scopedConfig: withRedaiAuth(runtimeConfig, authEntry)\n };\n};\n\nconst authRequiredResult = (telegramUserId: string) =>\n formatToolResult({\n ok: false,\n status: 401,\n statusText: \"AUTH_REQUIRED\",\n data: {\n message:\n \"Ban chua dang nhap RedAI auth hop le. Hay dung /login <bearerToken> <workspaceId> [baseId] trong DM truoc khi thao tac nghiep vu.\",\n telegramUserId\n }\n });\n\nconst hasHeadersSection = (tool: CatalogTool): boolean => {\n const parameters = tool.parameters as { properties?: Record<string, unknown> } | undefined;\n return Boolean(parameters?.properties?.headers);\n};\n\nconst mergeTenantHeaders = (\n tool: CatalogTool,\n inputHeaders: Record<string, unknown> | undefined,\n runtimeConfig: PluginRuntimeConfig\n): Record<string, string> | undefined => {\n const entries = Object.entries(inputHeaders ?? {})\n .filter(([, value]) => value !== undefined && value !== null && value !== \"\")\n .map(([key, value]) => [key, String(value)] as const);\n\n if (hasHeadersSection(tool)) {\n if (runtimeConfig.workspaceId && !entries.some(([key]) => key.toLowerCase() === \"x-workspace-id\")) {\n entries.push([\"x-workspace-id\", runtimeConfig.workspaceId]);\n }\n if (runtimeConfig.baseId && !entries.some(([key]) => key.toLowerCase() === \"x-base-id\")) {\n entries.push([\"x-base-id\", runtimeConfig.baseId]);\n }\n }\n\n return entries.length > 0 ? Object.fromEntries(entries) : undefined;\n};\n\nconst executeCatalogTool = async (\n runtimeConfig: PluginRuntimeConfig,\n tool: CatalogTool,\n rawParams: unknown\n) => {\n const client = new RedaiAgentClient({\n ...runtimeConfig,\n baseUrl: runtimeConfig.baseUrl ?? typedCatalog.serverUrl\n });\n const params = (rawParams ?? {}) as ToolExecutionInput & {\n headers?: Record<string, unknown>;\n };\n\n return client.executeTool(tool, {\n path: params.path,\n query: params.query,\n body: params.body,\n headers: mergeTenantHeaders(tool, params.headers, runtimeConfig)\n });\n};\n\nconst registerAuthProxyTool = (api: OpenClawApiLike, tool: CatalogTool) => {\n api.registerTool(\n {\n name: buildAuthToolName(tool.name),\n description: `${tool.description} Uses the logged-in RedAI auth for the current Telegram DM user.`,\n parameters: buildAuthWrappedParameters(tool),\n execute: async (_id: string, rawParams: unknown) => {\n const params = (rawParams ?? {}) as Record<string, unknown>;\n const telegramUserId = String(params.telegramUserId ?? \"\");\n const resolved = await resolveUserRuntimeConfig(api, telegramUserId);\n if (!resolved) {\n return authRequiredResult(telegramUserId);\n }\n\n const forwardedParams = { ...params };\n delete forwardedParams.telegramUserId;\n\n try {\n const response = await executeCatalogTool(resolved.scopedConfig, tool, forwardedParams);\n return formatToolResult(response.data);\n } catch (error: unknown) {\n if (error instanceof RedaiAgentError) {\n return formatToolResult({\n ok: false,\n status: error.status ?? 500,\n statusText: error.message,\n data: error.body\n });\n }\n\n return formatToolResult({\n ok: false,\n status: 500,\n statusText: \"PLUGIN_EXECUTION_FAILED\",\n data: String(error)\n });\n }\n }\n },\n { optional: typedCatalog.optional ?? true }\n );\n};\n\nexport default function register(api: OpenClawApiLike): void {\n for (const tool of typedCatalog.tools) {\n api.registerTool(\n {\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters,\n execute: async (_id: string, rawParams: unknown) => {\n try {\n const response = await executeCatalogTool(resolvePluginConfig(api), tool, rawParams);\n return formatToolResult(response.data);\n } catch (error: unknown) {\n if (error instanceof RedaiAgentError) {\n return formatToolResult({\n ok: false,\n status: error.status ?? 500,\n statusText: error.message,\n data: error.body\n });\n }\n\n return formatToolResult({\n ok: false,\n status: 500,\n statusText: \"PLUGIN_EXECUTION_FAILED\",\n data: String(error)\n });\n }\n }\n },\n { optional: typedCatalog.optional ?? true }\n );\n }\n\n for (const tool of typedCatalog.tools) {\n registerAuthProxyTool(api, tool);\n }\n}\n","import type {\n ApiResponse,\n HeaderMap,\n HttpMethod,\n OperationRequest,\n PathParams,\n QueryParams,\n RedaiAgentClientOptions,\n TenantContext,\n ToolDescriptor,\n ToolExecutionInput\n} from \"./types\";\n\nconst DEFAULT_BASE_URL = \"https://api.redai.vn/api/v1\";\n\nconst encodeQueryValue = (value: QueryParams[string]): string[] => {\n if (value === undefined) {\n return [];\n }\n if (Array.isArray(value)) {\n return value.map((item) => String(item));\n }\n return [String(value)];\n};\n\nconst headersToObject = (headers: Headers): Record<string, string> => {\n const result: Record<string, string> = {};\n headers.forEach((value, key) => {\n result[key] = value;\n });\n return result;\n};\n\nconst applyPathParams = (pathTemplate: string, pathParams?: PathParams): string =>\n pathTemplate.replace(/\\{([^}]+)\\}/g, (_, key: string) => {\n const raw = pathParams?.[key];\n if (raw === undefined || raw === null) {\n throw new RedaiAgentError(`Missing required path parameter: ${key}`);\n }\n return encodeURIComponent(String(raw));\n });\n\nconst buildUrl = (baseUrl: string, path: string, query?: QueryParams): URL => {\n const url = new URL(baseUrl);\n const normalizedBasePath = url.pathname.replace(/\\/+$/, \"\");\n const normalizedRequestPath = path.startsWith(\"/\") ? path : `/${path}`;\n url.pathname = `${normalizedBasePath}${normalizedRequestPath}`.replace(/\\/{2,}/g, \"/\");\n\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n for (const item of encodeQueryValue(value)) {\n url.searchParams.append(key, item);\n }\n }\n }\n\n return url;\n};\n\nconst parseResponse = async (response: Response): Promise<unknown> => {\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n if (contentType.includes(\"application/json\")) {\n return response.json();\n }\n return response.text();\n};\n\nexport class RedaiAgentError extends Error {\n status?: number;\n body?: unknown;\n\n constructor(message: string, options?: { status?: number; body?: unknown }) {\n super(message);\n this.name = \"RedaiAgentError\";\n this.status = options?.status;\n this.body = options?.body;\n }\n}\n\nexport class RedaiAgentClient {\n readonly baseUrl: string;\n\n private readonly bearerToken?: string;\n private readonly apiKey?: string;\n private readonly apiKeyHeader?: string;\n private readonly defaultHeaders?: Record<string, string>;\n private readonly timeoutMs?: number;\n private readonly fetchImpl: typeof globalThis.fetch;\n private readonly tenantContext: TenantContext;\n\n constructor(options: RedaiAgentClientOptions = {}) {\n this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/$/, \"\");\n this.bearerToken = options.bearerToken;\n this.apiKey = options.apiKey;\n this.apiKeyHeader = options.apiKeyHeader ?? \"x-api-key\";\n this.defaultHeaders = options.defaultHeaders;\n this.timeoutMs = options.timeoutMs;\n this.fetchImpl = options.fetch ?? globalThis.fetch;\n this.tenantContext = {\n workspaceId: options.workspaceId,\n baseId: options.baseId\n };\n }\n\n createTenantHeaders(overrides?: TenantContext): HeaderMap {\n const workspaceId = overrides?.workspaceId ?? this.tenantContext.workspaceId;\n const baseId = overrides?.baseId ?? this.tenantContext.baseId;\n\n return {\n \"x-workspace-id\": workspaceId,\n \"x-base-id\": baseId\n };\n }\n\n async executeTool<TData = unknown>(\n tool: ToolDescriptor,\n input: ToolExecutionInput = {}\n ): Promise<ApiResponse<TData>> {\n return this.request<TData>({\n method: tool.method,\n path: tool.path,\n pathParams: input.path as PathParams | undefined,\n query: input.query,\n headers: input.headers,\n body: input.body\n });\n }\n\n async request<TData = unknown, TBody = unknown>(\n request: OperationRequest<TBody>\n ): Promise<ApiResponse<TData>> {\n const url = buildUrl(this.baseUrl, applyPathParams(request.path, request.pathParams), request.query);\n const controller = new AbortController();\n const timeout = this.timeoutMs ? setTimeout(() => controller.abort(), this.timeoutMs) : undefined;\n const headers = this.buildHeaders(request.method, request.headers, request.body !== undefined);\n\n try {\n const response = await this.fetchImpl(url, {\n method: request.method,\n headers,\n body: request.body === undefined ? undefined : JSON.stringify(request.body),\n signal: controller.signal\n });\n const data = (await parseResponse(response)) as TData;\n const result: ApiResponse<TData> = {\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n headers: headersToObject(response.headers),\n data\n };\n\n if (!response.ok) {\n throw new RedaiAgentError(`Request failed with status ${response.status}`, {\n status: response.status,\n body: data\n });\n }\n\n return result;\n } catch (error: unknown) {\n if (error instanceof RedaiAgentError) {\n throw error;\n }\n throw new RedaiAgentError(\"Request failed\", { body: error });\n } finally {\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n }\n\n private buildHeaders(method: HttpMethod, requestHeaders?: HeaderMap, hasBody?: boolean): Headers {\n const headers = new Headers();\n\n for (const [key, value] of Object.entries(this.defaultHeaders ?? {})) {\n headers.set(key, value);\n }\n\n for (const [key, value] of Object.entries(this.createTenantHeaders())) {\n if (value !== undefined && value !== null && value !== \"\") {\n headers.set(key, value);\n }\n }\n\n if (this.bearerToken) {\n headers.set(\"authorization\", `Bearer ${this.bearerToken}`);\n } else if (this.apiKey) {\n headers.set(this.apiKeyHeader ?? \"x-api-key\", this.apiKey);\n }\n\n for (const [key, value] of Object.entries(requestHeaders ?? {})) {\n if (value !== undefined && value !== null && value !== \"\") {\n headers.set(key, value);\n }\n }\n\n if (!headers.has(\"accept\")) {\n headers.set(\"accept\", \"application/json\");\n }\n\n if (hasBody && method !== \"GET\" && !headers.has(\"content-type\")) {\n headers.set(\"content-type\", \"application/json\");\n }\n\n return headers;\n }\n}\n","{\n \"pluginId\": \"redai-openapi-agent\",\n \"pluginName\": \"RedAI User API Export - Agent\",\n \"version\": \"0.1.0\",\n \"description\": \"OpenAPI export cho nhóm API user đã chọn: Agent.\",\n \"serverUrl\": \"https://v2.redai.vn/api\",\n \"optional\": true,\n \"tools\": [\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_deleteproduct_v1\",\n \"description\": \"Xóa product khỏi catalog\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/products/{productId}\",\n \"operationId\": \"agentfacebookcatalogcontroller_deleteproduct_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"productId\": {\n \"type\": \"string\",\n \"description\": \"ID của Product\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"productId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa product khỏi catalog tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_getcatalogproducts_v1\",\n \"description\": \"Lấy danh sách products trong catalog\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/products\",\n \"operationId\": \"agentfacebookcatalogcontroller_getcatalogproducts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"catalogId\": {\n \"type\": \"string\",\n \"description\": \"ID của Catalog\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"catalogId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit\": {\n \"type\": \"number\",\n \"default\": 50,\n \"description\": \"Số lượng products trả về tối đa\"\n },\n \"after\": {\n \"type\": \"string\",\n \"description\": \"Cursor để phân trang\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách products trong catalog tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_getcatalogs_v1\",\n \"description\": \"Lấy danh sách Facebook Catalogs\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs\",\n \"operationId\": \"agentfacebookcatalogcontroller_getcatalogs_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Business Integration\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit\": {\n \"type\": \"number\",\n \"default\": 25,\n \"description\": \"Số lượng catalogs trả về tối đa\"\n },\n \"after\": {\n \"type\": \"string\",\n \"description\": \"Cursor để phân trang\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Facebook Catalogs tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_getproduct_v1\",\n \"description\": \"Lấy thông tin chi tiết product\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/products/{productId}\",\n \"operationId\": \"agentfacebookcatalogcontroller_getproduct_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"productId\": {\n \"type\": \"string\",\n \"description\": \"ID của Product\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"productId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin chi tiết product tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_getproductfeeds_v1\",\n \"description\": \"Lấy danh sách product feeds\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/feeds\",\n \"operationId\": \"agentfacebookcatalogcontroller_getproductfeeds_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"catalogId\": {\n \"type\": \"string\",\n \"description\": \"ID của Catalog\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"catalogId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách product feeds tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_getproductsets_v1\",\n \"description\": \"Lấy danh sách product sets\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/sets\",\n \"operationId\": \"agentfacebookcatalogcontroller_getproductsets_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"catalogId\": {\n \"type\": \"string\",\n \"description\": \"ID của Catalog\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"catalogId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách product sets tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookcatalogcontroller_upsertproduct_v1\",\n \"description\": \"Tạo hoặc cập nhật product trong catalog\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/products\",\n \"operationId\": \"agentfacebookcatalogcontroller_upsertproduct_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"catalogId\": {\n \"type\": \"string\",\n \"description\": \"ID của Catalog\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"catalogId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên sản phẩm\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Mô tả sản phẩm\"\n },\n \"listedPrice\": {\n \"type\": \"number\",\n \"description\": \"Giá niêm yết\"\n },\n \"discountedPrice\": {\n \"type\": \"number\",\n \"description\": \"Giá sau giảm\"\n },\n \"category\": {\n \"type\": \"string\",\n \"description\": \"Loại sản phẩm\",\n \"enum\": [\n \"AGENT\",\n \"KNOWLEDGE_FILE\",\n \"FINETUNE\",\n \"TOOL\",\n \"INTEGRATION\",\n \"WORKFLOW_TEMPLATE\",\n \"TEMPLATE_EMAIL\",\n \"PROXY\",\n \"PROMPT\",\n \"SKILL\"\n ]\n },\n \"sourceId\": {\n \"type\": \"string\",\n \"description\": \"ID nguồn sản phẩm (UUID cho KNOWLEDGE_FILE, FINETUNE, AGENT, TOOL, INTEGRATION, WORKFLOW_TEMPLATE; Number string cho TEMPLATE_EMAIL)\"\n },\n \"imageUrls\": {\n \"type\": \"array\",\n \"description\": \"Danh sách URL trực tiếp cho hình ảnh sản phẩm (thay thế cho imagesMediaTypes và mediaIds)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"imagesMediaTypes\": {\n \"type\": \"array\",\n \"description\": \"Danh sách loại media cho hình ảnh sản phẩm (bắt buộc nếu không có imageUrls và mediaIds)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"mediaIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của media có sẵn để sử dụng làm ảnh sản phẩm (thay thế cho imageUrls và imagesMediaTypes)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"userManualUrl\": {\n \"type\": \"string\",\n \"description\": \"URL trực tiếp cho hướng dẫn sử dụng (thay thế cho userManualMediaType và userManualText)\"\n },\n \"userManualMediaType\": {\n \"type\": \"string\",\n \"description\": \"Loại media cho hướng dẫn sử dụng (bắt buộc nếu không có userManualUrl và userManualText)\"\n },\n \"userManualText\": {\n \"type\": \"string\",\n \"description\": \"Nội dung text/html cho hướng dẫn sử dụng (thay thế cho userManualUrl và userManualMediaType)\"\n },\n \"detailUrl\": {\n \"type\": \"string\",\n \"description\": \"URL trực tiếp cho thông tin chi tiết (thay thế cho detailMediaType và detailText)\"\n },\n \"detailMediaType\": {\n \"type\": \"string\",\n \"description\": \"Loại media cho thông tin chi tiết (bắt buộc nếu không có detailUrl và detailText)\"\n },\n \"detailText\": {\n \"type\": \"string\",\n \"description\": \"Nội dung text/html cho thông tin chi tiết sản phẩm (thay thế cho detailUrl và detailMediaType)\"\n },\n \"toolConfig\": {\n \"description\": \"Cấu hình cho sản phẩm loại TOOL (bắt buộc nếu category = TOOL)\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"saleType\": {\n \"type\": \"string\",\n \"description\": \"Hình thức bán: MONTHLY, LIFETIME, PER_REQUEST\",\n \"enum\": [\n \"MONTHLY\",\n \"LIFETIME\",\n \"PER_REQUEST\"\n ]\n },\n \"price\": {\n \"type\": \"number\",\n \"description\": \"Giá chung (đơn vị point)\"\n },\n \"quantity\": {\n \"type\": \"number\",\n \"description\": \"Số lượng tồn kho\"\n },\n \"accountUsageType\": {\n \"type\": \"string\",\n \"description\": \"Kiểu sử dụng tài khoản: dùng chung tự xoay API key hoặc mỗi sản phẩm 1 tài khoản riêng\",\n \"enum\": [\n \"SHARED_ROTATING_API_KEY\",\n \"DEDICATED_ACCOUNT\"\n ]\n },\n \"projectSchemaId\": {\n \"type\": \"string\",\n \"description\": \"ID schema dự án (UUID)\"\n },\n \"durationMonths\": {\n \"type\": \"number\",\n \"description\": \"Số tháng sử dụng (chỉ áp dụng khi saleType = MONTHLY)\"\n },\n \"integrations\": {\n \"type\": \"array\",\n \"description\": \"Danh sách integration liên kết với sản phẩm\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của integration\"\n },\n \"status\": {\n \"type\": \"string\",\n \"description\": \"Trạng thái của integration product\",\n \"enum\": [\n \"ERROR\",\n \"SOLD\",\n \"IN_STOCK\"\n ]\n }\n },\n \"required\": [\n \"integrationId\",\n \"status\"\n ]\n }\n },\n \"tools\": {\n \"type\": \"array\",\n \"description\": \"Danh sách tool liên kết với sản phẩm\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"toolId\": {\n \"type\": \"string\",\n \"description\": \"ID của tool\"\n },\n \"point\": {\n \"type\": \"number\",\n \"description\": \"Số point áp dụng cho tool này trong sản phẩm\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"description\": \"Giới hạn sử dụng/áp dụng\"\n }\n },\n \"required\": [\n \"toolId\"\n ]\n }\n }\n },\n \"required\": [\n \"saleType\",\n \"price\",\n \"quantity\"\n ]\n }\n ]\n },\n \"attachments\": {\n \"type\": \"array\",\n \"description\": \"Danh sách sản phẩm đi kèm (attachments) - các sản phẩm này sẽ được tạo với parentId trỏ đến sản phẩm chính và có giá = 0\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"category\": {\n \"type\": \"string\",\n \"description\": \"Loại sản phẩm đi kèm\",\n \"enum\": [\n \"AGENT\",\n \"KNOWLEDGE_FILE\",\n \"FINETUNE\",\n \"TOOL\",\n \"INTEGRATION\",\n \"WORKFLOW_TEMPLATE\",\n \"TEMPLATE_EMAIL\",\n \"PROXY\",\n \"PROMPT\",\n \"SKILL\"\n ]\n },\n \"sourceId\": {\n \"type\": \"string\",\n \"description\": \"ID nguồn tài nguyên. Với TOOL: là projectSchemaId. Với các loại khác: UUID của resource (KNOWLEDGE_FILE, FINETUNE, AGENT, INTEGRATION, WORKFLOW_TEMPLATE)\"\n },\n \"toolIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách tool IDs (chỉ dùng khi category = TOOL). Các tool này sẽ được lưu vào bảng product_has_tool. Tất cả tools phải thuộc cùng projectSchemaId được chỉ định trong sourceId.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên sản phẩm đi kèm (optional - nếu không có sẽ lấy từ tài nguyên gốc)\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Mô tả sản phẩm đi kèm (optional - nếu không có sẽ lấy từ tài nguyên gốc)\"\n },\n \"imageUrls\": {\n \"type\": \"array\",\n \"description\": \"Danh sách URL trực tiếp cho hình ảnh sản phẩm đi kèm (thay thế cho imagesMediaTypes)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"imagesMediaTypes\": {\n \"type\": \"array\",\n \"description\": \"Danh sách loại media cho hình ảnh sản phẩm đi kèm (bắt buộc nếu không có imageUrls)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"userManualUrl\": {\n \"type\": \"string\",\n \"description\": \"URL trực tiếp cho hướng dẫn sử dụng (thay thế cho userManualMediaType và userManualText)\"\n },\n \"userManualMediaType\": {\n \"type\": \"string\",\n \"description\": \"Loại media cho hướng dẫn sử dụng (bắt buộc nếu không có userManualUrl và userManualText)\"\n },\n \"userManualText\": {\n \"type\": \"string\",\n \"description\": \"Nội dung text/html cho hướng dẫn sử dụng (thay thế cho userManualUrl và userManualMediaType)\"\n },\n \"detailUrl\": {\n \"type\": \"string\",\n \"description\": \"URL trực tiếp cho thông tin chi tiết (thay thế cho detailMediaType và detailText)\"\n },\n \"detailMediaType\": {\n \"type\": \"string\",\n \"description\": \"Loại media cho thông tin chi tiết (bắt buộc nếu không có detailUrl và detailText)\"\n },\n \"detailText\": {\n \"type\": \"string\",\n \"description\": \"Nội dung text/html cho thông tin chi tiết sản phẩm (thay thế cho detailUrl và detailMediaType)\"\n }\n },\n \"required\": [\n \"category\",\n \"sourceId\"\n ]\n }\n }\n },\n \"required\": [\n \"name\",\n \"description\",\n \"listedPrice\",\n \"discountedPrice\",\n \"category\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tạo hoặc cập nhật product trong catalog tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpagecontroller_getfacebookpages_v1\",\n \"description\": \"Lấy danh sách Facebook Page trong Agent với phân trang\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-pages\",\n \"operationId\": \"agentfacebookpagecontroller_getfacebookpages_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"default\": \"createdAt\",\n \"enum\": [\n \"pageName\",\n \"createdAt\"\n ],\n \"description\": \"Sắp xếp theo trường\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Facebook Page trong Agent với phân trang tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpagecontroller_integratefacebookpages_v1\",\n \"description\": \"Tích hợp danh sách Facebook Page vào Agent\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/facebook-pages\",\n \"operationId\": \"agentfacebookpagecontroller_integratefacebookpages_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"facebookPageIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách UUID của các Facebook Page trong hệ thống cần tích hợp\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"a\"\n }\n }\n }\n },\n \"required\": [\n \"facebookPageIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tích hợp danh sách Facebook Page vào Agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpagecontroller_removefacebookpage_v1\",\n \"description\": \"Gỡ Facebook Page khỏi Agent\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{id}/facebook-pages/{pageId}\",\n \"operationId\": \"agentfacebookpagecontroller_removefacebookpage_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"pageId\": {\n \"type\": \"string\",\n \"description\": \"UUID của Facebook Page trong hệ thống\"\n },\n \"agentId\": {\n \"description\": \"ID của Agent\"\n }\n },\n \"required\": [\n \"id\",\n \"pageId\",\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ Facebook Page khỏi Agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpixelcontroller_getpixelcodesnippet_v1\",\n \"description\": \"Lấy pixel code snippet để cài đặt trên website\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-pixels/pixels/{pixelId}/code-snippet\",\n \"operationId\": \"agentfacebookpixelcontroller_getpixelcodesnippet_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"pixelId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Pixel\"\n }\n },\n \"required\": [\n \"pixelId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy pixel code snippet để cài đặt trên website tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpixelcontroller_getpixeldetails_v1\",\n \"description\": \"Lấy thông tin chi tiết Facebook Pixel\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-pixels/{integrationId}/pixels/{pixelId}\",\n \"operationId\": \"agentfacebookpixelcontroller_getpixeldetails_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"pixelId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Pixel\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"pixelId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin chi tiết Facebook Pixel tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpixelcontroller_getpixels_v1\",\n \"description\": \"Lấy danh sách Facebook Pixels\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/facebook-pixels/{integrationId}/pixels\",\n \"operationId\": \"agentfacebookpixelcontroller_getpixels_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Ads/Business Integration\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"limit\": {\n \"type\": \"number\",\n \"default\": 25,\n \"description\": \"Số lượng pixels trả về tối đa\"\n },\n \"after\": {\n \"type\": \"string\",\n \"description\": \"Cursor để phân trang\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Facebook Pixels tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentfacebookpixelcontroller_trackevents_v1\",\n \"description\": \"Track conversion events qua Facebook Conversions API\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/facebook-pixels/{integrationId}/pixels/{pixelId}/events\",\n \"operationId\": \"agentfacebookpixelcontroller_trackevents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Integration\"\n },\n \"pixelId\": {\n \"type\": \"string\",\n \"description\": \"ID của Facebook Pixel\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"pixelId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"events\": {\n \"type\": \"array\",\n \"description\": \"Danh sách các sự kiện cần tracking\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"a\"\n }\n }\n },\n \"test_event_code\": {\n \"type\": \"string\",\n \"description\": \"ID test event (cho test mode)\"\n }\n },\n \"required\": [\n \"events\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Track conversion events qua Facebook Conversions API tool arguments\"\n },\n \"tags\": [\n \"User - Integration - Facebook Ads\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentflowschemausercontroller_addstep_v1\",\n \"description\": \"Them step vao flow schema. Tao step moi va noi voi source step (co the chen vao giua neu co targetStepId)\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{agentId}/flow-schema/steps\",\n \"operationId\": \"agentflowschemausercontroller_addstep_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID cua agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"sourceStepId\": {\n \"type\": \"number\",\n \"description\": \"ID step nguon\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Noi dung huong dan cho step moi\"\n },\n \"example\": {\n \"type\": \"string\",\n \"description\": \"Vi du cho step moi\"\n },\n \"reason\": {\n \"type\": \"string\",\n \"description\": \"Ly do/huong dan chuyen canh\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Nhan step (neu khong truyen se tu tao)\"\n },\n \"targetStepId\": {\n \"type\": \"number\",\n \"description\": \"ID step dich (chen vao giua neu co)\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loai step moi\",\n \"enum\": [\n \"start\",\n \"step\",\n \"end\"\n ]\n }\n },\n \"required\": [\n \"sourceStepId\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Them step vao flow schema tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentflowschemausercontroller_createflowschema_v1\",\n \"description\": \"Tao/Cap nhat flow schema cua agent. Luu toan bo AgentFlowSchema cho agent\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{agentId}/flow-schema\",\n \"operationId\": \"agentflowschemausercontroller_createflowschema_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID cua agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"instruction\": {\n \"type\": \"object\",\n \"properties\": {\n \"start\": {\n \"type\": \"number\",\n \"description\": \"ID step bat dau (START)\"\n },\n \"steps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\",\n \"description\": \"ID cua step\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loai step trong flow\",\n \"enum\": [\n \"start\",\n \"step\",\n \"end\"\n ]\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Noi dung huong dan cho agent\"\n },\n \"example\": {\n \"type\": \"string\",\n \"description\": \"Vi du cho step\"\n }\n },\n \"required\": [\n \"id\",\n \"type\"\n ]\n }\n },\n \"edges\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"from\": {\n \"type\": \"number\",\n \"description\": \"ID step bat dau\"\n },\n \"to\": {\n \"type\": \"number\",\n \"description\": \"ID step dich\"\n },\n \"reason\": {\n \"type\": \"string\",\n \"description\": \"Ly do/huong dan chuyen canh\"\n }\n },\n \"required\": [\n \"from\",\n \"to\"\n ]\n }\n }\n },\n \"required\": [\n \"start\",\n \"steps\",\n \"edges\"\n ]\n },\n \"ui\": {\n \"type\": \"object\",\n \"properties\": {\n \"steps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\",\n \"description\": \"ID step (so)\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loai step trong flow\",\n \"enum\": [\n \"start\",\n \"step\",\n \"end\"\n ]\n },\n \"position\": {\n \"type\": \"object\",\n \"properties\": {\n \"x\": {\n \"type\": \"number\",\n \"description\": \"Toa do X\"\n },\n \"y\": {\n \"type\": \"number\",\n \"description\": \"Toa do Y\"\n }\n },\n \"required\": [\n \"x\",\n \"y\"\n ]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Nhan hien thi tren UI\"\n }\n },\n \"required\": [\n \"label\"\n ]\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"position\",\n \"data\"\n ]\n }\n },\n \"edges\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\",\n \"description\": \"ID edge (so)\"\n },\n \"source\": {\n \"type\": \"number\",\n \"description\": \"ID step nguon (so)\"\n },\n \"target\": {\n \"type\": \"number\",\n \"description\": \"ID step dich (so)\"\n },\n \"sourceHandle\": {\n \"type\": \"string\",\n \"description\": \"Handle nguon\"\n }\n },\n \"required\": [\n \"id\",\n \"source\",\n \"target\"\n ]\n }\n }\n },\n \"required\": [\n \"steps\",\n \"edges\"\n ]\n }\n },\n \"required\": [\n \"instruction\",\n \"ui\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tao/Cap nhat flow schema cua agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentflowschemausercontroller_deletestep_v1\",\n \"description\": \"Xoa step. Xoa step khoi flow schema\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/flow-schema/steps/{stepId}\",\n \"operationId\": \"agentflowschemausercontroller_deletestep_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID cua agent\"\n },\n \"stepId\": {\n \"type\": \"number\",\n \"description\": \"ID cua step\"\n }\n },\n \"required\": [\n \"agentId\",\n \"stepId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xoa step tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentflowschemausercontroller_getflowschema_v1\",\n \"description\": \"Lay flow schema cua agent. Lay toan bo cau truc AgentFlowSchema cua agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/flow-schema\",\n \"operationId\": \"agentflowschemausercontroller_getflowschema_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID cua agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lay flow schema cua agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentflowschemausercontroller_getflowschemamarkdown_v1\",\n \"description\": \"Lay flow schema dang markdown. Chuyen AgentFlowSchema sang dinh dang markdown\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/flow-schema/markdown\",\n \"operationId\": \"agentflowschemausercontroller_getflowschemamarkdown_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID cua agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lay flow schema dang markdown tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentflowschemausercontroller_updatestep_v1\",\n \"description\": \"Cap nhat step. Cap nhat prompt/example/label cua step va reason cua canh vao step\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/agents/{agentId}/flow-schema/steps/{stepId}\",\n \"operationId\": \"agentflowschemausercontroller_updatestep_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID cua agent\"\n },\n \"stepId\": {\n \"type\": \"number\",\n \"description\": \"ID cua step\"\n }\n },\n \"required\": [\n \"agentId\",\n \"stepId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Noi dung huong dan cho step\"\n },\n \"example\": {\n \"type\": \"string\",\n \"description\": \"Vi du cho step\"\n },\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Nhan step\"\n },\n \"reason\": {\n \"type\": \"string\",\n \"description\": \"Ly do/huong dan chuyen canh vao step\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cap nhat step tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentimagegenerationcontroller_getconfig_v1\",\n \"description\": \"Lấy cấu hình Image Generation của agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/image-generation\",\n \"operationId\": \"agentimagegenerationcontroller_getconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy cấu hình Image Generation của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentimagegenerationcontroller_removeconfig_v1\",\n \"description\": \"Gỡ cấu hình Image Generation khỏi agent\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/image-generation\",\n \"operationId\": \"agentimagegenerationcontroller_removeconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ cấu hình Image Generation khỏi agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentimagegenerationcontroller_upsertconfig_v1\",\n \"description\": \"Cập nhật hoặc tạo mới cấu hình Image Generation\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{agentId}/image-generation\",\n \"operationId\": \"agentimagegenerationcontroller_upsertconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"Model ID dùng cho Image Generation\"\n },\n \"llmKeyId\": {\n \"type\": \"string\",\n \"description\": \"ID của LLM Key được sử dụng\"\n }\n },\n \"required\": [\n \"modelId\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật hoặc tạo mới cấu hình Image Generation tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentmemoriescontroller_getagentmemory_v1\",\n \"description\": \"Lấy memory của agent. Lấy memory của agent theo agentId. Nếu không có memory thì trả về chuỗi rỗng.\",\n \"method\": \"GET\",\n \"path\": \"/v1/agent/{agentId}/memories\",\n \"operationId\": \"agentmemoriescontroller_getagentmemory_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent cần lấy memory\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy memory của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent Memories\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentmemoriescontroller_updateagentmemory_v1\",\n \"description\": \"Cập nhật memory của agent. Cập nhật memory của agent. Chỉ có thể cập nhật memory của agent thuộc về user hiện tại.\",\n \"method\": \"PUT\",\n \"path\": \"/v1/agent/{agentId}/memories\",\n \"operationId\": \"agentmemoriescontroller_updateagentmemory_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent cần cập nhật memory\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"memory\": {\n \"type\": \"string\",\n \"description\": \"Memory của agent\"\n }\n },\n \"required\": [\n \"memory\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật memory của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent Memories\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentpaymentgatewayaliascontroller_getpaymentgateway_v1\",\n \"description\": \"Lấy thông tin payment gateway của agent (alias). Endpoint alias cho backward compatibility. Lấy thông tin chi tiết payment gateway được liên kết với agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/payment-gateway\",\n \"operationId\": \"agentpaymentgatewayaliascontroller_getpaymentgateway_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin payment gateway của agent (alias) tool arguments\"\n },\n \"tags\": [\n \"User Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentpaymentgatewaycontroller_addpaymentgateway_v1\",\n \"description\": \"Thêm payment gateway vào agent. Liên kết payment gateway với agent. Yêu cầu agent có enableOutputToPayment = true\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{agentId}/payment\",\n \"operationId\": \"agentpaymentgatewaycontroller_addpaymentgateway_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"paymentGatewayId\": {\n \"type\": \"string\",\n \"description\": \"ID của payment gateway\"\n },\n \"paymentMethods\": {\n \"type\": \"array\",\n \"description\": \"Danh sách phương thức thanh toán được chọn\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"COD\",\n \"BANKING\"\n ]\n }\n }\n },\n \"required\": [\n \"paymentGatewayId\",\n \"paymentMethods\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm payment gateway vào agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentpaymentgatewaycontroller_getpaymentgateway_v1\",\n \"description\": \"Lấy thông tin payment gateway của agent. Lấy thông tin chi tiết payment gateway được liên kết với agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/payment\",\n \"operationId\": \"agentpaymentgatewaycontroller_getpaymentgateway_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin payment gateway của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentpaymentgatewaycontroller_removepaymentgateway_v1\",\n \"description\": \"Xóa liên kết payment gateway khỏi agent. Gỡ bỏ liên kết payment gateway với agent và xóa tất cả phương thức thanh toán\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/payment\",\n \"operationId\": \"agentpaymentgatewaycontroller_removepaymentgateway_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa liên kết payment gateway khỏi agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentseedingcontroller_bulkaddseedingconfigs_v1\",\n \"description\": \"Bulk thêm seeding configs. Thêm nhiều cấu hình seeding cùng lúc cho một integration\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/seeding/{integrationId}/bulk-add\",\n \"operationId\": \"agentseedingcontroller_bulkaddseedingconfigs_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"integrationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"configs\": {\n \"type\": \"array\",\n \"description\": \"Danh sách các seeding config cần thêm\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"multiChannelConversionId\": {\n \"type\": \"string\",\n \"description\": \"ID của multichannel conversation\"\n },\n \"roleDescription\": {\n \"type\": \"string\",\n \"description\": \"Mô tả vai trò trong cuộc hội thoại\"\n },\n \"responseTimeConfig\": {\n \"description\": \"Cấu hình thời gian phản hồi\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"mode\": {\n \"type\": \"string\",\n \"description\": \"Chế độ thời gian phản hồi\",\n \"enum\": [\n \"RANDOM\",\n \"FIXED\"\n ]\n },\n \"minSeconds\": {\n \"type\": \"number\",\n \"description\": \"Thời gian tối thiểu (giây) - chỉ cho RANDOM mode (tối thiểu 60 giây = 1 phút)\"\n },\n \"maxSeconds\": {\n \"type\": \"number\",\n \"description\": \"Thời gian tối đa (giây) - chỉ cho RANDOM mode (tối đa 3600 giây = 1 tiếng và phải > minSeconds)\"\n },\n \"interval\": {\n \"type\": \"number\",\n \"description\": \"Thời gian cố định (giây) - chỉ cho FIXED mode\"\n }\n },\n \"required\": [\n \"mode\"\n ]\n }\n ]\n },\n \"seedingTimeConfig\": {\n \"description\": \"Cấu hình thời gian seeding\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loại thời gian seeding\",\n \"enum\": [\n \"SCHEDULED\",\n \"PERMANENT\"\n ]\n },\n \"startTime\": {\n \"type\": \"number\",\n \"description\": \"Thời gian bắt đầu (timestamp millis) - chỉ cho SCHEDULED\"\n },\n \"endTime\": {\n \"type\": \"number\",\n \"description\": \"Thời gian kết thúc (timestamp millis) - chỉ cho SCHEDULED\"\n }\n },\n \"required\": [\n \"type\"\n ]\n }\n ]\n }\n },\n \"required\": [\n \"multiChannelConversionId\",\n \"roleDescription\",\n \"responseTimeConfig\",\n \"seedingTimeConfig\"\n ]\n }\n }\n },\n \"required\": [\n \"configs\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Bulk thêm seeding configs tool arguments\"\n },\n \"tags\": [\n \"User - Agent Seeding\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentseedingcontroller_bulkremoveseedingconfigs_v1\",\n \"description\": \"Bulk xóa seeding configs. Xóa nhiều cấu hình seeding cùng lúc theo danh sách conversation IDs\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{id}/seeding/{integrationId}/bulk-remove\",\n \"operationId\": \"agentseedingcontroller_bulkremoveseedingconfigs_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"integrationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"conversationIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách conversation IDs cần xóa khỏi seeding\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"conversationIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Bulk xóa seeding configs tool arguments\"\n },\n \"tags\": [\n \"User - Agent Seeding\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentseedingcontroller_getseedingconfigsbyintegration_v1\",\n \"description\": \"Lấy danh sách seeding configs theo integration. Lấy danh sách seeding configs của một integration cụ thể với phân trang và tìm kiếm\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/seeding/{integrationId}/configs\",\n \"operationId\": \"agentseedingcontroller_getseedingconfigsbyintegration_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"integrationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách seeding configs theo integration tool arguments\"\n },\n \"tags\": [\n \"User - Agent Seeding\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentseedingcontroller_updateseedingconfig_v1\",\n \"description\": \"Cập nhật cấu hình seeding. Cập nhật cấu hình seeding cho một conversation cụ thể\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/agents/{id}/seeding/{integrationId}/{conversationId}\",\n \"operationId\": \"agentseedingcontroller_updateseedingconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"integrationId\": {\n \"type\": \"string\"\n },\n \"conversationId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\",\n \"integrationId\",\n \"conversationId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật cấu hình seeding tool arguments\"\n },\n \"tags\": [\n \"User - Agent Seeding\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agenttemplateusercontroller_bulkdeleteagenttemplates_v1\",\n \"description\": \"Bulk delete agent templates. Xóa nhiều agent templates cùng lúc\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/templates\",\n \"operationId\": \"agenttemplateusercontroller_bulkdeleteagenttemplates_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"ids\": {\n \"type\": \"array\",\n \"description\": \"Danh sách IDs của templates cần xóa\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"ids\"\n ]\n }\n },\n \"required\": [\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Bulk delete agent templates tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agenttemplateusercontroller_exportagenttemplate_v1\",\n \"description\": \"Export agent thành template. Export agent thành template JSON để bán trên marketplace. Template chứa core data, generation configs, và memories. Trả về danh sách dependencies (tools, multi-agents, knowledge files) để user add attachments khi tạo product.\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/export-template\",\n \"operationId\": \"agenttemplateusercontroller_exportagenttemplate_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent cần export\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên template\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Mô tả template\"\n },\n \"version\": {\n \"type\": \"number\",\n \"description\": \"Phiên bản template\",\n \"default\": 1\n },\n \"isUpload\": {\n \"type\": \"boolean\",\n \"description\": \"Upload lên S3 và lưu DB (true) hay chỉ return JSON (false)\",\n \"default\": true\n }\n },\n \"required\": [\n \"name\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Export agent thành template tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agenttemplateusercontroller_importagenttemplate_v1\",\n \"description\": \"Import agent template. Import agent template từ marketplace. API này được gọi tự động sau khi buyer mua product và attachments đã được share.\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/import-template\",\n \"operationId\": \"agenttemplateusercontroller_importagenttemplate_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {}\n }\n },\n \"required\": [\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Import agent template tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agenttemplateusercontroller_listagenttemplates_v1\",\n \"description\": \"List agent templates. Lấy danh sách agent templates của user với pagination và search\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/templates\",\n \"operationId\": \"agenttemplateusercontroller_listagenttemplates_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng items mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Tìm kiếm theo tên template\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"default\": \"createdAt\",\n \"enum\": [\n \"createdAt\",\n \"updatedAt\",\n \"name\"\n ],\n \"description\": \"Sắp xếp theo field\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n },\n \"marketplaceReady\": {\n \"type\": \"boolean\",\n \"description\": \"Lọc chỉ lấy templates sẵn sàng bán trên marketplace (isOwner = true)\"\n },\n \"isOwner\": {\n \"type\": \"boolean\",\n \"description\": \"Lọc theo quyền sở hữu template (true = owner, false = không phải owner)\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"List agent templates tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agenttemplateusercontroller_updateagenttemplate_v1\",\n \"description\": \"Update agent template. Cập nhật thông tin agent template (name, description, version)\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/templates/{id}\",\n \"operationId\": \"agenttemplateusercontroller_updateagenttemplate_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của template cần update\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên template\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Mô tả template\"\n },\n \"version\": {\n \"type\": \"number\",\n \"description\": \"Version của template\"\n }\n },\n \"required\": [\n \"name\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Update agent template tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_addagentprojects_v1\",\n \"description\": \"Thêm nhiều projects vào agent (bulk add)\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/projects\",\n \"operationId\": \"agentusercontroller_addagentprojects_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"projectIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của projects cần thêm\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"projectIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm nhiều projects vào agent (bulk add) tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_createagent_v1\",\n \"description\": \"Tạo agent mới. Tạo agent mới với modelId từ bảng models thống nhất\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents\",\n \"operationId\": \"agentusercontroller_createagent_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên agent\"\n },\n \"typeId\": {\n \"type\": \"number\",\n \"description\": \"ID loại agent\"\n },\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"ID của model từ bảng models\"\n },\n \"keyLlmId\": {\n \"type\": \"string\",\n \"description\": \"ID của key LLM từ bảng user_key_llms\"\n },\n \"isRotationKey\": {\n \"type\": \"boolean\",\n \"description\": \"Có sử dụng chế độ xoay vòng key không\"\n },\n \"avatarMimeType\": {\n \"type\": \"string\",\n \"description\": \"MIME type của avatar\"\n },\n \"modelConfig\": {\n \"description\": \"Cấu hình model\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"temperature\": {\n \"type\": \"number\",\n \"description\": \"Giá trị temperature cho model (0-2)\"\n },\n \"top_p\": {\n \"type\": \"number\",\n \"description\": \"Giá trị top_p cho model (0-1)\"\n },\n \"top_k\": {\n \"type\": \"number\",\n \"description\": \"Giá trị top_k cho model\"\n },\n \"max_tokens\": {\n \"type\": \"number\",\n \"description\": \"Số tokens tối đa có thể sinh ra\"\n },\n \"thinking_level\": {\n \"type\": \"string\",\n \"description\": \"Mức độ thinking (nếu model hỗ trợ)\"\n }\n }\n }\n ]\n },\n \"instruction\": {\n \"type\": \"string\",\n \"description\": \"Hướng dẫn (instruction)\"\n },\n \"memory\": {\n \"type\": \"string\",\n \"description\": \"Memory của agent\"\n },\n \"profile\": {\n \"description\": \"Thông tin profile\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"gender\": {\n \"type\": \"string\",\n \"description\": \"Giới tính\"\n },\n \"dateOfBirth\": {\n \"type\": \"number\",\n \"description\": \"Ngày sinh (timestamp millis)\"\n },\n \"position\": {\n \"type\": \"string\",\n \"description\": \"Vị trí\"\n },\n \"education\": {\n \"type\": \"string\",\n \"description\": \"Học vấn\"\n },\n \"skills\": {\n \"type\": \"array\",\n \"description\": \"Kỹ năng\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"personality\": {\n \"type\": \"array\",\n \"description\": \"Tính cách\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"languages\": {\n \"type\": \"array\",\n \"description\": \"Ngôn ngữ\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"nations\": {\n \"type\": \"string\",\n \"description\": \"Quốc gia\"\n }\n }\n }\n ]\n },\n \"conversion\": {\n \"type\": \"object\",\n \"description\": \"Cấu hình conversion với ConvertConfig format (namespace.fieldKey mapping). Xem example để biết chi tiết.\"\n },\n \"outputMessenger\": {\n \"description\": \"Khối Output\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"facebookPageIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của Facebook Pages\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n }\n }\n ]\n },\n \"outputWebsite\": {\n \"description\": \"Khối Output\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"userWebsiteIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của User Websites\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n }\n }\n ]\n },\n \"strategy\": {\n \"description\": \"Khối Strategy\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"strategyId\": {\n \"type\": \"string\",\n \"description\": \"ID của strategy (sử dụng strategy có sẵn)\"\n },\n \"evaluatorId\": {\n \"type\": \"string\",\n \"description\": \"ID của evaluator (sử dụng agent có sẵn)\"\n }\n }\n }\n ]\n },\n \"evaluator\": {\n \"description\": \"Khối Evaluator\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"evaluatorId\": {\n \"type\": \"string\",\n \"description\": \"[DEPRECATED] ID của evaluator (sử dụng agent có sẵn)\"\n }\n }\n }\n ]\n },\n \"flowSchema\": {\n \"description\": \"Flow schema cho agent (chi ho tro neu type agent cho phep)\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"instruction\": {\n \"type\": \"object\",\n \"properties\": {\n \"start\": {\n \"type\": \"number\",\n \"description\": \"ID step bat dau (START)\"\n },\n \"steps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\",\n \"description\": \"ID cua step\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loai step trong flow\",\n \"enum\": [\n \"start\",\n \"step\",\n \"end\"\n ]\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Noi dung huong dan cho agent\"\n },\n \"example\": {\n \"type\": \"string\",\n \"description\": \"Vi du cho step\"\n }\n },\n \"required\": [\n \"id\",\n \"type\"\n ]\n }\n },\n \"edges\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"from\": {\n \"type\": \"number\",\n \"description\": \"ID step bat dau\"\n },\n \"to\": {\n \"type\": \"number\",\n \"description\": \"ID step dich\"\n },\n \"reason\": {\n \"type\": \"string\",\n \"description\": \"Ly do/huong dan chuyen canh\"\n }\n },\n \"required\": [\n \"from\",\n \"to\"\n ]\n }\n }\n },\n \"required\": [\n \"start\",\n \"steps\",\n \"edges\"\n ]\n },\n \"ui\": {\n \"type\": \"object\",\n \"properties\": {\n \"steps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\",\n \"description\": \"ID step (so)\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loai step trong flow\",\n \"enum\": [\n \"start\",\n \"step\",\n \"end\"\n ]\n },\n \"position\": {\n \"type\": \"object\",\n \"properties\": {\n \"x\": {\n \"type\": \"number\",\n \"description\": \"Toa do X\"\n },\n \"y\": {\n \"type\": \"number\",\n \"description\": \"Toa do Y\"\n }\n },\n \"required\": [\n \"x\",\n \"y\"\n ]\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"label\": {\n \"type\": \"string\",\n \"description\": \"Nhan hien thi tren UI\"\n }\n },\n \"required\": [\n \"label\"\n ]\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"position\",\n \"data\"\n ]\n }\n },\n \"edges\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\",\n \"description\": \"ID edge (so)\"\n },\n \"source\": {\n \"type\": \"number\",\n \"description\": \"ID step nguon (so)\"\n },\n \"target\": {\n \"type\": \"number\",\n \"description\": \"ID step dich (so)\"\n },\n \"sourceHandle\": {\n \"type\": \"string\",\n \"description\": \"Handle nguon\"\n }\n },\n \"required\": [\n \"id\",\n \"source\",\n \"target\"\n ]\n }\n }\n },\n \"required\": [\n \"steps\",\n \"edges\"\n ]\n }\n },\n \"required\": [\n \"instruction\",\n \"ui\"\n ]\n }\n ]\n },\n \"multiAgent\": {\n \"description\": \"Khối Multi Agent\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"multiAgent\": {\n \"type\": \"array\",\n \"description\": \"Danh sách các agent với prompt tương ứng\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Prompt cho agent này\"\n }\n },\n \"required\": [\n \"agentId\",\n \"prompt\"\n ]\n }\n }\n }\n }\n ]\n },\n \"projectIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của projects để liên kết với agent\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"outputZalo\": {\n \"description\": \"Khối Output Zalo\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"zaloOfficialAccountIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của Zalo Official Accounts\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n }\n }\n ]\n },\n \"outputPayment\": {\n \"description\": \"Khối Output Payment\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"paymentGatewayId\": {\n \"type\": \"string\",\n \"description\": \"ID của payment gateway\"\n },\n \"paymentMethods\": {\n \"type\": \"array\",\n \"description\": \"Danh sách phương thức thanh toán được chọn\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"COD\",\n \"BANKING\"\n ]\n }\n }\n }\n }\n ]\n },\n \"shipmentConfig\": {\n \"description\": \"Cấu hình vận chuyển\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"userProviderShipmentId\": {\n \"type\": \"string\",\n \"description\": \"UUID tham chiếu đến bảng user_provider_shipments\"\n },\n \"receiverPayShippingFee\": {\n \"type\": \"boolean\",\n \"description\": \"Người nhận có trả phí vận chuyển không (true = người nhận trả, false = người gửi trả)\",\n \"default\": true\n },\n \"addressId\": {\n \"type\": \"number\",\n \"description\": \"ID địa chỉ shop của agent trong bảng user_shop_addresses_v2\"\n }\n }\n }\n ]\n },\n \"outputZaloPersonal\": {\n \"type\": \"array\",\n \"description\": \"Danh sách Zalo integration IDs - chỉ cho SEEDING agent\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"seedingConfigs\": {\n \"type\": \"array\",\n \"description\": \"Cấu hình seeding - chỉ cho SEEDING agent\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"integrationId\": {\n \"type\": \"string\",\n \"description\": \"ID của Zalo integration\"\n },\n \"configs\": {\n \"type\": \"array\",\n \"description\": \"Danh sách cấu hình seeding cho integration này\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"multiChannelConversionId\": {\n \"type\": \"string\",\n \"description\": \"ID của multichannel conversation\"\n },\n \"roleDescription\": {\n \"type\": \"string\",\n \"description\": \"Mô tả vai trò trong cuộc trò chuyện\"\n },\n \"responseTimeConfig\": {\n \"description\": \"Cấu hình thời gian phản hồi\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"mode\": {\n \"type\": \"string\",\n \"description\": \"Chế độ thời gian phản hồi\",\n \"enum\": [\n \"RANDOM\",\n \"FIXED\"\n ]\n },\n \"minSeconds\": {\n \"type\": \"number\",\n \"description\": \"Thời gian tối thiểu (giây) - chỉ cho RANDOM mode (tối thiểu 60 giây = 1 phút)\"\n },\n \"maxSeconds\": {\n \"type\": \"number\",\n \"description\": \"Thời gian tối đa (giây) - chỉ cho RANDOM mode (tối đa 3600 giây = 1 tiếng và phải > minSeconds)\"\n },\n \"interval\": {\n \"type\": \"number\",\n \"description\": \"Thời gian cố định (giây) - chỉ cho FIXED mode\"\n }\n },\n \"required\": [\n \"mode\"\n ]\n }\n ]\n },\n \"seedingTimeConfig\": {\n \"description\": \"Cấu hình thời gian seeding\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Loại thời gian seeding\",\n \"enum\": [\n \"SCHEDULED\",\n \"PERMANENT\"\n ]\n },\n \"startTime\": {\n \"type\": \"number\",\n \"description\": \"Thời gian bắt đầu (timestamp millis) - chỉ cho SCHEDULED\"\n },\n \"endTime\": {\n \"type\": \"number\",\n \"description\": \"Thời gian kết thúc (timestamp millis) - chỉ cho SCHEDULED\"\n }\n },\n \"required\": [\n \"type\"\n ]\n }\n ]\n }\n },\n \"required\": [\n \"multiChannelConversionId\",\n \"roleDescription\",\n \"responseTimeConfig\",\n \"seedingTimeConfig\"\n ]\n }\n }\n },\n \"required\": [\n \"integrationId\",\n \"configs\"\n ]\n }\n },\n \"imageGeneration\": {\n \"description\": \"Cấu hình model IMAGE và LLM key tùy chọn\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"ID của model IMAGE từ bảng models\"\n },\n \"llmKeyId\": {\n \"type\": \"string\",\n \"description\": \"ID của key LLM từ bảng user_key_llms\"\n }\n },\n \"required\": [\n \"modelId\"\n ]\n }\n ]\n },\n \"videoGeneration\": {\n \"description\": \"Cấu hình model VIDEO và LLM key tùy chọn\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"ID của model Video từ bảng models\"\n },\n \"llmKeyId\": {\n \"type\": \"string\",\n \"description\": \"ID của key LLM từ bảng user_key_llms\"\n }\n },\n \"required\": [\n \"modelId\"\n ]\n }\n ]\n },\n \"voiceGeneration\": {\n \"description\": \"Cấu hình model Voice/Realtime và LLM key tùy chọn\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"ID của model Voice từ bảng models\"\n },\n \"llmKeyId\": {\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"description\": \"ID của key LLM (nếu muốn dùng key riêng)\"\n },\n \"voice\": {\n \"type\": \"string\",\n \"description\": \"Giọng nói/preset muốn sử dụng\"\n },\n \"speed\": {\n \"type\": \"number\",\n \"description\": \"Tốc độ phát âm (0-1)\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"description\": \"Timeout (2 - 10 giây)\"\n }\n },\n \"required\": [\n \"modelId\"\n ]\n }\n ]\n },\n \"zaloBotIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách Zalo Bot integration IDs - chỉ cho agent\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"name\",\n \"typeId\",\n \"modelId\",\n \"modelConfig\"\n ]\n }\n },\n \"required\": [\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tạo agent mới tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_deleteagent_v1\",\n \"description\": \"Xóa agent. Xóa agent và tất cả dữ liệu liên quan (connections, URLs, knowledge files, MCP, tools, memories, etc.)\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{id}\",\n \"operationId\": \"agentusercontroller_deleteagent_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_getagentprojects_v1\",\n \"description\": \"Lấy danh sách projects của agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/projects\",\n \"operationId\": \"agentusercontroller_getagentprojects_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách projects của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_getagents_v1\",\n \"description\": \"Lấy danh sách user agents. Lấy danh sách agents của user với các filter bao gồm marketplace ready filter\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents\",\n \"operationId\": \"agentusercontroller_getagents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"default\": \"createdAt\",\n \"enum\": [\n \"name\",\n \"createdAt\",\n \"updatedAt\",\n \"exp\"\n ],\n \"description\": \"Sắp xếp theo trường\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n },\n \"notCurrentAgentId\": {\n \"type\": \"string\",\n \"description\": \"Lọc ra các agent không phải là agent hiện tại\"\n },\n \"isForSale\": {\n \"type\": \"boolean\",\n \"description\": \"Lọc theo trạng thái đăng bán (true: đang bán, false: không bán)\"\n },\n \"marketplaceReady\": {\n \"type\": \"boolean\",\n \"description\": \"Lọc tài nguyên sẵn sàng tạo sản phẩm marketplace (tự động áp dụng: deletedAt = null, chưa có sản phẩm nào sử dụng)\"\n },\n \"isStrategy\": {\n \"type\": \"boolean\",\n \"description\": \"Lọc theo loại agent\"\n },\n \"active\": {\n \"type\": \"boolean\",\n \"description\": \"Lọc theo trạng thái active của agent (true: active, false: inactive)\"\n },\n \"includeVoiceModel\": {\n \"type\": \"boolean\",\n \"description\": \"Include voice model config (samplingRate) in the response\"\n },\n \"typeId\": {\n \"type\": \"number\",\n \"description\": \"Lọc theo type agent ID\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách user agents tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_getagentsimpledetail_v1\",\n \"description\": \"Lấy thông tin đơn giản của agent. Lấy thông tin quan trọng của agent như tên, instruction (ít thông tin hơn basic-info)\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/simple\",\n \"operationId\": \"agentusercontroller_getagentsimpledetail_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin đơn giản của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_getagentstrategy_v1\",\n \"description\": \"Lấy thông tin strategy của agent. Lấy thông tin strategy của agent bao gồm strategy agent (strategyId) và config strategy (flowSchema)\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/strategy\",\n \"operationId\": \"agentusercontroller_getagentstrategy_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin strategy của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_removeagentprojects_v1\",\n \"description\": \"Xóa nhiều projects khỏi agent (bulk remove)\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{id}/projects\",\n \"operationId\": \"agentusercontroller_removeagentprojects_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"projectIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của projects cần xóa\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"projectIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa nhiều projects khỏi agent (bulk remove) tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_toggleagentactive_v1\",\n \"description\": \"Bật/tắt trạng thái hoạt động của agent. Đảo ngược trạng thái hoạt động của agent (toggle active status)\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/agents/{id}/active\",\n \"operationId\": \"agentusercontroller_toggleagentactive_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Bật/tắt trạng thái hoạt động của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_updateagentbasicinfo_v1\",\n \"description\": \"Cập nhật thông tin cơ bản của agent. Cập nhật name, instruction, avatar, description, metadata của agent\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/agents/{id}/basic-info\",\n \"operationId\": \"agentusercontroller_updateagentbasicinfo_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên của agent\"\n },\n \"instruction\": {\n \"type\": \"string\",\n \"description\": \"Instruction/prompt cho agent\"\n },\n \"avatar\": {\n \"type\": \"string\",\n \"description\": \"URL avatar của agent\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Mô tả về agent\"\n },\n \"metadata\": {\n \"type\": \"object\",\n \"description\": \"Metadata bổ sung cho agent\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật thông tin cơ bản của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentusercontroller_updateagentstrategy_v1\",\n \"description\": \"Cập nhật strategy cho agent. Cập nhật strategy cho agent (chỉ strategyId để liên kết với strategy có sẵn)\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/agents/{id}/strategy\",\n \"operationId\": \"agentusercontroller_updateagentstrategy_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"strategyId\": {\n \"type\": \"string\",\n \"description\": \"ID của strategy (sử dụng strategy có sẵn)\"\n },\n \"evaluatorId\": {\n \"type\": \"string\",\n \"description\": \"ID của evaluator (sử dụng agent có sẵn)\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật strategy cho agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentvideogenerationcontroller_getconfig_v1\",\n \"description\": \"Lấy cấu hình Video Generation của agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/video-generation\",\n \"operationId\": \"agentvideogenerationcontroller_getconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy cấu hình Video Generation của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentvideogenerationcontroller_removeconfig_v1\",\n \"description\": \"Gỡ cấu hình Video Generation khỏi agent\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/video-generation\",\n \"operationId\": \"agentvideogenerationcontroller_removeconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ cấu hình Video Generation khỏi agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentvideogenerationcontroller_upsertconfig_v1\",\n \"description\": \"Cập nhật hoặc tạo mới cấu hình Video Generation\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{agentId}/video-generation\",\n \"operationId\": \"agentvideogenerationcontroller_upsertconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"Model ID dùng cho Image Generation\"\n },\n \"llmKeyId\": {\n \"type\": \"string\",\n \"description\": \"ID của LLM Key được sử dụng\"\n }\n },\n \"required\": [\n \"modelId\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật hoặc tạo mới cấu hình Video Generation tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentvoicegenerationcontroller_getconfig_v1\",\n \"description\": \"Lấy cấu hình Voice Generation của agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/voice-generation\",\n \"operationId\": \"agentvoicegenerationcontroller_getconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy cấu hình Voice Generation của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentvoicegenerationcontroller_removeconfig_v1\",\n \"description\": \"Gỡ cấu hình Voice Generation khỏi agent\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/voice-generation\",\n \"operationId\": \"agentvoicegenerationcontroller_removeconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ cấu hình Voice Generation khỏi agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentvoicegenerationcontroller_upsertconfig_v1\",\n \"description\": \"Cập nhật hoặc tạo mới cấu hình Voice Generation\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{agentId}/voice-generation\",\n \"operationId\": \"agentvoicegenerationcontroller_upsertconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"Model ID dùng cho Voice Generation\"\n },\n \"llmKeyId\": {\n \"type\": [\n \"string\",\n \"null\"\n ],\n \"description\": \"ID của LLM key sử dụng. Nếu không truyền sẽ dùng system key (mặc định).\"\n },\n \"voice\": {\n \"type\": \"string\",\n \"description\": \"Giọng nói/preset muốn sử dụng\"\n },\n \"speed\": {\n \"type\": \"number\",\n \"description\": \"Tốc độ nói (0.25 - 1.5)\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"description\": \"Timeout (2 - 10 Phút)\"\n }\n },\n \"required\": [\n \"modelId\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật hoặc tạo mới cấu hình Voice Generation tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentwebsitecontroller_getwebsites_v1\",\n \"description\": \"Lấy danh sách Website trong Agent với phân trang\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/websites\",\n \"operationId\": \"agentwebsitecontroller_getwebsites_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"default\": \"createdAt\",\n \"enum\": [\n \"websiteName\",\n \"host\",\n \"createdAt\",\n \"verify\"\n ],\n \"description\": \"Sắp xếp theo trường\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Website trong Agent với phân trang tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentwebsitecontroller_integratewebsites_v1\",\n \"description\": \"Tích hợp danh sách Website vào Agent\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{agentId}/websites\",\n \"operationId\": \"agentwebsitecontroller_integratewebsites_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"websiteIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách UUID của các Website trong hệ thống cần tích hợp\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"a\"\n }\n }\n }\n },\n \"required\": [\n \"websiteIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tích hợp danh sách Website vào Agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentwebsitecontroller_removewebsite_v1\",\n \"description\": \"Gỡ Website khỏi Agent\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/websites/{websiteId}\",\n \"operationId\": \"agentwebsitecontroller_removewebsite_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của Agent\"\n },\n \"websiteId\": {\n \"type\": \"string\",\n \"description\": \"UUID của Website trong hệ thống\"\n }\n },\n \"required\": [\n \"agentId\",\n \"websiteId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ Website khỏi Agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalobotcontroller_addzalobots_v1\",\n \"description\": \"Thêm nhiều Zalo Bots vào agent. Thêm nhiều Zalo Bots vào agent. Mỗi Zalo Bot chỉ có thể kết nối với một agent duy nhất.\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-bots\",\n \"operationId\": \"agentzalobotcontroller_addzalobots_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"zaloBotIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của Zalo Bots cần thêm\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"zaloBotIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm nhiều Zalo Bots vào agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalobotcontroller_getzalobots_v1\",\n \"description\": \"Lấy danh sách Zalo Bots của agent. Lấy danh sách tất cả Zalo Bots đã được kết nối với agent có phân trang.\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-bots\",\n \"operationId\": \"agentzalobotcontroller_getzalobots_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng items per page\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Tìm kiếm theo tên Zalo Bot\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"enum\": [\n \"createdAt\",\n \"name\",\n \"updatedAt\"\n ],\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Zalo Bots của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalobotcontroller_removezalobots_v1\",\n \"description\": \"Gỡ nhiều Zalo Bots khỏi agent. Gỡ kết nối nhiều Zalo Bots khỏi agent. Sau khi gỡ, Zalo Bots có thể kết nối với agent khác.\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-bots\",\n \"operationId\": \"agentzalobotcontroller_removezalobots_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"zaloBotIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của Zalo Bots cần gỡ\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"zaloBotIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ nhiều Zalo Bots khỏi agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalocontroller_addzaloofficialaccounts_v1\",\n \"description\": \"Thêm nhiều Zalo Official Accounts vào agent. Thêm nhiều Zalo Official Accounts vào agent. Tai khoan da gan voi chinh agent hien tai se duoc bo qua. Agent khong phai SEEDING chi duoc giu 1 OA, con agent SEEDING co the tai su dung OA da ket noi trong cung scope.\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-official-accounts\",\n \"operationId\": \"agentzalocontroller_addzaloofficialaccounts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"zaloOfficialAccountIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sach ID cua Zalo Official Accounts can them\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"zaloOfficialAccountIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm nhiều Zalo Official Accounts vào agent tool arguments\"\n },\n \"tags\": [\n \"Agent Zalo Official Accounts\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalocontroller_getzaloofficialaccounts_v1\",\n \"description\": \"Lấy danh sách Zalo Official Accounts được gán trong agent. Lấy danh sách tất cả Zalo Official Accounts đã được gán cho agent với phân trang và tìm kiếm.\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-official-accounts\",\n \"operationId\": \"agentzalocontroller_getzaloofficialaccounts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng items per page\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm theo tên OA\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Zalo Official Accounts được gán trong agent tool arguments\"\n },\n \"tags\": [\n \"Agent Zalo Official Accounts\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalocontroller_removezaloofficialaccounts_v1\",\n \"description\": \"Gỡ nhiều Zalo Official Accounts khỏi agent. Gỡ nhiều Zalo Official Accounts khỏi agent. Chỉ có thể gỡ những OA đang được gán cho agent này.\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-official-accounts\",\n \"operationId\": \"agentzalocontroller_removezaloofficialaccounts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"zaloOfficialAccountIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sach ID cua Zalo Official Accounts can go\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"zaloOfficialAccountIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ nhiều Zalo Official Accounts khỏi agent tool arguments\"\n },\n \"tags\": [\n \"Agent Zalo Official Accounts\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalopersonalcontroller_addzalopersonalaccounts_v1\",\n \"description\": \"Thêm nhiều Zalo Personal Accounts vào agent. Thêm nhiều Zalo Personal Accounts vào agent. Tai khoan da gan voi chinh agent hien tai se duoc bo qua. Agent SEEDING co the tai su dung moi tai khoan Zalo Personal trong cung scope. Agent khong phai SEEDING co the gan nhieu tai khoan, nhung moi tai khoan khong duoc dang duoc agent khong phai SEEDING khac su dung.\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-personal-accounts\",\n \"operationId\": \"agentzalopersonalcontroller_addzalopersonalaccounts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"zaloPersonalAccountIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của Zalo Personal Accounts cần thêm\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"zaloPersonalAccountIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm nhiều Zalo Personal Accounts vào agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalopersonalcontroller_getzalopersonalaccounts_v1\",\n \"description\": \"Lấy danh sách Zalo Personal Accounts được gán trong agent. Lấy danh sách tất cả Zalo Personal Accounts đã được gán cho agent với phân trang và tìm kiếm.\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-personal-accounts\",\n \"operationId\": \"agentzalopersonalcontroller_getzalopersonalaccounts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng items per page\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm theo tên tài khoản\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách Zalo Personal Accounts được gán trong agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_agentzalopersonalcontroller_removezalopersonalaccounts_v1\",\n \"description\": \"Gỡ nhiều Zalo Personal Accounts khỏi agent. Gỡ nhiều Zalo Personal Accounts khỏi agent. Chỉ có thể gỡ những tài khoản đang được gán cho agent này. Việc gỡ sẽ xóa luôn các cấu hình seeding liên quan.\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/zalo-personal-accounts\",\n \"operationId\": \"agentzalopersonalcontroller_removezalopersonalaccounts_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"zaloPersonalAccountIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của Zalo Personal Accounts cần gỡ\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"zaloPersonalAccountIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ nhiều Zalo Personal Accounts khỏi agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_assistantspendinghistorycontroller_findall_v1\",\n \"description\": \"Lấy danh sách lịch sử chi tiêu assistant. Lấy danh sách lịch sử chi tiêu assistant với phân trang và các bộ lọc. Có thể lọc theo agent ID, khoảng thời gian, và tìm kiếm. Trả về đầy đủ các trường từ entity.\",\n \"method\": \"GET\",\n \"path\": \"/v1/assistant-spending-history\",\n \"operationId\": \"assistantspendinghistorycontroller_findall_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent để lọc\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm theo tên agent hoặc số điểm\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"default\": \"createdAt\",\n \"enum\": [\n \"createdAt\",\n \"point\",\n \"agentId\",\n \"agentName\"\n ],\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n },\n \"fromDate\": {\n \"type\": \"number\",\n \"description\": \"Thời gian bắt đầu lọc (Unix timestamp miligiây)\"\n },\n \"toDate\": {\n \"type\": \"number\",\n \"description\": \"Thời gian kết thúc lọc (Unix timestamp miligiây)\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách lịch sử chi tiêu assistant tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_assistantspendinghistorycontroller_findbyid_v1\",\n \"description\": \"Lấy chi tiết lịch sử chi tiêu assistant. Lấy thông tin chi tiết của một bản ghi lịch sử chi tiêu assistant theo ID.\",\n \"method\": \"GET\",\n \"path\": \"/v1/assistant-spending-history/{id}\",\n \"operationId\": \"assistantspendinghistorycontroller_findbyid_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"UUID của bản ghi lịch sử chi tiêu\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy chi tiết lịch sử chi tiêu assistant tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_assistantspendinghistorycontroller_gettotalpointsbyagent_v1\",\n \"description\": \"Lấy tổng điểm đã chi tiêu theo agent. Tính tổng số điểm đã chi tiêu của một agent trong khoảng thời gian nhất định.\",\n \"method\": \"GET\",\n \"path\": \"/v1/assistant-spending-history/agent/{agentId}/total-points\",\n \"operationId\": \"assistantspendinghistorycontroller_gettotalpointsbyagent_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"UUID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"fromDate\": {\n \"type\": \"number\"\n },\n \"toDate\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"fromDate\",\n \"toDate\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy tổng điểm đã chi tiêu theo agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_basicinfousercontroller_getbasicinfo_v1\",\n \"description\": \"Lấy thông tin basic info của agent. Lấy thông tin cơ bản của agent bao gồm tên, avatar, model config, instruction\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/basic-info\",\n \"operationId\": \"basicinfousercontroller_getbasicinfo_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin basic info của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_basicinfousercontroller_updatebasicinfo_v1\",\n \"description\": \"Cập nhật basic info của agent. Cập nhật thông tin cơ bản của agent như tên, avatar, model config, instruction\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{id}/basic-info\",\n \"operationId\": \"basicinfousercontroller_updatebasicinfo_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Tên agent\"\n },\n \"avatarMimeType\": {\n \"type\": \"string\",\n \"description\": \"MIME type của avatar\"\n },\n \"modelId\": {\n \"type\": \"string\",\n \"description\": \"ID của model từ bảng models\"\n },\n \"keyLlmId\": {\n \"type\": \"string\",\n \"description\": \"ID của key LLM từ bảng integrations\"\n },\n \"isRotationKey\": {\n \"type\": \"boolean\",\n \"description\": \"Có sử dụng chế độ xoay vòng key không\"\n },\n \"modelConfig\": {\n \"description\": \"Cấu hình model (temperature, top_p, etc.)\",\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"temperature\": {\n \"type\": \"number\",\n \"description\": \"Giá trị temperature cho model (0-2)\"\n },\n \"top_p\": {\n \"type\": \"number\",\n \"description\": \"Giá trị top_p cho model (0-1)\"\n },\n \"top_k\": {\n \"type\": \"number\",\n \"description\": \"Giá trị top_k cho model\"\n },\n \"max_tokens\": {\n \"type\": \"number\",\n \"description\": \"Số tokens tối đa có thể sinh ra\"\n },\n \"thinking_level\": {\n \"type\": \"string\",\n \"description\": \"Mức độ thinking (nếu model hỗ trợ)\"\n }\n }\n }\n ]\n },\n \"instruction\": {\n \"type\": \"string\",\n \"description\": \"Hướng dẫn hoặc system prompt cho agent\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật basic info của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_conversiontemplatecontroller_getschematemplates_v1\",\n \"description\": \"Lấy danh sách template schema fields chưa có trong agent với cấu trúc đầy đủ. Lấy danh sách các trường schema có sẵn nhưng chưa được sử dụng trong conversion config của agent.\\n \\n **Cấu trúc trả về tương tự AvailableFieldsResponseDto:**\\n - **basic**: Danh sách các trường cơ bản (user_audience table)\\n - **custom**: Danh sách các trường tùy chỉnh (user_audience_custom_fields table)\\n - **customerPlatform**: Danh sách các trường customer platform (customer_platforms table)\\n - **tag**: Trường tag (user_audience_has_tags table)\\n - **summary**: Tổng hợp thống kê\\n \\n **Dot Notation Format:**\\n - `user_audience.email` - Basic fields từ user_audience table\\n - `user_audience_custom_fields.customer_age` - Custom fields\\n - `customer_platform.type` - Customer platform fields\\n - `user_audience_has_tags.tags` - Tag fields\\n \\n **Query Parameters:**\\n - `agentId`: UUID của agent (optional) - Nếu cung cấp, sẽ loại bỏ các field đã có trong conversion config\\n \\n Giúp user biết những trường nào có thể thêm vào conversion config.\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/conversion/templates\",\n \"operationId\": \"conversiontemplatecontroller_getschematemplates_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent (UUID format) - Optional\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách template schema fields chưa có trong agent với cấu trúc đầy đủ tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_conversionusercontroller_getconversion_v1\",\n \"description\": \"Lấy thông tin conversion config của agent với metadata đầy đủ. Lấy cấu hình chuyển đổi dữ liệu của agent với metadata đầy đủ từ segment fields: dataType, displayName (đa ngôn ngữ), description, supportedOperators, validation rules. Response bao gồm thông tin chi tiết của từng field với namespace, fieldKey, isRequired, và tất cả metadata cần thiết.\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/conversion\",\n \"operationId\": \"conversionusercontroller_getconversion_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent (UUID format)\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin conversion config của agent với metadata đầy đủ tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_conversionusercontroller_resetconversion_v1\",\n \"description\": \"Reset conversion config về mặc định. Reset cấu hình chuyển đổi về mặc định với email và phone (tối đa 20 fields)\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/conversion\",\n \"operationId\": \"conversionusercontroller_resetconversion_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent (UUID format)\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Reset conversion config về mặc định tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_conversionusercontroller_updateconversion_v1\",\n \"description\": \"Cập nhật conversion config của agent. Cập nhật cấu hình chuyển đổi dữ liệu. Email và số điện thoại luôn có sẵn mặc định, không thể xóa, chỉ có thể cập nhật description. Các field khác có thể thêm/sửa/xóa tự do.\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{id}/conversion\",\n \"operationId\": \"conversionusercontroller_updateconversion_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent (UUID format)\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"convertConfig\": {\n \"type\": \"object\",\n \"description\": \"Cấu hình conversion với ConvertConfig format: Record<string, ConvertFieldMapping>. Key là fullFieldName (namespace.fieldKey), Value là ConvertFieldMapping object\",\n \"additionalProperties\": {\n \"type\": \"object\",\n \"properties\": {\n \"namespace\": {\n \"type\": \"string\",\n \"description\": \"Namespace của field (user_audience, user_audience_custom_fields, etc.)\"\n },\n \"fieldKey\": {\n \"type\": \"string\",\n \"description\": \"Key của field (không bao gồm namespace)\"\n },\n \"isRequired\": {\n \"type\": \"boolean\",\n \"description\": \"Field có bắt buộc không\"\n },\n \"defaultValue\": {\n \"description\": \"Giá trị mặc định nếu không có dữ liệu\"\n },\n \"validation\": {\n \"type\": \"object\",\n \"description\": \"Validation cho field\",\n \"properties\": {\n \"min\": {\n \"type\": \"number\",\n \"description\": \"Giá trị tối thiểu\"\n },\n \"max\": {\n \"type\": \"number\",\n \"description\": \"Giá trị tối đa\"\n },\n \"pattern\": {\n \"type\": \"string\",\n \"description\": \"Regex pattern\"\n },\n \"options\": {\n \"type\": \"array\",\n \"description\": \"Danh sách options cho select field\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n }\n }\n },\n \"required\": [\n \"namespace\",\n \"fieldKey\",\n \"isRequired\"\n ]\n }\n }\n },\n \"required\": [\n \"convertConfig\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật conversion config của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_multiagentusercontroller_addmultiagents_v1\",\n \"description\": \"Thêm agent con vào multi-agent system\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/agents/{id}/multi-agents\",\n \"operationId\": \"multiagentusercontroller_addmultiagents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent cha\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"multiAgents\": {\n \"type\": \"array\",\n \"description\": \"Danh sách các agent con với prompt tương ứng (tối thiểu 1, tối đa 20)\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n },\n \"prompt\": {\n \"type\": \"string\",\n \"description\": \"Prompt cho agent này\"\n }\n },\n \"required\": [\n \"agentId\",\n \"prompt\"\n ]\n }\n }\n },\n \"required\": [\n \"multiAgents\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm agent con vào multi-agent system tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_multiagentusercontroller_getmultiagents_v1\",\n \"description\": \"Lấy danh sách agent con của agent cha\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/multi-agents\",\n \"operationId\": \"multiagentusercontroller_getmultiagents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent cha\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Tìm kiếm theo tên agent con\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n },\n \"promptSearch\": {\n \"type\": \"string\",\n \"description\": \"Tìm kiếm theo prompt\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách agent con của agent cha tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_multiagentusercontroller_removemultiagents_v1\",\n \"description\": \"Gỡ bỏ agent con khỏi multi-agent system\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{id}/multi-agents\",\n \"operationId\": \"multiagentusercontroller_removemultiagents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent cha\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"childAgentIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ID của các agent con cần gỡ bỏ (tối thiểu 1, tối đa 20)\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"childAgentIds\"\n ]\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Gỡ bỏ agent con khỏi multi-agent system tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_profileusercontroller_getprofile_v1\",\n \"description\": \"Lấy thông tin profile của agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{id}/profile\",\n \"operationId\": \"profileusercontroller_getprofile_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy thông tin profile của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_profileusercontroller_updateprofile_v1\",\n \"description\": \"Cập nhật profile của agent\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{id}/profile\",\n \"operationId\": \"profileusercontroller_updateprofile_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"gender\": {\n \"type\": \"string\",\n \"description\": \"Giới tính của agent\",\n \"enum\": [\n \"MALE\",\n \"FEMALE\",\n \"OTHER\"\n ]\n },\n \"dateOfBirth\": {\n \"type\": \"number\",\n \"description\": \"Ngày sinh (timestamp millis)\"\n },\n \"position\": {\n \"type\": \"string\",\n \"description\": \"Vị trí hoặc chức vụ của agent\"\n },\n \"education\": {\n \"type\": \"string\",\n \"description\": \"Trình độ học vấn của agent\"\n },\n \"skills\": {\n \"type\": \"array\",\n \"description\": \"Danh sách kỹ năng của agent (tối đa 20 kỹ năng)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"personality\": {\n \"type\": \"array\",\n \"description\": \"Danh sách tính cách của agent (tối đa 15 tính cách)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"languages\": {\n \"type\": \"array\",\n \"description\": \"Danh sách ngôn ngữ mà agent có thể sử dụng (tối đa 10 ngôn ngữ)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"nations\": {\n \"type\": \"string\",\n \"description\": \"Quốc gia hoặc khu vực mà agent phục vụ\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật profile của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_shipmentusercontroller_getshipmentconfig_v1\",\n \"description\": \"Lấy cấu hình shipment của agent. Lấy thông tin cấu hình vận chuyển của agent bao gồm provider và phí vận chuyển\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/agents/{agentId}/shipment\",\n \"operationId\": \"shipmentusercontroller_getshipmentconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy cấu hình shipment của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_shipmentusercontroller_removeshipmentconfig_v1\",\n \"description\": \"Xóa cấu hình shipment của agent. Reset cấu hình vận chuyển của agent về giá trị mặc định\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/agents/{agentId}/shipment\",\n \"operationId\": \"shipmentusercontroller_removeshipmentconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa cấu hình shipment của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_shipmentusercontroller_updateshipmentconfig_v1\",\n \"description\": \"Cập nhật cấu hình shipment của agent. Cập nhật thông tin cấu hình vận chuyển của agent\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/agents/{agentId}/shipment\",\n \"operationId\": \"shipmentusercontroller_updateshipmentconfig_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\",\n \"description\": \"ID của agent\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"userProviderShipmentId\": {\n \"type\": \"string\",\n \"description\": \"UUID tham chiếu đến bảng user_provider_shipments\"\n },\n \"receiverPayShippingFee\": {\n \"type\": \"boolean\",\n \"description\": \"Người nhận có trả phí vận chuyển không (true = người nhận trả, false = người gửi trả)\"\n },\n \"addressId\": {\n \"type\": \"number\",\n \"description\": \"ID địa chỉ shop của agent trong bảng user_shop_addresses_v2\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật cấu hình shipment của agent tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_additems_v1\",\n \"description\": \"Thêm checklist items\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/tasks/{taskId}/items\",\n \"operationId\": \"taskcontroller_additems_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {}\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Thêm checklist items tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_completeitems_v1\",\n \"description\": \"Hoàn thành checklist items\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/tasks/{taskId}/items/complete\",\n \"operationId\": \"taskcontroller_completeitems_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {}\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Hoàn thành checklist items tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_createtask_v1\",\n \"description\": \"Tạo task cho agent (kèm checklist)\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/tasks\",\n \"operationId\": \"taskcontroller_createtask_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {}\n }\n },\n \"required\": [\n \"query\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tạo task cho agent (kèm checklist) tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_deleteitem_v1\",\n \"description\": \"Xóa checklist item\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/tasks/{taskId}/items/{itemId}\",\n \"operationId\": \"taskcontroller_deleteitem_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n },\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\",\n \"itemId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa checklist item tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_deletetask_v1\",\n \"description\": \"Xóa task\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/tasks/{taskId}\",\n \"operationId\": \"taskcontroller_deletetask_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa task tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_gettaskdetail_v1\",\n \"description\": \"Chi tiết task\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/tasks/{taskId}\",\n \"operationId\": \"taskcontroller_gettaskdetail_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Chi tiết task tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_listevents_v1\",\n \"description\": \"Lịch sử sự kiện task\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/tasks/{taskId}/events\",\n \"operationId\": \"taskcontroller_listevents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lịch sử sự kiện task tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_listtasks_v1\",\n \"description\": \"Danh sách task\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/tasks\",\n \"operationId\": \"taskcontroller_listtasks_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần sắp xếp\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Danh sách task tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_updateitem_v1\",\n \"description\": \"Cập nhật checklist item\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/tasks/{taskId}/items/{itemId}\",\n \"operationId\": \"taskcontroller_updateitem_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n },\n \"itemId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\",\n \"itemId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {}\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật checklist item tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_taskcontroller_updatetask_v1\",\n \"description\": \"Cập nhật task\",\n \"method\": \"PATCH\",\n \"path\": \"/v1/user/tasks/{taskId}\",\n \"operationId\": \"taskcontroller_updatetask_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"taskId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"taskId\"\n ],\n \"additionalProperties\": false\n },\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"agentId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"agentId\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {}\n }\n },\n \"required\": [\n \"path\",\n \"query\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật task tool arguments\"\n },\n \"tags\": [\n \"User - Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_typeagentusercontroller_createcustomtypeagent_v1\",\n \"description\": \"Tạo custom type agent mới (type = CUSTOM)\",\n \"method\": \"POST\",\n \"path\": \"/v1/user/type-agents\",\n \"operationId\": \"typeagentusercontroller_createcustomtypeagent_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"object\",\n \"description\": \"Tên loại agent (đa ngôn ngữ)\"\n },\n \"description\": {\n \"type\": \"object\",\n \"description\": \"Mô tả chi tiết về loại agent (đa ngôn ngữ)\"\n },\n \"isAllModel\": {\n \"type\": \"boolean\",\n \"description\": \"Có áp dụng cho tất cả model không\",\n \"default\": true\n },\n \"modelRegistryIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách model registry IDs (chỉ khi isAllModel = false)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"priority\": {\n \"type\": \"number\",\n \"description\": \"Mức độ ưu tiên của loại agent (số càng cao càng ưu tiên)\",\n \"default\": 10\n },\n \"enableProfileCustomization\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép tùy chỉnh profile\",\n \"default\": false\n },\n \"enableTool\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng tool\",\n \"default\": false\n },\n \"enableOutputMessenger\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output messenger\",\n \"default\": false\n },\n \"enableOutputLivechat\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output livechat\",\n \"default\": false\n },\n \"enableOutputZaloOa\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output Zalo OA\",\n \"default\": false\n },\n \"enableOutputZaloPersonal\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output Zalo Personal\",\n \"default\": false\n },\n \"enableOutputZaloBot\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output Zalo Bot\",\n \"default\": false\n },\n \"enableOutputPayment\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output payment\",\n \"default\": false\n },\n \"enableConvert\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép chuyển đổi\",\n \"default\": false\n },\n \"enableResourcesUrls\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources URLs\",\n \"default\": false\n },\n \"enableResourcesKnowledgeFiles\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources knowledge files\",\n \"default\": false\n },\n \"enableResourcesMedias\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources medias\",\n \"default\": false\n },\n \"enableResourcesProducts\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources products\",\n \"default\": false\n },\n \"enableShipment\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép shipment\",\n \"default\": false\n },\n \"enableSeeding\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép seeding\",\n \"default\": false\n },\n \"enableMultiAgent\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép multi agent\",\n \"default\": false\n },\n \"enableStrategy\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép strategy\",\n \"default\": false\n },\n \"enableConfigStrategy\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép cấu hình strategy\",\n \"default\": false\n },\n \"enableGenImage\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép generate image\",\n \"default\": false\n },\n \"enableGenVideo\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép generate video\",\n \"default\": false\n },\n \"enableVoice\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng voice\",\n \"default\": false\n },\n \"enableWorkflows\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng workflows\",\n \"default\": false\n },\n \"enableOrder\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng order (đơn hàng)\",\n \"default\": false\n },\n \"mimeTypeIcon\": {\n \"type\": \"string\",\n \"description\": \"MIME type của icon để tạo URL upload (ví dụ: image/png, image/jpeg)\"\n }\n },\n \"required\": [\n \"name\"\n ]\n }\n },\n \"required\": [\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Tạo custom type agent mới (type = CUSTOM) tool arguments\"\n },\n \"tags\": [\n \"User - Type Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_typeagentusercontroller_deletecustomtypeagent_v1\",\n \"description\": \"Xóa custom type agent (chỉ owner, type = CUSTOM)\",\n \"method\": \"DELETE\",\n \"path\": \"/v1/user/type-agents/{id}\",\n \"operationId\": \"typeagentusercontroller_deletecustomtypeagent_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Xóa custom type agent (chỉ owner, type = CUSTOM) tool arguments\"\n },\n \"tags\": [\n \"User - Type Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_typeagentusercontroller_gettypeagentdetail_v1\",\n \"description\": \"Lấy chi tiết loại agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/type-agents/{id}\",\n \"operationId\": \"typeagentusercontroller_gettypeagentdetail_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"path\",\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy chi tiết loại agent tool arguments\"\n },\n \"tags\": [\n \"User - Type Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_typeagentusercontroller_gettypeagents_v1\",\n \"description\": \"Lấy danh sách loại agent\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/type-agents\",\n \"operationId\": \"typeagentusercontroller_gettypeagents_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"query\": {\n \"type\": \"object\",\n \"properties\": {\n \"page\": {\n \"type\": \"number\",\n \"default\": 1,\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\"\n },\n \"limit\": {\n \"type\": \"number\",\n \"default\": 10,\n \"description\": \"Số lượng bản ghi trên mỗi trang\"\n },\n \"search\": {\n \"type\": \"string\",\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\"\n },\n \"searchBy\": {\n \"type\": \"string\",\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\"\n },\n \"sortBy\": {\n \"type\": \"string\",\n \"default\": \"createdAt\",\n \"enum\": [\n \"name\",\n \"createdAt\"\n ],\n \"description\": \"Sắp xếp theo trường\"\n },\n \"sortDirection\": {\n \"type\": \"string\",\n \"default\": \"DESC\",\n \"enum\": [\n \"ASC\",\n \"DESC\"\n ],\n \"description\": \"Hướng sắp xếp\"\n }\n },\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy danh sách loại agent tool arguments\"\n },\n \"tags\": [\n \"User - Type Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_typeagentusercontroller_updatecustomtypeagent_v1\",\n \"description\": \"Cập nhật custom type agent (chỉ owner, type = CUSTOM)\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/type-agents/{id}\",\n \"operationId\": \"typeagentusercontroller_updatecustomtypeagent_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"path\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"id\"\n ],\n \"additionalProperties\": false\n },\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"object\",\n \"description\": \"Tên loại agent (đa ngôn ngữ)\"\n },\n \"description\": {\n \"type\": \"object\",\n \"description\": \"Mô tả chi tiết về loại agent (đa ngôn ngữ)\"\n },\n \"isAllModel\": {\n \"type\": \"boolean\",\n \"description\": \"Có áp dụng cho tất cả model không\"\n },\n \"modelRegistryIds\": {\n \"type\": \"array\",\n \"description\": \"Danh sách model registry IDs (chỉ khi isAllModel = false)\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"priority\": {\n \"type\": \"number\",\n \"description\": \"Mức độ ưu tiên của loại agent (số càng cao càng ưu tiên)\"\n },\n \"enableProfileCustomization\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép tùy chỉnh profile\"\n },\n \"enableTool\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng tool\"\n },\n \"enableOutputMessenger\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output messenger\"\n },\n \"enableOutputLivechat\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output livechat\"\n },\n \"enableOutputZaloOa\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output Zalo OA\"\n },\n \"enableOutputZaloPersonal\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output Zalo Personal\"\n },\n \"enableOutputZaloBot\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output Zalo Bot\"\n },\n \"enableOutputPayment\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép output payment\"\n },\n \"enableConvert\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép chuyển đổi\"\n },\n \"enableResourcesUrls\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources URLs\"\n },\n \"enableResourcesKnowledgeFiles\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources knowledge files\"\n },\n \"enableResourcesMedias\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources medias\"\n },\n \"enableResourcesProducts\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng resources products\"\n },\n \"enableShipment\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép shipment\"\n },\n \"enableSeeding\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép seeding\"\n },\n \"enableMultiAgent\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép multi agent\"\n },\n \"enableStrategy\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép strategy\"\n },\n \"enableConfigStrategy\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép cấu hình strategy\"\n },\n \"enableGenImage\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép generate image\"\n },\n \"enableGenVideo\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép generate video\"\n },\n \"enableVoice\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng voice\"\n },\n \"enableWorkflows\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng workflows\"\n },\n \"enableOrder\": {\n \"type\": \"boolean\",\n \"description\": \"Cho phép sử dụng order (đơn hàng)\"\n },\n \"mimeTypeIcon\": {\n \"type\": \"string\",\n \"description\": \"MIME type của icon để tạo URL upload (ví dụ: image/png, image/jpeg). Nếu cung cấp, sẽ tạo URL upload mới cho icon.\"\n }\n }\n }\n },\n \"required\": [\n \"path\",\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật custom type agent (chỉ owner, type = CUSTOM) tool arguments\"\n },\n \"tags\": [\n \"User - Type Agent\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_usermemoriescontroller_getusermemory_v1\",\n \"description\": \"Lấy memory của user. Lấy memory duy nhất của user. Nếu không có bản ghi thì trả về chuỗi rỗng.\",\n \"method\": \"GET\",\n \"path\": \"/v1/user/memories\",\n \"operationId\": \"usermemoriescontroller_getusermemory_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n }\n },\n \"required\": [\n \"headers\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Lấy memory của user tool arguments\"\n },\n \"tags\": [\n \"User - Memories\"\n ]\n },\n {\n \"name\": \"redai_openapi_agent_usermemoriescontroller_upsertusermemory_v1\",\n \"description\": \"Cập nhật memory của user. Cập nhật memory duy nhất của user. Nếu chưa có thì tạo mới, nếu đã có thì cập nhật.\",\n \"method\": \"PUT\",\n \"path\": \"/v1/user/memories\",\n \"operationId\": \"usermemoriescontroller_upsertusermemory_v1\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"headers\": {\n \"type\": \"object\",\n \"properties\": {\n \"x-workspace-id\": {\n \"type\": \"string\",\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\"\n },\n \"x-base-id\": {\n \"type\": \"string\",\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\"\n }\n },\n \"required\": [\n \"x-workspace-id\"\n ],\n \"additionalProperties\": false\n },\n \"body\": {\n \"type\": \"object\",\n \"properties\": {\n \"content\": {\n \"type\": \"string\",\n \"description\": \"Nội dung memory\"\n }\n },\n \"required\": [\n \"content\"\n ]\n }\n },\n \"required\": [\n \"headers\",\n \"body\"\n ],\n \"additionalProperties\": false,\n \"description\": \"Cập nhật memory của user tool arguments\"\n },\n \"tags\": [\n \"User - Memories\"\n ]\n }\n ]\n}\n","{\r\n \"openapi\": \"3.0.0\",\r\n \"paths\": {\r\n \"/v1/user/type-agents\": {\r\n \"get\": {\r\n \"operationId\": \"TypeAgentUserController_getTypeAgents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Sắp xếp theo trường\",\r\n \"schema\": {\r\n \"default\": \"createdAt\",\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"name\",\r\n \"createdAt\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách loại agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/PaginatedResult\"\r\n },\r\n {\r\n \"properties\": {\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/UserTypeAgentListItemDto\"\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách loại agent\",\r\n \"tags\": [\r\n \"User - Type Agent\"\r\n ]\r\n },\r\n \"post\": {\r\n \"operationId\": \"TypeAgentUserController_createCustomTypeAgent_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/CreateCustomTypeAgentDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"Tạo custom type agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"properties\": {\r\n \"statusCode\": {\r\n \"type\": \"number\",\r\n \"example\": 201\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Tạo custom type agent thành công\"\r\n },\r\n \"data\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"example\": 1\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tạo custom type agent mới (type = CUSTOM)\",\r\n \"tags\": [\r\n \"User - Type Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/type-agents/{id}\": {\r\n \"get\": {\r\n \"operationId\": \"TypeAgentUserController_getTypeAgentDetail_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy chi tiết loại agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/UserTypeAgentDetailDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_TYPE_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40000\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_TYPE_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy chi tiết loại agent\",\r\n \"tags\": [\r\n \"User - Type Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"operationId\": \"TypeAgentUserController_updateCustomTypeAgent_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateCustomTypeAgentDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật custom type agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"properties\": {\r\n \"statusCode\": {\r\n \"type\": \"number\",\r\n \"example\": 200\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Cập nhật custom type agent thành công\"\r\n },\r\n \"data\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"example\": 1\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_TYPE_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40000\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_TYPE_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật custom type agent (chỉ owner, type = CUSTOM)\",\r\n \"tags\": [\r\n \"User - Type Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"TypeAgentUserController_deleteCustomTypeAgent_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xóa custom type agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"properties\": {\r\n \"statusCode\": {\r\n \"type\": \"number\",\r\n \"example\": 200\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Xóa custom type agent thành công\"\r\n },\r\n \"data\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"example\": 1\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_TYPE_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40000\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_TYPE_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa custom type agent (chỉ owner, type = CUSTOM)\",\r\n \"tags\": [\r\n \"User - Type Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/multi-agents\": {\r\n \"get\": {\r\n \"operationId\": \"MultiAgentUserController_getMultiAgents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent cha\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Tìm kiếm theo tên agent con\",\r\n \"schema\": {\r\n \"example\": \"Marketing Assistant\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"promptSearch\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Tìm kiếm theo prompt\",\r\n \"schema\": {\r\n \"example\": \"marketing\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách agent con thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/PaginatedResult\"\r\n },\r\n {\r\n \"properties\": {\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/MultiAgentResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.Không tìm thấy quan hệ multi-agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40310\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Không tìm thấy quan hệ multi-agent\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách agent con của agent cha\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"post\": {\r\n \"operationId\": \"MultiAgentUserController_addMultiAgents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent cha\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddMultiAgentDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Thêm agent con thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/BulkMultiAgentOperationResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Agent không thể tham chiếu đến chính mình\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40311\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Agent không thể tham chiếu đến chính mình\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm agent con vào multi-agent system\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"MultiAgentUserController_removeMultiAgents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent cha\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/RemoveMultiAgentDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ bỏ agent con thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/BulkMultiAgentOperationResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.Không tìm thấy quan hệ multi-agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40310\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Không tìm thấy quan hệ multi-agent\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ bỏ agent con khỏi multi-agent system\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/profile\": {\r\n \"get\": {\r\n \"operationId\": \"ProfileUserController_getProfile_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin profile thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ProfileResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin profile của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"operationId\": \"ProfileUserController_updateProfile_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateProfileDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật profile thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ProfileResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật profile của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/conversion\": {\r\n \"get\": {\r\n \"description\": \"Lấy cấu hình chuyển đổi dữ liệu của agent với metadata đầy đủ từ segment fields: dataType, displayName (đa ngôn ngữ), description, supportedOperators, validation rules. Response bao gồm thông tin chi tiết của từng field với namespace, fieldKey, isRequired, và tất cả metadata cần thiết.\",\r\n \"operationId\": \"ConversionUserController_getConversion_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent (UUID format)\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin conversion config với metadata thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/ConversionDetailResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin conversion config của agent với metadata đầy đủ\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"description\": \"Cập nhật cấu hình chuyển đổi dữ liệu. Email và số điện thoại luôn có sẵn mặc định, không thể xóa, chỉ có thể cập nhật description. Các field khác có thể thêm/sửa/xóa tự do.\",\r\n \"operationId\": \"ConversionUserController_updateConversion_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent (UUID format)\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"description\": \"Cấu hình conversion cần cập nhật\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateConversionDto\"\r\n },\r\n \"examples\": {\r\n \"conversion-config-example\": {\r\n \"summary\": \"Ví dụ cấu hình conversion\",\r\n \"description\": \"Cấu hình conversion với các field cơ bản và custom field\",\r\n \"value\": {\r\n \"convertConfig\": {\r\n \"user_audience.email\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"email\",\r\n \"isRequired\": true\r\n },\r\n \"user_audience.name\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"name\",\r\n \"isRequired\": true\r\n },\r\n \"user_audience.phone\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"phone\",\r\n \"isRequired\": false\r\n },\r\n \"user_audience_custom_fields.company\": {\r\n \"namespace\": \"user_audience_custom_fields\",\r\n \"fieldKey\": \"company\",\r\n \"isRequired\": false,\r\n \"defaultValue\": \"Unknown\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật conversion config thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/ConversionDetailResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.INVALID_MULTI_AGENT_CONFIG\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40114\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.INVALID_MULTI_AGENT_CONFIG\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật conversion config của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"post\": {\r\n \"description\": \"Reset cấu hình chuyển đổi về mặc định với email và phone (tối đa 20 fields)\",\r\n \"operationId\": \"ConversionUserController_resetConversion_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent (UUID format)\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Reset conversion config thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/ConversionDetailResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Reset conversion config về mặc định\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/basic-info\": {\r\n \"get\": {\r\n \"description\": \"Lấy thông tin cơ bản của agent bao gồm tên, avatar, model config, instruction\",\r\n \"operationId\": \"BasicInfoUserController_getBasicInfo_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin basic info thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin basic info của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"description\": \"Cập nhật thông tin cơ bản của agent như tên, avatar, model config, instruction\",\r\n \"operationId\": \"BasicInfoUserController_updateBasicInfo_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateBasicInfoDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật basic info thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.INVALID_S3_KEY\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40071\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.INVALID_S3_KEY\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật basic info của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"patch\": {\r\n \"description\": \"Cập nhật name, instruction, avatar, description, metadata của agent\",\r\n \"operationId\": \"AgentUserController_updateAgentBasicInfo_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateAgentBasicInfoDto\"\r\n },\r\n \"examples\": {\r\n \"minimal\": {\r\n \"summary\": \"Cập nhật tên\",\r\n \"description\": \"Chỉ cập nhật tên agent\",\r\n \"value\": {\r\n \"name\": \"New Agent Name\"\r\n }\r\n },\r\n \"full\": {\r\n \"summary\": \"Cập nhật đầy đủ\",\r\n \"description\": \"Cập nhật tất cả thông tin cơ bản\",\r\n \"value\": {\r\n \"name\": \"Customer Support Agent V2\",\r\n \"instruction\": \"Bạn là nhân viên hỗ trợ khách hàng chuyên nghiệp với 10 năm kinh nghiệm...\",\r\n \"avatar\": \"https://example.com/new-avatar.png\",\r\n \"description\": \"Agent hỗ trợ khách hàng 24/7 với AI\",\r\n \"metadata\": {\r\n \"category\": \"support\",\r\n \"version\": \"2.0\",\r\n \"tags\": [\r\n \"customer-service\",\r\n \"ai\"\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật thông tin cơ bản thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.AGENT_UPDATE_FAILED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40073\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_UPDATE_FAILED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật thông tin cơ bản của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-pages\": {\r\n \"post\": {\r\n \"operationId\": \"AgentFacebookPageController_integrateFacebookPages_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/IntegrateFacebookPageDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Tích hợp danh sách Facebook Page thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/IntegrateFacebookPagesResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy trang Facebook\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11300\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy trang Facebook\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"409\": {\r\n \"description\": \"Trang Facebook đã được tích hợp với agent khác\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11307\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Trang Facebook đã được tích hợp với agent khác\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tích hợp danh sách Facebook Page vào Agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookPageController_getFacebookPages_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Sắp xếp theo trường\",\r\n \"schema\": {\r\n \"default\": \"createdAt\",\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"pageName\",\r\n \"createdAt\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách Facebook Page thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/PaginatedResult\"\r\n },\r\n {\r\n \"properties\": {\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/AgentFacebookPageDto\"\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Facebook Page trong Agent với phân trang\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-pages/{pageId}\": {\r\n \"delete\": {\r\n \"operationId\": \"AgentFacebookPageController_removeFacebookPage_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"pageId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của Facebook Page trong hệ thống\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ Facebook Page thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/Gỡ Facebook Page thành công\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Trang Facebook chưa được tích hợp với agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11308\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Trang Facebook chưa được tích hợp với agent\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ Facebook Page khỏi Agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/flow-schema\": {\r\n \"get\": {\r\n \"description\": \"Lay toan bo cau truc AgentFlowSchema cua agent\",\r\n \"operationId\": \"AgentFlowSchemaUserController_getFlowSchema_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lay flow schema thanh cong\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Agent không hỗ trợ cấu hình strategy\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40175\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Agent không hỗ trợ cấu hình strategy\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lay flow schema cua agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"description\": \"Luu toan bo AgentFlowSchema cho agent\",\r\n \"operationId\": \"AgentFlowSchemaUserController_createFlowSchema_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AgentFlowSchemaDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Luu flow schema thanh cong\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Dữ liệu config strategy không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40178\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Dữ liệu config strategy không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tao/Cap nhat flow schema cua agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/flow-schema/markdown\": {\r\n \"get\": {\r\n \"description\": \"Chuyen AgentFlowSchema sang dinh dang markdown\",\r\n \"operationId\": \"AgentFlowSchemaUserController_getFlowSchemaMarkdown_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lay markdown thanh cong\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Dữ liệu config strategy không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40178\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Dữ liệu config strategy không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lay flow schema dang markdown\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/flow-schema/steps\": {\r\n \"post\": {\r\n \"description\": \"Tao step moi va noi voi source step (co the chen vao giua neu co targetStepId)\",\r\n \"operationId\": \"AgentFlowSchemaUserController_addStep_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddFlowStepDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Them step thanh cong\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Dữ liệu config strategy không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40178\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Dữ liệu config strategy không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Them step vao flow schema\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/flow-schema/steps/{stepId}\": {\r\n \"patch\": {\r\n \"description\": \"Cap nhat prompt/example/label cua step va reason cua canh vao step\",\r\n \"operationId\": \"AgentFlowSchemaUserController_updateStep_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"stepId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua step\",\r\n \"schema\": {\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateFlowStepDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cap nhat step thanh cong\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Dữ liệu config strategy không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40178\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Dữ liệu config strategy không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cap nhat step\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Xoa step khoi flow schema\",\r\n \"operationId\": \"AgentFlowSchemaUserController_deleteStep_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"stepId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID cua step\",\r\n \"schema\": {\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xoa step thanh cong\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Dữ liệu config strategy không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40178\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Dữ liệu config strategy không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xoa step\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/websites\": {\r\n \"post\": {\r\n \"operationId\": \"AgentWebsiteController_integrateWebsites_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/IntegrateWebsiteDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Tích hợp danh sách Website thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/IntegrateWebsitesResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.Website không tồn tại hoặc không thuộc về người dùng\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40090\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Website không tồn tại hoặc không thuộc về người dùng\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"409\": {\r\n \"description\": \"errors.agent.Website đã được tích hợp với agent khác\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40091\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Website đã được tích hợp với agent khác\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tích hợp danh sách Website vào Agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"operationId\": \"AgentWebsiteController_getWebsites_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Sắp xếp theo trường\",\r\n \"schema\": {\r\n \"default\": \"createdAt\",\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"websiteName\",\r\n \"host\",\r\n \"createdAt\",\r\n \"verify\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách Website thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/PaginatedResult\"\r\n },\r\n {\r\n \"properties\": {\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/AgentWebsiteDto\"\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Website trong Agent với phân trang\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/websites/{websiteId}\": {\r\n \"delete\": {\r\n \"operationId\": \"AgentWebsiteController_removeWebsite_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"websiteId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của Website trong hệ thống\",\r\n \"schema\": {\r\n \"example\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ Website thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/Gỡ Website thành công\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.Website chưa được tích hợp với agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40092\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Website chưa được tích hợp với agent\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ Website khỏi Agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/export-template\": {\r\n \"post\": {\r\n \"description\": \"Export agent thành template JSON để bán trên marketplace. Template chứa core data, generation configs, và memories. Trả về danh sách dependencies (tools, multi-agents, knowledge files) để user add attachments khi tạo product.\",\r\n \"operationId\": \"AgentTemplateUserController_exportAgentTemplate_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent cần export\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ExportAgentTemplateDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Export thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ExportAgentTemplateResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Export agent thành template\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/import-template\": {\r\n \"post\": {\r\n \"description\": \"Import agent template từ marketplace. API này được gọi tự động sau khi buyer mua product và attachments đã được share.\",\r\n \"operationId\": \"AgentTemplateUserController_importAgentTemplate_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ImportAgentTemplateDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Import thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ImportAgentTemplateResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Import agent template\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/templates\": {\r\n \"get\": {\r\n \"description\": \"Lấy danh sách agent templates của user với pagination và search\",\r\n \"operationId\": \"AgentTemplateUserController_listAgentTemplates_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng items mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Tìm kiếm theo tên template\",\r\n \"schema\": {\r\n \"example\": \"Customer Support\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Sắp xếp theo field\",\r\n \"schema\": {\r\n \"default\": \"createdAt\",\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"createdAt\",\r\n \"updatedAt\",\r\n \"name\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"marketplaceReady\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc chỉ lấy templates sẵn sàng bán trên marketplace (isOwner = true)\",\r\n \"schema\": {\r\n \"example\": true,\r\n \"type\": \"boolean\"\r\n }\r\n },\r\n {\r\n \"name\": \"isOwner\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc theo quyền sở hữu template (true = owner, false = không phải owner)\",\r\n \"schema\": {\r\n \"example\": true,\r\n \"type\": \"boolean\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ListAgentTemplatesResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"List agent templates\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Xóa nhiều agent templates cùng lúc\",\r\n \"operationId\": \"AgentTemplateUserController_bulkDeleteAgentTemplates_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/BulkDeleteAgentTemplatesDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xóa thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/BulkDeleteResultDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Bulk delete agent templates\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/templates/{id}\": {\r\n \"put\": {\r\n \"description\": \"Cập nhật thông tin agent template (name, description, version)\",\r\n \"operationId\": \"AgentTemplateUserController_updateAgentTemplate_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của template cần update\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateAgentTemplateDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Update thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateAgentTemplateResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Update agent template\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents\": {\r\n \"get\": {\r\n \"description\": \"Lấy danh sách agents của user với các filter bao gồm marketplace ready filter\",\r\n \"operationId\": \"AgentUserController_getAgents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Sắp xếp theo trường\",\r\n \"schema\": {\r\n \"default\": \"createdAt\",\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"name\",\r\n \"createdAt\",\r\n \"updatedAt\",\r\n \"exp\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"notCurrentAgentId\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc ra các agent không phải là agent hiện tại\",\r\n \"schema\": {\r\n \"example\": \"agent-uuid\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"isForSale\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc theo trạng thái đăng bán (true: đang bán, false: không bán)\",\r\n \"schema\": {\r\n \"example\": false,\r\n \"type\": \"boolean\"\r\n }\r\n },\r\n {\r\n \"name\": \"marketplaceReady\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc tài nguyên sẵn sàng tạo sản phẩm marketplace (tự động áp dụng: deletedAt = null, chưa có sản phẩm nào sử dụng)\",\r\n \"schema\": {\r\n \"example\": true,\r\n \"type\": \"boolean\"\r\n }\r\n },\r\n {\r\n \"name\": \"isStrategy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc theo loại agent\",\r\n \"schema\": {\r\n \"example\": false,\r\n \"type\": \"boolean\"\r\n }\r\n },\r\n {\r\n \"name\": \"active\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc theo trạng thái active của agent (true: active, false: inactive)\",\r\n \"schema\": {\r\n \"example\": true,\r\n \"type\": \"boolean\"\r\n }\r\n },\r\n {\r\n \"name\": \"includeVoiceModel\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Include voice model config (samplingRate) in the response\",\r\n \"schema\": {\r\n \"example\": false,\r\n \"type\": \"boolean\"\r\n }\r\n },\r\n {\r\n \"name\": \"typeId\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Lọc theo type agent ID\",\r\n \"schema\": {\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách agents thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.Lỗi khi lấy danh sách agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40098\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Lỗi khi lấy danh sách agent\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách user agents\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"post\": {\r\n \"description\": \"Tạo agent mới với modelId từ bảng models thống nhất\",\r\n \"operationId\": \"AgentUserController_createAgent_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/CreateAgentDto\"\r\n },\r\n \"examples\": {\r\n \"basic\": {\r\n \"summary\": \"Basic Agent\",\r\n \"description\": \"Tạo agent với các thông tin cơ bản bắt buộc\",\r\n \"value\": {\r\n \"name\": \"My Assistant\",\r\n \"typeId\": 1,\r\n \"modelId\": \"gpt-4o\",\r\n \"modelConfig\": {\r\n \"temperature\": 0.7,\r\n \"max_tokens\": 1000\r\n }\r\n }\r\n },\r\n \"standard\": {\r\n \"summary\": \"Standard Agent\",\r\n \"description\": \"Tạo agent với thông tin đầy đủ phổ biến\",\r\n \"value\": {\r\n \"name\": \"Customer Support Agent\",\r\n \"typeId\": 1,\r\n \"modelId\": \"gpt-4o\",\r\n \"instruction\": \"Bạn là nhân viên hỗ trợ khách hàng chuyên nghiệp. Hãy trả lời lịch sự và ngắn gọn.\",\r\n \"modelConfig\": {\r\n \"temperature\": 0.5,\r\n \"top_p\": 0.9,\r\n \"max_tokens\": 2000\r\n },\r\n \"profile\": {\r\n \"gender\": \"FEMALE\",\r\n \"position\": \"CS Staff\",\r\n \"nations\": \"Vietnam\",\r\n \"languages\": [\r\n \"Vietnamese\",\r\n \"English\"\r\n ]\r\n }\r\n }\r\n },\r\n \"full\": {\r\n \"summary\": \"Full Config Agent\",\r\n \"description\": \"Tạo agent với đầy đủ các cấu hình nâng cao\",\r\n \"value\": {\r\n \"name\": \"Advanced Marketing Specialist\",\r\n \"typeId\": 1,\r\n \"modelId\": \"claude-3-5-sonnet\",\r\n \"instruction\": \"Bạn là chuyên gia marketing với 10 năm kinh nghiệm. Hãy giúp tôi viết nội dung quảng cáo.\",\r\n \"memory\": \"Ghi nhớ các chiến dịch trước đây: ...\",\r\n \"modelConfig\": {\r\n \"temperature\": 0.8,\r\n \"top_p\": 0.95,\r\n \"top_k\": 40,\r\n \"max_tokens\": 4000,\r\n \"thinking_level\": \"high\"\r\n },\r\n \"profile\": {\r\n \"gender\": \"MALE\",\r\n \"dateOfBirth\": 631152000000,\r\n \"position\": \"Senior Marketer\",\r\n \"education\": \"MBA\",\r\n \"skills\": [\r\n \"Copywriting\",\r\n \"SEO\",\r\n \"Data Analysis\"\r\n ],\r\n \"personality\": [\r\n \"Creative\",\r\n \"Analytical\"\r\n ],\r\n \"languages\": [\r\n \"Vietnamese\",\r\n \"English\",\r\n \"Japanese\"\r\n ],\r\n \"nations\": \"Vietnam\"\r\n },\r\n \"outputMessenger\": {\r\n \"facebookPageIds\": [\r\n \"page-uuid-1\",\r\n \"page-uuid-2\"\r\n ]\r\n },\r\n \"outputWebsite\": {\r\n \"userWebsiteIds\": [\r\n \"website-uuid-1\"\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"Tạo agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.AGENT_CREATION_FAILED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40072\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_CREATION_FAILED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tạo agent mới\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/simple\": {\r\n \"get\": {\r\n \"description\": \"Lấy thông tin quan trọng của agent như tên, instruction (ít thông tin hơn basic-info)\",\r\n \"operationId\": \"AgentUserController_getAgentSimpleDetail_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin đơn giản thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.Lỗi khi lấy thông tin agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40186\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.Lỗi khi lấy thông tin agent\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin đơn giản của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/active\": {\r\n \"patch\": {\r\n \"description\": \"Đảo ngược trạng thái hoạt động của agent (toggle active status)\",\r\n \"operationId\": \"AgentUserController_toggleAgentActive_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật trạng thái agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.AGENT_UPDATE_FAILED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40073\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_UPDATE_FAILED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Bật/tắt trạng thái hoạt động của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/strategy\": {\r\n \"get\": {\r\n \"description\": \"Lấy thông tin strategy của agent bao gồm strategy agent (strategyId) và config strategy (flowSchema)\",\r\n \"operationId\": \"AgentUserController_getAgentStrategy_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin strategy thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.STRATEGY_FETCH_FAILED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40070\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.STRATEGY_FETCH_FAILED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin strategy của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"patch\": {\r\n \"description\": \"Cập nhật strategy cho agent (chỉ strategyId để liên kết với strategy có sẵn)\",\r\n \"operationId\": \"AgentUserController_updateAgentStrategy_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateStrategyDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật strategy thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.STRATEGY_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40063\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.STRATEGY_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.AGENT_UPDATE_FAILED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40073\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_UPDATE_FAILED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật strategy cho agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}\": {\r\n \"delete\": {\r\n \"description\": \"Xóa agent và tất cả dữ liệu liên quan (connections, URLs, knowledge files, MCP, tools, memories, etc.)\",\r\n \"operationId\": \"AgentUserController_deleteAgent_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xóa agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.AGENT_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40019\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"errors.agent.AGENT_DELETE_FAILED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40074\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_DELETE_FAILED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/projects\": {\r\n \"get\": {\r\n \"operationId\": \"AgentUserController_getAgentProjects_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách projects của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"post\": {\r\n \"operationId\": \"AgentUserController_addAgentProjects_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddAgentProjectsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm nhiều projects vào agent (bulk add)\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"AgentUserController_removeAgentProjects_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/RemoveAgentProjectsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa nhiều projects khỏi agent (bulk remove)\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/zalo-official-accounts\": {\r\n \"post\": {\r\n \"description\": \"Thêm nhiều Zalo Official Accounts vào agent. Tai khoan da gan voi chinh agent hien tai se duoc bo qua. Agent khong phai SEEDING chi duoc giu 1 OA, con agent SEEDING co the tai su dung OA da ket noi trong cung scope.\",\r\n \"operationId\": \"AgentZaloController_addZaloOfficialAccounts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddZaloOfficialAccountsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Thêm Zalo Official Accounts thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Dữ liệu đầu vào không hợp lệ\"\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy agent\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm nhiều Zalo Official Accounts vào agent\",\r\n \"tags\": [\r\n \"Agent Zalo Official Accounts\"\r\n ]\r\n },\r\n \"get\": {\r\n \"description\": \"Lấy danh sách tất cả Zalo Official Accounts đã được gán cho agent với phân trang và tìm kiếm.\",\r\n \"operationId\": \"AgentZaloController_getZaloOfficialAccounts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng items per page\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm theo tên OA\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách Zalo Official Accounts thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy agent\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Zalo Official Accounts được gán trong agent\",\r\n \"tags\": [\r\n \"Agent Zalo Official Accounts\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Gỡ nhiều Zalo Official Accounts khỏi agent. Chỉ có thể gỡ những OA đang được gán cho agent này.\",\r\n \"operationId\": \"AgentZaloController_removeZaloOfficialAccounts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/RemoveZaloOfficialAccountsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ Zalo Official Accounts thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Dữ liệu đầu vào không hợp lệ\"\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy agent\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ nhiều Zalo Official Accounts khỏi agent\",\r\n \"tags\": [\r\n \"Agent Zalo Official Accounts\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/zalo-personal-accounts\": {\r\n \"post\": {\r\n \"description\": \"Thêm nhiều Zalo Personal Accounts vào agent. Tai khoan da gan voi chinh agent hien tai se duoc bo qua. Agent SEEDING co the tai su dung moi tai khoan Zalo Personal trong cung scope. Agent khong phai SEEDING co the gan nhieu tai khoan, nhung moi tai khoan khong duoc dang duoc agent khong phai SEEDING khac su dung.\",\r\n \"operationId\": \"AgentZaloPersonalController_addZaloPersonalAccounts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddZaloPersonalAccountsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Thêm Zalo Personal Accounts thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Dữ liệu đầu vào không hợp lệ\"\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy agent\"\r\n },\r\n \"409\": {\r\n \"description\": \"Zalo Personal Account đã được kết nối với agent khác\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm nhiều Zalo Personal Accounts vào agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"description\": \"Lấy danh sách tất cả Zalo Personal Accounts đã được gán cho agent với phân trang và tìm kiếm.\",\r\n \"operationId\": \"AgentZaloPersonalController_getZaloPersonalAccounts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng items per page\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm theo tên tài khoản\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách Zalo Personal Accounts thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy agent\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Zalo Personal Accounts được gán trong agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Gỡ nhiều Zalo Personal Accounts khỏi agent. Chỉ có thể gỡ những tài khoản đang được gán cho agent này. Việc gỡ sẽ xóa luôn các cấu hình seeding liên quan.\",\r\n \"operationId\": \"AgentZaloPersonalController_removeZaloPersonalAccounts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/RemoveZaloPersonalAccountsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ Zalo Personal Accounts thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Dữ liệu đầu vào không hợp lệ\"\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy agent\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ nhiều Zalo Personal Accounts khỏi agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/zalo-bots\": {\r\n \"post\": {\r\n \"description\": \"Thêm nhiều Zalo Bots vào agent. Mỗi Zalo Bot chỉ có thể kết nối với một agent duy nhất.\",\r\n \"operationId\": \"AgentZaloBotController_addZaloBots_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddZaloBotDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"Thêm Zalo Bots thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Dữ liệu đầu vào không hợp lệ\"\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập agent hoặc Zalo Bot\"\r\n },\r\n \"409\": {\r\n \"description\": \"Zalo Bot đã được kết nối với agent khác\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm nhiều Zalo Bots vào agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"description\": \"Lấy danh sách tất cả Zalo Bots đã được kết nối với agent có phân trang.\",\r\n \"operationId\": \"AgentZaloBotController_getZaloBots_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng items per page\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Tìm kiếm theo tên Zalo Bot\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"enum\": [\r\n \"createdAt\",\r\n \"name\",\r\n \"updatedAt\"\r\n ],\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ],\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách Zalo Bots thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập agent\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Zalo Bots của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Gỡ kết nối nhiều Zalo Bots khỏi agent. Sau khi gỡ, Zalo Bots có thể kết nối với agent khác.\",\r\n \"operationId\": \"AgentZaloBotController_removeZaloBots_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/RemoveZaloBotDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ Zalo Bots khỏi agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"Dữ liệu đầu vào không hợp lệ\"\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập agent hoặc Zalo Bot\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ nhiều Zalo Bots khỏi agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/payment\": {\r\n \"post\": {\r\n \"description\": \"Liên kết payment gateway với agent. Yêu cầu agent có enableOutputToPayment = true\",\r\n \"operationId\": \"AgentPaymentGatewayController_addPaymentGateway_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddPaymentGatewayToAgentDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"Thêm payment gateway vào agent thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.AGENT_OUTPUT_NOT_SUPPORTED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40076\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.AGENT_OUTPUT_NOT_SUPPORTED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40075\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm payment gateway vào agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Gỡ bỏ liên kết payment gateway với agent và xóa tất cả phương thức thanh toán\",\r\n \"operationId\": \"AgentPaymentGatewayController_removePaymentGateway_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xóa liên kết payment gateway thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40075\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa liên kết payment gateway khỏi agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"description\": \"Lấy thông tin chi tiết payment gateway được liên kết với agent\",\r\n \"operationId\": \"AgentPaymentGatewayController_getPaymentGateway_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin payment gateway thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AgentPaymentGatewayResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40075\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin payment gateway của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/payment-gateway\": {\r\n \"get\": {\r\n \"description\": \"Endpoint alias cho backward compatibility. Lấy thông tin chi tiết payment gateway được liên kết với agent\",\r\n \"operationId\": \"AgentPaymentGatewayAliasController_getPaymentGateway_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin payment gateway thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AgentPaymentGatewayResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40075\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.PAYMENT_GATEWAY_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin payment gateway của agent (alias)\",\r\n \"tags\": [\r\n \"User Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/memories\": {\r\n \"put\": {\r\n \"description\": \"Cập nhật memory duy nhất của user. Nếu chưa có thì tạo mới, nếu đã có thì cập nhật.\",\r\n \"operationId\": \"UserMemoriesController_upsertUserMemory_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"description\": \"Dữ liệu cập nhật memory\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateUserMemoryDto\"\r\n },\r\n \"examples\": {\r\n \"example1\": {\r\n \"summary\": \"Cập nhật memory\",\r\n \"description\": \"Ví dụ cập nhật memory của user\",\r\n \"value\": {\r\n \"content\": \"Người dùng thích nghe nhạc pop và rock\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật memory thành công\",\r\n \"schema\": {\r\n \"example\": {\r\n \"success\": true,\r\n \"message\": \"Cập nhật memory thành công\",\r\n \"data\": {\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"content\": \"Người dùng thích nghe nhạc pop và rock\"\r\n }\r\n }\r\n },\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.USER_MEMORY_INVALID_DATA (Code: 7002)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"401\": {\r\n \"description\": \"Token không hợp lệ hoặc đã hết hạn (Code: 10004)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật memory của user\",\r\n \"tags\": [\r\n \"User - Memories\"\r\n ]\r\n },\r\n \"get\": {\r\n \"description\": \"Lấy memory duy nhất của user. Nếu không có bản ghi thì trả về chuỗi rỗng.\",\r\n \"operationId\": \"UserMemoriesController_getUserMemory_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy memory thành công\",\r\n \"schema\": {\r\n \"example\": {\r\n \"success\": true,\r\n \"message\": \"Lấy memory thành công\",\r\n \"data\": \"Người dùng thích nghe nhạc pop và rock\"\r\n }\r\n },\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"401\": {\r\n \"description\": \"Token không hợp lệ hoặc đã hết hạn (Code: 10004)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy memory của user\",\r\n \"tags\": [\r\n \"User - Memories\"\r\n ]\r\n }\r\n },\r\n \"/v1/agent/{agentId}/memories\": {\r\n \"get\": {\r\n \"description\": \"Lấy memory của agent theo agentId. Nếu không có memory thì trả về chuỗi rỗng.\",\r\n \"operationId\": \"AgentMemoriesController_getAgentMemory_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent cần lấy memory\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"example\": \"456e7890-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy memory thành công\",\r\n \"schema\": {\r\n \"example\": {\r\n \"success\": true,\r\n \"message\": \"Lấy memory thành công\",\r\n \"data\": \"Thông tin ghi nhớ của agent\"\r\n }\r\n },\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"401\": {\r\n \"description\": \"Token không hợp lệ hoặc đã hết hạn (Code: 10004)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"errors.agent.AGENT_MEMORY_ACCESS_DENIED (Code: 7051)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy memory của agent\",\r\n \"tags\": [\r\n \"User - Agent Memories\"\r\n ]\r\n },\r\n \"put\": {\r\n \"description\": \"Cập nhật memory của agent. Chỉ có thể cập nhật memory của agent thuộc về user hiện tại.\",\r\n \"operationId\": \"AgentMemoriesController_updateAgentMemory_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent cần cập nhật memory\",\r\n \"schema\": {\r\n \"format\": \"uuid\",\r\n \"example\": \"456e7890-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"description\": \"Dữ liệu cập nhật memory của agent\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateAgentMemoryDto\"\r\n },\r\n \"examples\": {\r\n \"example1\": {\r\n \"summary\": \"Cập nhật memory\",\r\n \"description\": \"Ví dụ cập nhật memory cho agent\",\r\n \"value\": {\r\n \"memory\": \"Thông tin ghi nhớ mới cho agent\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật memory thành công\",\r\n \"schema\": {\r\n \"example\": {\r\n \"success\": true,\r\n \"message\": \"Cập nhật memory thành công\",\r\n \"data\": {\r\n \"id\": \"456e7890-e89b-12d3-a456-426614174000\",\r\n \"memory\": \"Thông tin ghi nhớ mới cho agent\"\r\n }\r\n }\r\n },\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"400\": {\r\n \"description\": \"errors.agent.AGENT_MEMORY_INVALID_DATA (Code: 7052)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"401\": {\r\n \"description\": \"Token không hợp lệ hoặc đã hết hạn (Code: 10004)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"errors.agent.AGENT_MEMORY_ACCESS_DENIED (Code: 7051)\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiErrorResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật memory của agent\",\r\n \"tags\": [\r\n \"User - Agent Memories\"\r\n ]\r\n }\r\n },\r\n \"/v1/assistant-spending-history\": {\r\n \"get\": {\r\n \"description\": \"Lấy danh sách lịch sử chi tiêu assistant với phân trang và các bộ lọc. Có thể lọc theo agent ID, khoảng thời gian, và tìm kiếm. Trả về đầy đủ các trường từ entity.\",\r\n \"operationId\": \"AssistantSpendingHistoryController_findAll_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"UUID của agent để lọc\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm theo tên agent hoặc số điểm\",\r\n \"schema\": {\r\n \"example\": \"Assistant AI\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"createdAt\",\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"createdAt\",\r\n \"point\",\r\n \"agentId\",\r\n \"agentName\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"fromDate\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Thời gian bắt đầu lọc (Unix timestamp miligiây)\",\r\n \"schema\": {\r\n \"example\": 1640995200000,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"toDate\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Thời gian kết thúc lọc (Unix timestamp miligiây)\",\r\n \"schema\": {\r\n \"example\": 1672531199000,\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Danh sách lịch sử chi tiêu assistant\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/\"\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lỗi server khi lấy danh sách lịch sử chi tiêu\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách lịch sử chi tiêu assistant\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/assistant-spending-history/{id}\": {\r\n \"get\": {\r\n \"description\": \"Lấy thông tin chi tiết của một bản ghi lịch sử chi tiêu assistant theo ID.\",\r\n \"operationId\": \"AssistantSpendingHistoryController_findById_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của bản ghi lịch sử chi tiêu\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Chi tiết lịch sử chi tiêu assistant\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AssistantSpendingHistoryResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy lịch sử chi tiêu assistant\"\r\n },\r\n \"500\": {\r\n \"description\": \"Lỗi server khi lấy chi tiết lịch sử chi tiêu\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy chi tiết lịch sử chi tiêu assistant\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/assistant-spending-history/agent/{agentId}/total-points\": {\r\n \"get\": {\r\n \"description\": \"Tính tổng số điểm đã chi tiêu của một agent trong khoảng thời gian nhất định.\",\r\n \"operationId\": \"AssistantSpendingHistoryController_getTotalPointsByAgent_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"987fcdeb-51a2-43d7-8f9e-123456789abc\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"fromDate\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"toDate\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"number\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Tổng điểm đã chi tiêu\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 0\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Tính tổng điểm chi tiêu thành công\"\r\n },\r\n \"result\": {\r\n \"type\": \"number\",\r\n \"example\": 1500\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lỗi server khi tính tổng điểm chi tiêu\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy tổng điểm đã chi tiêu theo agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/shipment\": {\r\n \"get\": {\r\n \"description\": \"Lấy thông tin cấu hình vận chuyển của agent bao gồm provider và phí vận chuyển\",\r\n \"operationId\": \"ShipmentUserController_getShipmentConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy cấu hình shipment thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy cấu hình shipment của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"description\": \"Cập nhật thông tin cấu hình vận chuyển của agent\",\r\n \"operationId\": \"ShipmentUserController_updateShipmentConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateShipmentConfigDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật cấu hình shipment thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật cấu hình shipment của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"description\": \"Reset cấu hình vận chuyển của agent về giá trị mặc định\",\r\n \"operationId\": \"ShipmentUserController_removeShipmentConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xóa cấu hình shipment thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa cấu hình shipment của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/conversion/templates\": {\r\n \"get\": {\r\n \"description\": \"Lấy danh sách các trường schema có sẵn nhưng chưa được sử dụng trong conversion config của agent.\\n \\n **Cấu trúc trả về tương tự AvailableFieldsResponseDto:**\\n - **basic**: Danh sách các trường cơ bản (user_audience table)\\n - **custom**: Danh sách các trường tùy chỉnh (user_audience_custom_fields table)\\n - **customerPlatform**: Danh sách các trường customer platform (customer_platforms table)\\n - **tag**: Trường tag (user_audience_has_tags table)\\n - **summary**: Tổng hợp thống kê\\n \\n **Dot Notation Format:**\\n - `user_audience.email` - Basic fields từ user_audience table\\n - `user_audience_custom_fields.customer_age` - Custom fields\\n - `customer_platform.type` - Customer platform fields\\n - `user_audience_has_tags.tags` - Tag fields\\n \\n **Query Parameters:**\\n - `agentId`: UUID của agent (optional) - Nếu cung cấp, sẽ loại bỏ các field đã có trong conversion config\\n \\n Giúp user biết những trường nào có thể thêm vào conversion config.\",\r\n \"operationId\": \"ConversionTemplateController_getSchemaTemplates_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": false,\r\n \"in\": \"path\",\r\n \"description\": \"ID của agent (UUID format) - Optional\",\r\n \"schema\": {\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách schema templates thành công với cấu trúc đầy đủ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/SchemaTemplatesResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Lõi không xác định.\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 9999\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Lõi không xác định.\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách template schema fields chưa có trong agent với cấu trúc đầy đủ\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/seeding/{integrationId}/{conversationId}\": {\r\n \"patch\": {\r\n \"description\": \"Cập nhật cấu hình seeding cho một conversation cụ thể\",\r\n \"operationId\": \"AgentSeedingController_updateSeedingConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"conversationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật cấu hình seeding thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.seeding.CONVERSATION_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40450\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.seeding.CONVERSATION_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật cấu hình seeding\",\r\n \"tags\": [\r\n \"User - Agent Seeding\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/seeding/{integrationId}/configs\": {\r\n \"get\": {\r\n \"description\": \"Lấy danh sách seeding configs của một integration cụ thể với phân trang và tìm kiếm\",\r\n \"operationId\": \"AgentSeedingController_getSeedingConfigsByIntegration_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách seeding configs thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.seeding.INTEGRATION_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40430\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.seeding.INTEGRATION_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách seeding configs theo integration\",\r\n \"tags\": [\r\n \"User - Agent Seeding\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/seeding/{integrationId}/bulk-add\": {\r\n \"post\": {\r\n \"description\": \"Thêm nhiều cấu hình seeding cùng lúc cho một integration\",\r\n \"operationId\": \"AgentSeedingController_bulkAddSeedingConfigs_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/BulkAddSeedingConfigsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"Bulk thêm seeding configs thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.seeding.INTEGRATION_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40430\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.seeding.INTEGRATION_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"409\": {\r\n \"description\": \"errors.agent.seeding.CONVERSATION_ALREADY_CONFIGURED\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40451\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.seeding.CONVERSATION_ALREADY_CONFIGURED\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Bulk thêm seeding configs\",\r\n \"tags\": [\r\n \"User - Agent Seeding\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/seeding/{integrationId}/bulk-remove\": {\r\n \"delete\": {\r\n \"description\": \"Xóa nhiều cấu hình seeding cùng lúc theo danh sách conversation IDs\",\r\n \"operationId\": \"AgentSeedingController_bulkRemoveSeedingConfigs_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/BulkRemoveSeedingConfigsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Bulk xóa seeding configs thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"errors.agent.seeding.CONVERSATION_NOT_FOUND\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 40450\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"errors.agent.seeding.CONVERSATION_NOT_FOUND\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Bulk xóa seeding configs\",\r\n \"tags\": [\r\n \"User - Agent Seeding\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/image-generation\": {\r\n \"get\": {\r\n \"operationId\": \"AgentImageGenerationController_getConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"8f14e45f-ea9e-4b6b-8f5c-2a7b9e3d1c0a\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentImageGenerationConfigDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy cấu hình Image Generation của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"operationId\": \"AgentImageGenerationController_upsertConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"8f14e45f-ea9e-4b6b-8f5c-2a7b9e3d1c0a\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpsertImageGenerationDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentImageGenerationConfigDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật hoặc tạo mới cấu hình Image Generation\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"AgentImageGenerationController_removeConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"8f14e45f-ea9e-4b6b-8f5c-2a7b9e3d1c0a\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentMessageResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ cấu hình Image Generation khỏi agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/video-generation\": {\r\n \"get\": {\r\n \"operationId\": \"AgentVideoGenerationController_getConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"8f14e45f-ea9e-4b6b-8f5c-2a7b9e3d1c0a\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentVideoGenerationConfigDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy cấu hình Video Generation của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"operationId\": \"AgentVideoGenerationController_upsertConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"8f14e45f-ea9e-4b6b-8f5c-2a7b9e3d1c0a\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpsertVideoGenerationDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentVideoGenerationConfigDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật hoặc tạo mới cấu hình Video Generation\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"AgentVideoGenerationController_removeConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"example\": \"8f14e45f-ea9e-4b6b-8f5c-2a7b9e3d1c0a\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentMessageResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ cấu hình Video Generation khỏi agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{agentId}/voice-generation\": {\r\n \"get\": {\r\n \"operationId\": \"AgentVoiceGenerationController_getConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentVoiceGenerationConfigDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy cấu hình Voice Generation của agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"put\": {\r\n \"operationId\": \"AgentVoiceGenerationController_upsertConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpsertVoiceGenerationDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Cập nhật cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentVoiceGenerationConfigDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật hoặc tạo mới cấu hình Voice Generation\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"AgentVoiceGenerationController_removeConfig_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"UUID của agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Gỡ cấu hình thành công\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"result\": {\r\n \"$ref\": \"#/components/schemas/AgentMessageResponseDto\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Gỡ cấu hình Voice Generation khỏi agent\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/tasks\": {\r\n \"post\": {\r\n \"operationId\": \"TaskController_createTask_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/CreateTaskDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tạo task cho agent (kèm checklist)\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"operationId\": \"TaskController_listTasks_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số trang hiện tại (bắt đầu từ 1)\",\r\n \"schema\": {\r\n \"default\": 1,\r\n \"example\": 1,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"schema\": {\r\n \"default\": 10,\r\n \"example\": 10,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"search\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Từ khóa tìm kiếm (tìm kiếm theo họ tên, email, hoặc số điện thoại - không phân biệt chữ hoa/thường)\",\r\n \"schema\": {\r\n \"example\": \"sơn\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"searchBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần tìm kiếm (có thể chỉ định một hoặc nhiều trường, phân cách bằng dấu phẩy)\",\r\n \"schema\": {\r\n \"example\": \"name,email\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortBy\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Trường cần sắp xếp\",\r\n \"schema\": {\r\n \"example\": \"createdAt\",\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"sortDirection\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Hướng sắp xếp\",\r\n \"schema\": {\r\n \"default\": \"DESC\",\r\n \"example\": \"DESC\",\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"ASC\",\r\n \"DESC\"\r\n ]\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Danh sách task\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/tasks/{taskId}\": {\r\n \"patch\": {\r\n \"operationId\": \"TaskController_updateTask_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateTaskDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật task\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"get\": {\r\n \"operationId\": \"TaskController_getTaskDetail_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Chi tiết task\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"TaskController_deleteTask_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa task\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/tasks/{taskId}/items\": {\r\n \"post\": {\r\n \"operationId\": \"TaskController_addItems_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/AddItemsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"201\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Thêm checklist items\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/tasks/{taskId}/items/{itemId}\": {\r\n \"patch\": {\r\n \"operationId\": \"TaskController_updateItem_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"itemId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/UpdateTaskItemDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Cập nhật checklist item\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"TaskController_deleteItem_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"itemId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa checklist item\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/tasks/{taskId}/items/complete\": {\r\n \"post\": {\r\n \"operationId\": \"TaskController_completeItems_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/CompleteItemsDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Hoàn thành checklist items\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/tasks/{taskId}/events\": {\r\n \"get\": {\r\n \"operationId\": \"TaskController_listEvents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"agentId\",\r\n \"required\": true,\r\n \"in\": \"query\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"taskId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/ApiResponseDto\"\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lịch sử sự kiện task\",\r\n \"tags\": [\r\n \"User - Agent\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-pixels/{integrationId}/pixels\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookPixelController_getPixels_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Ads/Business Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng pixels trả về tối đa\",\r\n \"schema\": {\r\n \"minimum\": 1,\r\n \"maximum\": 100,\r\n \"default\": 25,\r\n \"example\": 25,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"after\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Cursor để phân trang\",\r\n \"schema\": {\r\n \"example\": \"MTAxNTExOTQ1MjAwNzI5NDE=\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách pixels thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấy danh sách Facebook Pixel\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11360\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấy danh sách Facebook Pixel\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Facebook Pixels\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-pixels/{integrationId}/pixels/{pixelId}\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookPixelController_getPixelDetails_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"pixelId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Pixel\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin pixel thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấy thông tin chi tiết Pixel\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11361\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấy thông tin chi tiết Pixel\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin chi tiết Facebook Pixel\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-pixels/{integrationId}/pixels/{pixelId}/events\": {\r\n \"post\": {\r\n \"operationId\": \"AgentFacebookPixelController_trackEvents_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"pixelId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Pixel\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/TrackPixelEventsRequestDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Track events thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Sự kiện Pixel không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11363\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Sự kiện Pixel không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể theo dõi sự kiện Pixel\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11362\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể theo dõi sự kiện Pixel\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Track conversion events qua Facebook Conversions API\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-pixels/pixels/{pixelId}/code-snippet\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookPixelController_getPixelCodeSnippet_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"pixelId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Pixel\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy code snippet thành công\"\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy pixel code snippet để cài đặt trên website\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookCatalogController_getCatalogs_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Business Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng catalogs trả về tối đa\",\r\n \"schema\": {\r\n \"minimum\": 1,\r\n \"maximum\": 100,\r\n \"default\": 25,\r\n \"example\": 25,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"after\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Cursor để phân trang\",\r\n \"schema\": {\r\n \"example\": \"MTAxNTExOTQ1MjAwNzI5NDE=\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách catalogs thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấy danh sách Catalog\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11380\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấy danh sách Catalog\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách Facebook Catalogs\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/products\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookCatalogController_getCatalogProducts_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"catalogId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Catalog\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"limit\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Số lượng products trả về tối đa\",\r\n \"schema\": {\r\n \"minimum\": 1,\r\n \"maximum\": 100,\r\n \"default\": 50,\r\n \"example\": 50,\r\n \"type\": \"number\"\r\n }\r\n },\r\n {\r\n \"name\": \"after\",\r\n \"required\": false,\r\n \"in\": \"query\",\r\n \"description\": \"Cursor để phân trang\",\r\n \"schema\": {\r\n \"example\": \"MTAxNTExOTQ1MjAwNzI5NDE=\",\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách products thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấynh sách sản phẩm\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11381\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấynh sách sản phẩm\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách products trong catalog\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n },\r\n \"post\": {\r\n \"operationId\": \"AgentFacebookCatalogController_upsertProduct_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"catalogId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Catalog\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"requestBody\": {\r\n \"required\": true,\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"$ref\": \"#/components/schemas/CreateProductDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Tạo/cập nhật product thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Không thể tạo/cập nhật sản phẩm\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11383\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể tạo/cập nhật sản phẩm\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Tạo hoặc cập nhật product trong catalog\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/products/{productId}\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookCatalogController_getProduct_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"productId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Product\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy thông tin product thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấy thông tin sản phẩm\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11382\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấy thông tin sản phẩm\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy thông tin chi tiết product\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n },\r\n \"delete\": {\r\n \"operationId\": \"AgentFacebookCatalogController_deleteProduct_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"productId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Product\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Xóa product thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể xóa sản phẩm\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11384\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể xóa sản phẩm\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Xóa product khỏi catalog\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/feeds\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookCatalogController_getProductFeeds_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"catalogId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Catalog\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách feeds thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấy danh sách Product Feed\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11385\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấy danh sách Product Feed\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách product feeds\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n },\r\n \"/v1/user/agents/{id}/facebook-catalogs/{integrationId}/catalogs/{catalogId}/sets\": {\r\n \"get\": {\r\n \"operationId\": \"AgentFacebookCatalogController_getProductSets_v1\",\r\n \"parameters\": [\r\n {\r\n \"name\": \"x-workspace-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Workspace ID của tenant hiện tại (UUID)\",\r\n \"required\": true,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"x-base-id\",\r\n \"in\": \"header\",\r\n \"description\": \"Base ID của tenant hiện tại (UUID, optional)\",\r\n \"required\": false,\r\n \"schema\": {\r\n \"type\": \"string\",\r\n \"format\": \"uuid\"\r\n }\r\n },\r\n {\r\n \"name\": \"id\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Agent\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"integrationId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Facebook Integration\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n {\r\n \"name\": \"catalogId\",\r\n \"required\": true,\r\n \"in\": \"path\",\r\n \"description\": \"ID của Catalog\",\r\n \"schema\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n ],\r\n \"responses\": {\r\n \"200\": {\r\n \"description\": \"Lấy danh sách sets thành công\"\r\n },\r\n \"400\": {\r\n \"description\": \"Yêu cầu không hợp lệ\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10034\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Yêu cầu không hợp lệ\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"403\": {\r\n \"description\": \"Không có quyền truy cập\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 10011\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không có quyền truy cập\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"404\": {\r\n \"description\": \"Không tìm thấy tích hợp\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11600\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không tìm thấy tích hợp\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"500\": {\r\n \"description\": \"Không thể lấy danh sách Product Set\",\r\n \"content\": {\r\n \"application/json\": {\r\n \"schema\": {\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/CommonApiErrorResponseDto\"\r\n },\r\n {\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"example\": 11386\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"example\": \"Không thể lấy danh sách Product Set\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"nullable\": true,\r\n \"example\": null\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"security\": [\r\n {\r\n \"JWT-auth\": []\r\n }\r\n ],\r\n \"summary\": \"Lấy danh sách product sets\",\r\n \"tags\": [\r\n \"User - Integration - Facebook Ads\"\r\n ]\r\n }\r\n }\r\n },\r\n \"info\": {\r\n \"title\": \"RedAI User API Export - Agent\",\r\n \"description\": \"OpenAPI export cho nhóm API user đã chọn: Agent.\",\r\n \"version\": \"1.0\",\r\n \"contact\": {\r\n \"name\": \"RedAI Support\",\r\n \"url\": \"https://redai.com/support\",\r\n \"email\": \"support@redai.com\"\r\n },\r\n \"license\": {\r\n \"name\": \"MIT\",\r\n \"url\": \"https://opensource.org/licenses/MIT\"\r\n }\r\n },\r\n \"tags\": [\r\n {\r\n \"name\": \"User - Type Agent\",\r\n \"description\": \"User type agent endpoints\"\r\n },\r\n {\r\n \"name\": \"User - Memories\",\r\n \"description\": \"User memories management endpoints\"\r\n },\r\n {\r\n \"name\": \"User - Agent Memories\",\r\n \"description\": \"User agent memories management endpoints\"\r\n }\r\n ],\r\n \"servers\": [\r\n {\r\n \"url\": \"http://localhost:3000\",\r\n \"description\": \"Local Server\"\r\n },\r\n {\r\n \"url\": \"http://localhost:3003\",\r\n \"description\": \"Development Server\"\r\n },\r\n {\r\n \"url\": \"http://14.225.29.196:3003\",\r\n \"description\": \"Test Server\"\r\n },\r\n {\r\n \"url\": \"https://api-staging.redai.vn\",\r\n \"description\": \"Staging Server\"\r\n },\r\n {\r\n \"url\": \"https://v2.redai.vn/api\",\r\n \"description\": \"Production Server\"\r\n }\r\n ],\r\n \"components\": {\r\n \"schemas\": {\r\n \"ApiResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mã trạng thái (0: Thành công, khác 0: Mã lỗi cụ thể)\",\r\n \"example\": 0\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"description\": \"Thông điệp mô tả kết quả\",\r\n \"example\": \"Success\"\r\n }\r\n },\r\n \"required\": [\r\n \"code\",\r\n \"message\"\r\n ]\r\n },\r\n \"PaginatedResult\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"items\": {\r\n \"description\": \"Danh sách các item\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"array\"\r\n }\r\n },\r\n \"meta\": {\r\n \"description\": \"Thông tin phân trang\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/PaginationMeta\"\r\n }\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"items\",\r\n \"meta\"\r\n ]\r\n },\r\n \"UserTypeAgentListItemDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID của loại agent\",\r\n \"example\": 1\r\n },\r\n \"name\": {\r\n \"type\": \"object\",\r\n \"description\": \"Tên loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Chatbot Agent\",\r\n \"en\": \"Chatbot Agent\",\r\n \"zh\": \"Chatbot Agent\"\r\n }\r\n },\r\n \"description\": {\r\n \"type\": \"object\",\r\n \"description\": \"Mô tả chi tiết về loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Loại agent hỗ trợ chat với người dùng\",\r\n \"en\": \"Agent type to support chatting with users\",\r\n \"zh\": \"支持与用户聊天的代理类型\"\r\n }\r\n },\r\n \"icon\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL icon của loại agent (đã convert từ S3 key)\",\r\n \"example\": \"https://cdn.example.com/type-agents/icons/abc123.png\"\r\n },\r\n \"isAllModel\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có áp dụng cho tất cả model không\",\r\n \"example\": true\r\n },\r\n \"enableProfileCustomization\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép tùy chỉnh profile\",\r\n \"example\": false\r\n },\r\n \"enableTool\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng tool\",\r\n \"example\": false\r\n },\r\n \"enableOutputMessenger\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output messenger\",\r\n \"example\": false\r\n },\r\n \"enableOutputLivechat\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output livechat\",\r\n \"example\": false\r\n },\r\n \"enableOutputZaloOa\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo OA\",\r\n \"example\": false\r\n },\r\n \"enableOutputZaloPersonal\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Personal\",\r\n \"example\": false\r\n },\r\n \"enableOutputZaloBot\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Bot\",\r\n \"example\": false\r\n },\r\n \"enableOutputPayment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output payment\",\r\n \"example\": false\r\n },\r\n \"enableConvert\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép chuyển đổi\",\r\n \"example\": false\r\n },\r\n \"enableResourcesUrls\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources URLs\",\r\n \"example\": false\r\n },\r\n \"enableResourcesKnowledgeFiles\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources knowledge files\",\r\n \"example\": false\r\n },\r\n \"enableResourcesMedias\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources medias\",\r\n \"example\": false\r\n },\r\n \"enableResourcesProducts\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources products\",\r\n \"example\": false\r\n },\r\n \"enableShipment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép shipment\",\r\n \"example\": false\r\n },\r\n \"enableSeeding\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép seeding\",\r\n \"example\": false\r\n },\r\n \"enableMultiAgent\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép multi agent\",\r\n \"example\": false\r\n },\r\n \"enableStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép strategy\",\r\n \"example\": false\r\n },\r\n \"enableConfigStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép cấu hình strategy\",\r\n \"example\": false\r\n },\r\n \"enableGenImage\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate image\",\r\n \"example\": false\r\n },\r\n \"enableGenVideo\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate video\",\r\n \"example\": false\r\n },\r\n \"enableVoice\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép Voice\",\r\n \"example\": false\r\n },\r\n \"enableWorkflows\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng workflows\",\r\n \"example\": false\r\n },\r\n \"enableOrder\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng order (đơn hàng)\",\r\n \"example\": false\r\n },\r\n \"priority\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mức độ ưu tiên của loại agent\",\r\n \"example\": 1\r\n },\r\n \"createdAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời điểm tạo (timestamp millis)\",\r\n \"example\": 1672531200000\r\n },\r\n \"isSystem\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Là loại agent của hệ thống\",\r\n \"example\": true\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"name\",\r\n \"isAllModel\",\r\n \"enableProfileCustomization\",\r\n \"enableTool\",\r\n \"enableOutputMessenger\",\r\n \"enableOutputLivechat\",\r\n \"enableOutputZaloOa\",\r\n \"enableOutputZaloPersonal\",\r\n \"enableOutputZaloBot\",\r\n \"enableOutputPayment\",\r\n \"enableConvert\",\r\n \"enableResourcesUrls\",\r\n \"enableResourcesKnowledgeFiles\",\r\n \"enableResourcesMedias\",\r\n \"enableResourcesProducts\",\r\n \"enableShipment\",\r\n \"enableSeeding\",\r\n \"enableMultiAgent\",\r\n \"enableStrategy\",\r\n \"enableConfigStrategy\",\r\n \"enableGenImage\",\r\n \"enableGenVideo\",\r\n \"enableVoice\",\r\n \"enableWorkflows\",\r\n \"enableOrder\",\r\n \"priority\",\r\n \"createdAt\",\r\n \"isSystem\"\r\n ]\r\n },\r\n \"CommonApiErrorResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mã lỗi\"\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"description\": \"Thông báo lỗi\"\r\n },\r\n \"detail\": {\r\n \"type\": \"object\",\r\n \"description\": \"Thông tin chi tiết nếu có\"\r\n }\r\n },\r\n \"required\": [\r\n \"code\",\r\n \"message\"\r\n ]\r\n },\r\n \"CreateCustomTypeAgentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"object\",\r\n \"description\": \"Tên loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Custom Agent\",\r\n \"en\": \"Custom Agent\",\r\n \"zh\": \"自定义代理\"\r\n }\r\n },\r\n \"description\": {\r\n \"type\": \"object\",\r\n \"description\": \"Mô tả chi tiết về loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Mô tả agent\",\r\n \"en\": \"Agent description\",\r\n \"zh\": \"代理描述\"\r\n }\r\n },\r\n \"isAllModel\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có áp dụng cho tất cả model không\",\r\n \"example\": true,\r\n \"default\": true\r\n },\r\n \"modelRegistryIds\": {\r\n \"description\": \"Danh sách model registry IDs (chỉ khi isAllModel = false)\",\r\n \"example\": [\r\n \"uuid-1\",\r\n \"uuid-2\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"priority\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mức độ ưu tiên của loại agent (số càng cao càng ưu tiên)\",\r\n \"example\": 10,\r\n \"default\": 10\r\n },\r\n \"enableProfileCustomization\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép tùy chỉnh profile\",\r\n \"default\": false\r\n },\r\n \"enableTool\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng tool\",\r\n \"default\": false\r\n },\r\n \"enableOutputMessenger\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output messenger\",\r\n \"default\": false\r\n },\r\n \"enableOutputLivechat\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output livechat\",\r\n \"default\": false\r\n },\r\n \"enableOutputZaloOa\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo OA\",\r\n \"default\": false\r\n },\r\n \"enableOutputZaloPersonal\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Personal\",\r\n \"default\": false\r\n },\r\n \"enableOutputZaloBot\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Bot\",\r\n \"default\": false\r\n },\r\n \"enableOutputPayment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output payment\",\r\n \"default\": false\r\n },\r\n \"enableConvert\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép chuyển đổi\",\r\n \"default\": false\r\n },\r\n \"enableResourcesUrls\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources URLs\",\r\n \"default\": false\r\n },\r\n \"enableResourcesKnowledgeFiles\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources knowledge files\",\r\n \"default\": false\r\n },\r\n \"enableResourcesMedias\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources medias\",\r\n \"default\": false\r\n },\r\n \"enableResourcesProducts\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources products\",\r\n \"default\": false\r\n },\r\n \"enableShipment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép shipment\",\r\n \"default\": false\r\n },\r\n \"enableSeeding\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép seeding\",\r\n \"default\": false\r\n },\r\n \"enableMultiAgent\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép multi agent\",\r\n \"default\": false\r\n },\r\n \"enableStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép strategy\",\r\n \"default\": false\r\n },\r\n \"enableConfigStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép cấu hình strategy\",\r\n \"default\": false\r\n },\r\n \"enableGenImage\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate image\",\r\n \"default\": false\r\n },\r\n \"enableGenVideo\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate video\",\r\n \"default\": false\r\n },\r\n \"enableVoice\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng voice\",\r\n \"default\": false\r\n },\r\n \"enableWorkflows\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng workflows\",\r\n \"default\": false\r\n },\r\n \"enableOrder\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng order (đơn hàng)\",\r\n \"default\": false\r\n },\r\n \"mimeTypeIcon\": {\r\n \"type\": \"string\",\r\n \"description\": \"MIME type của icon để tạo URL upload (ví dụ: image/png, image/jpeg)\",\r\n \"example\": \"image/png\"\r\n }\r\n },\r\n \"required\": [\r\n \"name\"\r\n ]\r\n },\r\n \"UserTypeAgentDetailDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID của loại agent\",\r\n \"example\": 1\r\n },\r\n \"name\": {\r\n \"type\": \"object\",\r\n \"description\": \"Tên loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Chatbot Agent\",\r\n \"en\": \"Chatbot Agent\",\r\n \"zh\": \"Chatbot Agent\"\r\n }\r\n },\r\n \"description\": {\r\n \"type\": \"object\",\r\n \"description\": \"Mô tả chi tiết về loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Loại agent hỗ trợ chat với người dùng\",\r\n \"en\": \"Agent type to support chatting with users\",\r\n \"zh\": \"支持与用户聊天的代理类型\"\r\n }\r\n },\r\n \"icon\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL icon của loại agent (đã convert từ S3 key)\",\r\n \"example\": \"https://cdn.example.com/type-agents/icons/abc123.png\"\r\n },\r\n \"isAllModel\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có áp dụng cho tất cả model không\",\r\n \"example\": true\r\n },\r\n \"enableProfileCustomization\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép tùy chỉnh profile\",\r\n \"example\": false\r\n },\r\n \"enableTool\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng tool\",\r\n \"example\": false\r\n },\r\n \"enableOutputMessenger\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output messenger\",\r\n \"example\": false\r\n },\r\n \"enableOutputLivechat\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output livechat\",\r\n \"example\": false\r\n },\r\n \"enableOutputZaloOa\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo OA\",\r\n \"example\": false\r\n },\r\n \"enableOutputZaloPersonal\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Personal\",\r\n \"example\": false\r\n },\r\n \"enableOutputZaloBot\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Bot\",\r\n \"example\": false\r\n },\r\n \"enableOutputPayment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output payment\",\r\n \"example\": false\r\n },\r\n \"enableConvert\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép chuyển đổi\",\r\n \"example\": false\r\n },\r\n \"enableResourcesUrls\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources URLs\",\r\n \"example\": false\r\n },\r\n \"enableResourcesKnowledgeFiles\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources knowledge files\",\r\n \"example\": false\r\n },\r\n \"enableResourcesMedias\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources medias\",\r\n \"example\": false\r\n },\r\n \"enableResourcesProducts\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources products\",\r\n \"example\": false\r\n },\r\n \"enableShipment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép shipment\",\r\n \"example\": false\r\n },\r\n \"enableSeeding\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép seeding\",\r\n \"example\": false\r\n },\r\n \"enableMultiAgent\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép multi agent\",\r\n \"example\": false\r\n },\r\n \"enableStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép strategy\",\r\n \"example\": false\r\n },\r\n \"enableConfigStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép cấu hình strategy\",\r\n \"example\": false\r\n },\r\n \"enableGenImage\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate image\",\r\n \"example\": false\r\n },\r\n \"enableGenVideo\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate video\",\r\n \"example\": false\r\n },\r\n \"enableVoice\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép Voice\",\r\n \"example\": false\r\n },\r\n \"enableWorkflows\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng workflows\",\r\n \"example\": false\r\n },\r\n \"enableOrder\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng order (đơn hàng)\",\r\n \"example\": false\r\n },\r\n \"priority\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mức độ ưu tiên của loại agent\",\r\n \"example\": 1\r\n },\r\n \"createdAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời điểm tạo (timestamp millis)\",\r\n \"example\": 1672531200000\r\n },\r\n \"isSystem\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Là loại agent của hệ thống\",\r\n \"example\": true\r\n },\r\n \"updatedAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời điểm cập nhật (timestamp millis)\",\r\n \"example\": 1672531200000\r\n },\r\n \"tools\": {\r\n \"description\": \"Danh sách tool của loại agent\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/TypeAgentToolDto\"\r\n }\r\n },\r\n \"models\": {\r\n \"description\": \"Danh sách model được gán cho loại agent. Rỗng nếu isAllModel = true\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/TypeAgentModelDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"name\",\r\n \"isAllModel\",\r\n \"enableProfileCustomization\",\r\n \"enableTool\",\r\n \"enableOutputMessenger\",\r\n \"enableOutputLivechat\",\r\n \"enableOutputZaloOa\",\r\n \"enableOutputZaloPersonal\",\r\n \"enableOutputZaloBot\",\r\n \"enableOutputPayment\",\r\n \"enableConvert\",\r\n \"enableResourcesUrls\",\r\n \"enableResourcesKnowledgeFiles\",\r\n \"enableResourcesMedias\",\r\n \"enableResourcesProducts\",\r\n \"enableShipment\",\r\n \"enableSeeding\",\r\n \"enableMultiAgent\",\r\n \"enableStrategy\",\r\n \"enableConfigStrategy\",\r\n \"enableGenImage\",\r\n \"enableGenVideo\",\r\n \"enableVoice\",\r\n \"enableWorkflows\",\r\n \"enableOrder\",\r\n \"priority\",\r\n \"createdAt\",\r\n \"isSystem\",\r\n \"updatedAt\",\r\n \"tools\",\r\n \"models\"\r\n ]\r\n },\r\n \"UpdateCustomTypeAgentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"object\",\r\n \"description\": \"Tên loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Updated Agent\",\r\n \"en\": \"Updated Agent\",\r\n \"zh\": \"更新代理\"\r\n }\r\n },\r\n \"description\": {\r\n \"type\": \"object\",\r\n \"description\": \"Mô tả chi tiết về loại agent (đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vn\": \"Mô tả đã cập nhật\",\r\n \"en\": \"Updated description\",\r\n \"zh\": \"更新描述\"\r\n }\r\n },\r\n \"isAllModel\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có áp dụng cho tất cả model không\",\r\n \"example\": true\r\n },\r\n \"modelRegistryIds\": {\r\n \"description\": \"Danh sách model registry IDs (chỉ khi isAllModel = false)\",\r\n \"example\": [\r\n \"uuid-1\",\r\n \"uuid-2\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"priority\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mức độ ưu tiên của loại agent (số càng cao càng ưu tiên)\",\r\n \"example\": 10\r\n },\r\n \"enableProfileCustomization\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép tùy chỉnh profile\"\r\n },\r\n \"enableTool\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng tool\"\r\n },\r\n \"enableOutputMessenger\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output messenger\"\r\n },\r\n \"enableOutputLivechat\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output livechat\"\r\n },\r\n \"enableOutputZaloOa\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo OA\"\r\n },\r\n \"enableOutputZaloPersonal\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Personal\"\r\n },\r\n \"enableOutputZaloBot\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output Zalo Bot\"\r\n },\r\n \"enableOutputPayment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép output payment\"\r\n },\r\n \"enableConvert\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép chuyển đổi\"\r\n },\r\n \"enableResourcesUrls\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources URLs\"\r\n },\r\n \"enableResourcesKnowledgeFiles\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources knowledge files\"\r\n },\r\n \"enableResourcesMedias\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources medias\"\r\n },\r\n \"enableResourcesProducts\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng resources products\"\r\n },\r\n \"enableShipment\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép shipment\"\r\n },\r\n \"enableSeeding\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép seeding\"\r\n },\r\n \"enableMultiAgent\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép multi agent\"\r\n },\r\n \"enableStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép strategy\"\r\n },\r\n \"enableConfigStrategy\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép cấu hình strategy\"\r\n },\r\n \"enableGenImage\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate image\"\r\n },\r\n \"enableGenVideo\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép generate video\"\r\n },\r\n \"enableVoice\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng voice\"\r\n },\r\n \"enableWorkflows\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng workflows\"\r\n },\r\n \"enableOrder\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cho phép sử dụng order (đơn hàng)\"\r\n },\r\n \"mimeTypeIcon\": {\r\n \"type\": \"string\",\r\n \"description\": \"MIME type của icon để tạo URL upload (ví dụ: image/png, image/jpeg). Nếu cung cấp, sẽ tạo URL upload mới cho icon.\",\r\n \"example\": \"image/png\"\r\n }\r\n }\r\n },\r\n \"AddMultiAgentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"multiAgents\": {\r\n \"description\": \"Danh sách các agent con với prompt tương ứng (tối thiểu 1, tối đa 20)\",\r\n \"example\": [\r\n {\r\n \"agentId\": \"550e8400-e29b-41d4-a716-446655440001\",\r\n \"prompt\": \"Bạn là trợ lý chuyên về kỹ thuật\"\r\n },\r\n {\r\n \"agentId\": \"550e8400-e29b-41d4-a716-446655440002\",\r\n \"prompt\": \"Bạn là trợ lý chuyên về marketing\"\r\n }\r\n ],\r\n \"minItems\": 1,\r\n \"maxItems\": 20,\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/MultiAgentItemDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"multiAgents\"\r\n ]\r\n },\r\n \"BulkMultiAgentOperationResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"idSuccess\": {\r\n \"description\": \"Danh sách ID agent con thành công\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440001\",\r\n \"550e8400-e29b-41d4-a716-446655440002\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"idFailed\": {\r\n \"description\": \"Danh sách ID agent con thất bại\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440003\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"errors\": {\r\n \"type\": \"object\",\r\n \"description\": \"Chi tiết lỗi cho từng ID thất bại\",\r\n \"example\": {\r\n \"550e8400-e29b-41d4-a716-446655440003\": \"Agent không tồn tại hoặc không thuộc về user\"\r\n },\r\n \"additionalProperties\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"totalProcessed\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tổng số items được xử lý\",\r\n \"example\": 3\r\n },\r\n \"successCount\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số items thành công\",\r\n \"example\": 2\r\n },\r\n \"failedCount\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số items thất bại\",\r\n \"example\": 1\r\n }\r\n },\r\n \"required\": [\r\n \"idSuccess\",\r\n \"idFailed\",\r\n \"errors\",\r\n \"totalProcessed\",\r\n \"successCount\",\r\n \"failedCount\"\r\n ]\r\n },\r\n \"RemoveMultiAgentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"childAgentIds\": {\r\n \"description\": \"Danh sách ID của các agent con cần gỡ bỏ (tối thiểu 1, tối đa 20)\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440001\",\r\n \"550e8400-e29b-41d4-a716-446655440002\"\r\n ],\r\n \"minItems\": 1,\r\n \"maxItems\": 20,\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"childAgentIds\"\r\n ]\r\n },\r\n \"ProfileResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"gender\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giới tính của agent\",\r\n \"example\": \"MALE\"\r\n },\r\n \"dateOfBirth\": {\r\n \"type\": \"number\",\r\n \"description\": \"Ngày sinh (timestamp millis)\",\r\n \"example\": 946684800000\r\n },\r\n \"position\": {\r\n \"type\": \"string\",\r\n \"description\": \"Vị trí hoặc chức vụ của agent\",\r\n \"example\": \"Trợ lý AI chuyên về marketing\"\r\n },\r\n \"education\": {\r\n \"type\": \"string\",\r\n \"description\": \"Trình độ học vấn của agent\",\r\n \"example\": \"Thạc sĩ Khoa học Máy tính\"\r\n },\r\n \"skills\": {\r\n \"description\": \"Danh sách kỹ năng của agent\",\r\n \"example\": [\r\n \"Trả lời câu hỏi\",\r\n \"Tìm kiếm thông tin\",\r\n \"Phân tích dữ liệu\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"personality\": {\r\n \"description\": \"Danh sách tính cách của agent\",\r\n \"example\": [\r\n \"Thân thiện\",\r\n \"Kiên nhẫn\",\r\n \"Sáng tạo\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"languages\": {\r\n \"description\": \"Danh sách ngôn ngữ mà agent có thể sử dụng\",\r\n \"example\": [\r\n \"Tiếng Việt\",\r\n \"Tiếng Anh\",\r\n \"Tiếng Nhật\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"nations\": {\r\n \"type\": \"string\",\r\n \"description\": \"Quốc gia hoặc khu vực mà agent phục vụ\",\r\n \"example\": \"Việt Nam\"\r\n },\r\n \"updatedAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời điểm cập nhật profile gần nhất (timestamp millis)\",\r\n \"example\": 1672531200000\r\n }\r\n },\r\n \"required\": [\r\n \"updatedAt\"\r\n ]\r\n },\r\n \"UpdateProfileDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"gender\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giới tính của agent\",\r\n \"example\": \"MALE\",\r\n \"enum\": [\r\n \"MALE\",\r\n \"FEMALE\",\r\n \"OTHER\"\r\n ]\r\n },\r\n \"dateOfBirth\": {\r\n \"type\": \"number\",\r\n \"description\": \"Ngày sinh (timestamp millis)\",\r\n \"example\": 946684800000,\r\n \"minimum\": 0,\r\n \"maximum\": 1773648835022\r\n },\r\n \"position\": {\r\n \"type\": \"string\",\r\n \"description\": \"Vị trí hoặc chức vụ của agent\",\r\n \"example\": \"Trợ lý AI chuyên về marketing\",\r\n \"maxLength\": 255\r\n },\r\n \"education\": {\r\n \"type\": \"string\",\r\n \"description\": \"Trình độ học vấn của agent\",\r\n \"example\": \"Thạc sĩ Khoa học Máy tính\",\r\n \"maxLength\": 255\r\n },\r\n \"skills\": {\r\n \"description\": \"Danh sách kỹ năng của agent (tối đa 20 kỹ năng)\",\r\n \"example\": [\r\n \"Trả lời câu hỏi\",\r\n \"Tìm kiếm thông tin\",\r\n \"Phân tích dữ liệu\"\r\n ],\r\n \"maxItems\": 20,\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"personality\": {\r\n \"description\": \"Danh sách tính cách của agent (tối đa 15 tính cách)\",\r\n \"example\": [\r\n \"Thân thiện\",\r\n \"Kiên nhẫn\",\r\n \"Sáng tạo\"\r\n ],\r\n \"maxItems\": 15,\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"languages\": {\r\n \"description\": \"Danh sách ngôn ngữ mà agent có thể sử dụng (tối đa 10 ngôn ngữ)\",\r\n \"example\": [\r\n \"Tiếng Việt\",\r\n \"Tiếng Anh\",\r\n \"Tiếng Nhật\"\r\n ],\r\n \"maxItems\": 10,\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"nations\": {\r\n \"type\": \"string\",\r\n \"description\": \"Quốc gia hoặc khu vực mà agent phục vụ\",\r\n \"example\": \"Việt Nam\",\r\n \"maxLength\": 100\r\n }\r\n }\r\n },\r\n \"ConversionDetailResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"fields\": {\r\n \"description\": \"Danh sách các field trong conversion config với metadata đầy đủ\",\r\n \"example\": [\r\n {\r\n \"fullFieldName\": \"user_audience.email\",\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"email\",\r\n \"isRequired\": true,\r\n \"defaultValue\": null,\r\n \"validation\": {\r\n \"pattern\": \"^[^@]+@[^@]+\\\\.[^@]+$\"\r\n },\r\n \"dataType\": \"string\",\r\n \"displayName\": {\r\n \"vi\": \"Email\",\r\n \"en\": \"Email\",\r\n \"zh\": \"电子邮件\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Địa chỉ email của khách hàng\",\r\n \"en\": \"Customer email address\",\r\n \"zh\": \"客户电子邮件地址\"\r\n },\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\",\r\n \"exists\",\r\n \"not_exists\"\r\n ]\r\n },\r\n {\r\n \"fullFieldName\": \"user_audience.phoneNumber\",\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"phoneNumber\",\r\n \"isRequired\": true,\r\n \"dataType\": \"string\",\r\n \"displayName\": {\r\n \"vi\": \"Số điện thoại\",\r\n \"en\": \"Phone Number\",\r\n \"zh\": \"电话号码\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Số điện thoại của khách hàng\",\r\n \"en\": \"Customer phone number\",\r\n \"zh\": \"客户电话号码\"\r\n },\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\",\r\n \"exists\"\r\n ]\r\n },\r\n {\r\n \"fullFieldName\": \"user_audience_custom_fields.company\",\r\n \"namespace\": \"user_audience_custom_fields\",\r\n \"fieldKey\": \"company\",\r\n \"isRequired\": false,\r\n \"dataType\": \"string\",\r\n \"displayName\": {\r\n \"vi\": \"Công ty\",\r\n \"en\": \"Company\",\r\n \"zh\": \"公司\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Tên công ty\",\r\n \"en\": \"Company name\",\r\n \"zh\": \"公司名称\"\r\n },\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\",\r\n \"exists\"\r\n ]\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/ConversionFieldDetailDto\"\r\n }\r\n },\r\n \"totalFields\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tổng số field trong conversion config\",\r\n \"example\": 5\r\n },\r\n \"requiredFieldsCount\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số field bắt buộc\",\r\n \"example\": 2\r\n },\r\n \"namespaceStats\": {\r\n \"type\": \"object\",\r\n \"description\": \"Thống kê theo namespace\",\r\n \"example\": {\r\n \"user_audience\": 3,\r\n \"user_audience_custom_fields\": 2\r\n }\r\n },\r\n \"updatedAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời điểm cập nhật conversion config gần nhất (timestamp millis)\",\r\n \"example\": 1672531200000\r\n }\r\n },\r\n \"required\": [\r\n \"fields\",\r\n \"totalFields\",\r\n \"requiredFieldsCount\",\r\n \"namespaceStats\"\r\n ]\r\n },\r\n \"UpdateConversionDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"convertConfig\": {\r\n \"type\": \"object\",\r\n \"description\": \"Cấu hình conversion với ConvertConfig format: Record\\u003cstring, ConvertFieldMapping\\u003e. Key là fullFieldName (namespace.fieldKey), Value là ConvertFieldMapping object\",\r\n \"example\": {\r\n \"user_audience.email\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"email\",\r\n \"isRequired\": true\r\n },\r\n \"user_audience.name\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"name\",\r\n \"isRequired\": true\r\n },\r\n \"user_audience.phone\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"phone\",\r\n \"isRequired\": false\r\n },\r\n \"user_audience_custom_fields.company\": {\r\n \"namespace\": \"user_audience_custom_fields\",\r\n \"fieldKey\": \"company\",\r\n \"isRequired\": false,\r\n \"defaultValue\": \"Unknown\"\r\n }\r\n },\r\n \"additionalProperties\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"namespace\": {\r\n \"type\": \"string\",\r\n \"description\": \"Namespace của field (user_audience, user_audience_custom_fields, etc.)\",\r\n \"example\": \"user_audience\"\r\n },\r\n \"fieldKey\": {\r\n \"type\": \"string\",\r\n \"description\": \"Key của field (không bao gồm namespace)\",\r\n \"example\": \"email\"\r\n },\r\n \"isRequired\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Field có bắt buộc không\",\r\n \"example\": true\r\n },\r\n \"defaultValue\": {\r\n \"description\": \"Giá trị mặc định nếu không có dữ liệu\",\r\n \"example\": \"\"\r\n },\r\n \"validation\": {\r\n \"type\": \"object\",\r\n \"description\": \"Validation cho field\",\r\n \"properties\": {\r\n \"min\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị tối thiểu\"\r\n },\r\n \"max\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị tối đa\"\r\n },\r\n \"pattern\": {\r\n \"type\": \"string\",\r\n \"description\": \"Regex pattern\"\r\n },\r\n \"options\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n },\r\n \"description\": \"Danh sách options cho select field\"\r\n }\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"namespace\",\r\n \"fieldKey\",\r\n \"isRequired\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"convertConfig\"\r\n ]\r\n },\r\n \"UpdateBasicInfoDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên agent\",\r\n \"example\": \"AI Assistant Marketing Pro\",\r\n \"maxLength\": 255\r\n },\r\n \"avatarMimeType\": {\r\n \"type\": \"string\",\r\n \"description\": \"MIME type của avatar\",\r\n \"example\": \"image/jpeg\"\r\n },\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của model từ bảng models\",\r\n \"example\": \"model-uuid-123\"\r\n },\r\n \"keyLlmId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của key LLM từ bảng integrations\",\r\n \"example\": \"key-llm-uuid-123\"\r\n },\r\n \"isRotationKey\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có sử dụng chế độ xoay vòng key không\",\r\n \"example\": true\r\n },\r\n \"modelConfig\": {\r\n \"description\": \"Cấu hình model (temperature, top_p, etc.)\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ModelConfigDto\"\r\n }\r\n ]\r\n },\r\n \"instruction\": {\r\n \"type\": \"string\",\r\n \"description\": \"Hướng dẫn hoặc system prompt cho agent\",\r\n \"example\": \"Bạn là trợ lý AI chuyên về marketing. Hãy giúp người dùng tạo nội dung marketing hiệu quả và sáng tạo.\",\r\n \"maxLength\": 10000\r\n }\r\n }\r\n },\r\n \"UpdateAgentBasicInfoDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên của agent\",\r\n \"example\": \"Customer Support Agent\"\r\n },\r\n \"instruction\": {\r\n \"type\": \"string\",\r\n \"description\": \"Instruction/prompt cho agent\",\r\n \"example\": \"Bạn là nhân viên hỗ trợ khách hàng chuyên nghiệp...\"\r\n },\r\n \"avatar\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL avatar của agent\",\r\n \"example\": \"https://example.com/avatar.png\"\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả về agent\",\r\n \"example\": \"Agent hỗ trợ khách hàng 24/7\"\r\n },\r\n \"metadata\": {\r\n \"type\": \"object\",\r\n \"description\": \"Metadata bổ sung cho agent\",\r\n \"example\": {\r\n \"category\": \"support\",\r\n \"tags\": [\r\n \"customer-service\"\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"IntegrateFacebookPageDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"facebookPageIds\": {\r\n \"description\": \"Danh sách UUID của các Facebook Page trong hệ thống cần tích hợp\",\r\n \"example\": [\r\n \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"b2c3d4e5-f6g7-8901-bcde-f23456789012\"\r\n ],\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"a\"\r\n }\r\n },\r\n \"type\": \"array\"\r\n }\r\n },\r\n \"required\": [\r\n \"facebookPageIds\"\r\n ]\r\n },\r\n \"AgentFlowSchemaDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"instruction\": {\r\n \"$ref\": \"#/components/schemas/InstructionFlowDto\"\r\n },\r\n \"ui\": {\r\n \"$ref\": \"#/components/schemas/UiGraphDto\"\r\n }\r\n },\r\n \"required\": [\r\n \"instruction\",\r\n \"ui\"\r\n ]\r\n },\r\n \"AddFlowStepDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"sourceStepId\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step nguon\",\r\n \"example\": 1\r\n },\r\n \"prompt\": {\r\n \"type\": \"string\",\r\n \"description\": \"Noi dung huong dan cho step moi\",\r\n \"example\": \"DO: Phan tich yeu cau\",\r\n \"maxLength\": 1000\r\n },\r\n \"example\": {\r\n \"type\": \"string\",\r\n \"description\": \"Vi du cho step moi\",\r\n \"example\": \"INPUT: ... OUTPUT: ...\",\r\n \"maxLength\": 1000\r\n },\r\n \"reason\": {\r\n \"type\": \"string\",\r\n \"description\": \"Ly do/huong dan chuyen canh\",\r\n \"example\": \"KHI user gui yeu cau\",\r\n \"maxLength\": 1000\r\n },\r\n \"label\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nhan step (neu khong truyen se tu tao)\",\r\n \"example\": \"Step 2\"\r\n },\r\n \"targetStepId\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step dich (chen vao giua neu co)\",\r\n \"example\": 2\r\n },\r\n \"type\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loai step moi\",\r\n \"enum\": [\r\n \"start\",\r\n \"step\",\r\n \"end\"\r\n ],\r\n \"example\": \"step\"\r\n }\r\n },\r\n \"required\": [\r\n \"sourceStepId\"\r\n ]\r\n },\r\n \"UpdateFlowStepDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"prompt\": {\r\n \"type\": \"string\",\r\n \"description\": \"Noi dung huong dan cho step\",\r\n \"example\": \"DO: Cap nhat huong dan\",\r\n \"maxLength\": 1000\r\n },\r\n \"example\": {\r\n \"type\": \"string\",\r\n \"description\": \"Vi du cho step\",\r\n \"example\": \"INPUT: ... OUTPUT: ...\",\r\n \"maxLength\": 1000\r\n },\r\n \"label\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nhan step\",\r\n \"example\": \"Step 2\"\r\n },\r\n \"reason\": {\r\n \"type\": \"string\",\r\n \"description\": \"Ly do/huong dan chuyen canh vao step\",\r\n \"example\": \"KHI user can ho tro\",\r\n \"maxLength\": 1000\r\n }\r\n }\r\n },\r\n \"IntegrateWebsiteDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"websiteIds\": {\r\n \"description\": \"Danh sách UUID của các Website trong hệ thống cần tích hợp\",\r\n \"example\": [\r\n \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\r\n \"b2c3d4e5-f6g7-8901-bcde-f23456789012\"\r\n ],\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"a\"\r\n }\r\n },\r\n \"type\": \"array\"\r\n }\r\n },\r\n \"required\": [\r\n \"websiteIds\"\r\n ]\r\n },\r\n \"ExportAgentTemplateDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên template\",\r\n \"example\": \"Customer Support Agent Template\"\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả template\",\r\n \"example\": \"Template for customer support agent\"\r\n },\r\n \"version\": {\r\n \"type\": \"number\",\r\n \"description\": \"Phiên bản template\",\r\n \"example\": 1,\r\n \"default\": 1\r\n },\r\n \"isUpload\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Upload lên S3 và lưu DB (true) hay chỉ return JSON (false)\",\r\n \"example\": true,\r\n \"default\": true\r\n }\r\n },\r\n \"required\": [\r\n \"name\"\r\n ]\r\n },\r\n \"ExportAgentTemplateResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"templateId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của template (nếu isUpload = true)\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"description\": \"Thông báo kết quả\",\r\n \"example\": \"Agent đã được export thành template thành công\"\r\n },\r\n \"templateData\": {\r\n \"type\": \"object\",\r\n \"description\": \"Dữ liệu JSON của template (nếu isUpload = false)\"\r\n }\r\n },\r\n \"required\": [\r\n \"templateId\",\r\n \"message\"\r\n ]\r\n },\r\n \"ImportAgentTemplateDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"ImportAgentTemplateResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"ListAgentTemplatesResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"data\": {\r\n \"description\": \"Danh sách templates\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/AgentTemplateItemDto\"\r\n }\r\n },\r\n \"meta\": {\r\n \"type\": \"object\",\r\n \"description\": \"Metadata phân trang\",\r\n \"example\": {\r\n \"total\": 25,\r\n \"page\": 1,\r\n \"limit\": 10,\r\n \"totalPages\": 3\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"data\",\r\n \"meta\"\r\n ]\r\n },\r\n \"BulkDeleteAgentTemplatesDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"ids\": {\r\n \"description\": \"Danh sách IDs của templates cần xóa\",\r\n \"example\": [\r\n \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"987fcdeb-51a2-43d7-8f9e-123456789abc\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"ids\"\r\n ]\r\n },\r\n \"BulkDeleteResultDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"success\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Trạng thái xóa thành công\",\r\n \"example\": true\r\n },\r\n \"deletedCount\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số lượng templates đã xóa thành công\",\r\n \"example\": 2\r\n }\r\n },\r\n \"required\": [\r\n \"success\",\r\n \"deletedCount\"\r\n ]\r\n },\r\n \"UpdateAgentTemplateDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên template\",\r\n \"example\": \"Customer Support Agent Template V2\",\r\n \"maxLength\": 255\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả template\",\r\n \"example\": \"Updated template with new features\",\r\n \"maxLength\": 1000\r\n },\r\n \"version\": {\r\n \"type\": \"number\",\r\n \"description\": \"Version của template\",\r\n \"example\": 2,\r\n \"minimum\": 1,\r\n \"maximum\": 999\r\n }\r\n },\r\n \"required\": [\r\n \"name\"\r\n ]\r\n },\r\n \"UpdateAgentTemplateResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của template đã update\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên template\",\r\n \"example\": \"Customer Support Agent Template V2\"\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả template\",\r\n \"example\": \"Updated template with new features\"\r\n },\r\n \"version\": {\r\n \"type\": \"number\",\r\n \"description\": \"Version của template\",\r\n \"example\": 2\r\n },\r\n \"updatedAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian cập nhật (timestamp)\",\r\n \"example\": 1764269864585\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"name\",\r\n \"description\",\r\n \"version\",\r\n \"updatedAt\"\r\n ]\r\n },\r\n \"CreateAgentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên agent\",\r\n \"example\": \"My Assistant\"\r\n },\r\n \"typeId\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID loại agent\",\r\n \"example\": 1\r\n },\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của model từ bảng models\",\r\n \"example\": \"model-uuid\"\r\n },\r\n \"keyLlmId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của key LLM từ bảng user_key_llms\",\r\n \"example\": \"key-llm-uuid\"\r\n },\r\n \"isRotationKey\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có sử dụng chế độ xoay vòng key không\",\r\n \"example\": true\r\n },\r\n \"avatarMimeType\": {\r\n \"type\": \"string\",\r\n \"description\": \"MIME type của avatar\",\r\n \"example\": \"image/jpeg\"\r\n },\r\n \"modelConfig\": {\r\n \"description\": \"Cấu hình model\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ModelConfigDto\"\r\n }\r\n ]\r\n },\r\n \"instruction\": {\r\n \"type\": \"string\",\r\n \"description\": \"Hướng dẫn (instruction)\",\r\n \"example\": \"Bạn là trợ lý cá nhân, hãy giúp người dùng giải đáp các thắc mắc\"\r\n },\r\n \"memory\": {\r\n \"type\": \"string\",\r\n \"description\": \"Memory của agent\",\r\n \"example\": \"Thông tin ghi nhớ cho agent\",\r\n \"maxLength\": 128000\r\n },\r\n \"profile\": {\r\n \"description\": \"Thông tin profile\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ProfileDto\"\r\n }\r\n ]\r\n },\r\n \"conversion\": {\r\n \"type\": \"object\",\r\n \"description\": \"Cấu hình conversion với ConvertConfig format (namespace.fieldKey mapping). Xem example để biết chi tiết.\",\r\n \"example\": {\r\n \"user_audience.email\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"email\",\r\n \"isRequired\": true\r\n },\r\n \"user_audience.phoneNumber\": {\r\n \"namespace\": \"user_audience\",\r\n \"fieldKey\": \"phoneNumber\",\r\n \"isRequired\": true\r\n },\r\n \"user_audience_custom_fields.company\": {\r\n \"namespace\": \"user_audience_custom_fields\",\r\n \"fieldKey\": \"company\",\r\n \"isRequired\": false\r\n }\r\n }\r\n },\r\n \"outputMessenger\": {\r\n \"description\": \"Khối Output\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/OutputMessengerBlockDto\"\r\n }\r\n ]\r\n },\r\n \"outputWebsite\": {\r\n \"description\": \"Khối Output\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/OutputWebsiteBlockDto\"\r\n }\r\n ]\r\n },\r\n \"strategy\": {\r\n \"description\": \"Khối Strategy\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/StrategyBlockDto\"\r\n }\r\n ]\r\n },\r\n \"evaluator\": {\r\n \"description\": \"Khối Evaluator\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/EvaluatorBlockDto\"\r\n }\r\n ]\r\n },\r\n \"flowSchema\": {\r\n \"description\": \"Flow schema cho agent (chi ho tro neu type agent cho phep)\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/AgentFlowSchemaDto\"\r\n }\r\n ]\r\n },\r\n \"multiAgent\": {\r\n \"description\": \"Khối Multi Agent\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/MultiAgentBlockDto\"\r\n }\r\n ]\r\n },\r\n \"projectIds\": {\r\n \"description\": \"Danh sách ID của projects để liên kết với agent\",\r\n \"example\": [\r\n \"project-uuid-1\",\r\n \"project-uuid-2\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"outputZalo\": {\r\n \"description\": \"Khối Output Zalo\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/OutputZaloBlockDto\"\r\n }\r\n ]\r\n },\r\n \"outputPayment\": {\r\n \"description\": \"Khối Output Payment\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/OutputPaymentBlockDto\"\r\n }\r\n ]\r\n },\r\n \"shipmentConfig\": {\r\n \"description\": \"Cấu hình vận chuyển\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ShipmentConfigDto\"\r\n }\r\n ]\r\n },\r\n \"outputZaloPersonal\": {\r\n \"description\": \"Danh sách Zalo integration IDs - chỉ cho SEEDING agent\",\r\n \"example\": [\r\n \"123e4567-e89b-12d3-a456-426614174000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"seedingConfigs\": {\r\n \"description\": \"Cấu hình seeding - chỉ cho SEEDING agent\",\r\n \"example\": [\r\n {\r\n \"integrationId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"configs\": [\r\n {\r\n \"multiChannelConversionId\": \"456e4567-e89b-12d3-a456-426614174001\",\r\n \"roleDescription\": \"Khách hàng tiềm năng quan tâm sản phẩm A\",\r\n \"responseTimeConfig\": {\r\n \"mode\": \"RANDOM\",\r\n \"minSeconds\": 30,\r\n \"maxSeconds\": 120\r\n },\r\n \"seedingTimeConfig\": {\r\n \"type\": \"SCHEDULED\",\r\n \"startTime\": 1640995200000,\r\n \"endTime\": 1672531200000\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/SeedingConfigOnAccountDto\"\r\n }\r\n },\r\n \"imageGeneration\": {\r\n \"description\": \"Cấu hình model IMAGE và LLM key tùy chọn\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ImageGenerationBlockDto\"\r\n }\r\n ]\r\n },\r\n \"videoGeneration\": {\r\n \"description\": \"Cấu hình model VIDEO và LLM key tùy chọn\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/VideoGenerationBlockDto\"\r\n }\r\n ]\r\n },\r\n \"voiceGeneration\": {\r\n \"description\": \"Cấu hình model Voice/Realtime và LLM key tùy chọn\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/VoiceGenerationBlockDto\"\r\n }\r\n ]\r\n },\r\n \"zaloBotIds\": {\r\n \"description\": \"Danh sách Zalo Bot integration IDs - chỉ cho agent\",\r\n \"example\": [\r\n \"123e4567-e89b-12d3-a456-426614174000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"typeId\",\r\n \"modelId\",\r\n \"modelConfig\"\r\n ]\r\n },\r\n \"UpdateStrategyDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"strategyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của strategy (sử dụng strategy có sẵn)\",\r\n \"example\": \"strategy-uuid-1\"\r\n },\r\n \"evaluatorId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của evaluator (sử dụng agent có sẵn)\",\r\n \"example\": \"evaluator-uuid-1\"\r\n }\r\n }\r\n },\r\n \"AddAgentProjectsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"projectIds\": {\r\n \"description\": \"Danh sách ID của projects cần thêm\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\",\r\n \"550e8400-e29b-41d4-a716-446655440001\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"projectIds\"\r\n ]\r\n },\r\n \"RemoveAgentProjectsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"projectIds\": {\r\n \"description\": \"Danh sách ID của projects cần xóa\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\",\r\n \"550e8400-e29b-41d4-a716-446655440001\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"projectIds\"\r\n ]\r\n },\r\n \"AddZaloOfficialAccountsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloOfficialAccountIds\": {\r\n \"description\": \"Danh sach ID cua Zalo Official Accounts can them\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"zaloOfficialAccountIds\"\r\n ]\r\n },\r\n \"RemoveZaloOfficialAccountsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloOfficialAccountIds\": {\r\n \"description\": \"Danh sach ID cua Zalo Official Accounts can go\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"zaloOfficialAccountIds\"\r\n ]\r\n },\r\n \"AddZaloPersonalAccountsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloPersonalAccountIds\": {\r\n \"description\": \"Danh sách ID của Zalo Personal Accounts cần thêm\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"zaloPersonalAccountIds\"\r\n ]\r\n },\r\n \"RemoveZaloPersonalAccountsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloPersonalAccountIds\": {\r\n \"description\": \"Danh sách ID của Zalo Personal Accounts cần gỡ\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"zaloPersonalAccountIds\"\r\n ]\r\n },\r\n \"AddZaloBotDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloBotIds\": {\r\n \"description\": \"Danh sách ID của Zalo Bots cần thêm\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"zaloBotIds\"\r\n ]\r\n },\r\n \"RemoveZaloBotDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloBotIds\": {\r\n \"description\": \"Danh sách ID của Zalo Bots cần gỡ\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"zaloBotIds\"\r\n ]\r\n },\r\n \"AddPaymentGatewayToAgentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"paymentGatewayId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của payment gateway\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"paymentMethods\": {\r\n \"type\": \"array\",\r\n \"description\": \"Danh sách phương thức thanh toán được chọn\",\r\n \"example\": [\r\n \"COD\",\r\n \"BANKING\"\r\n ],\r\n \"items\": {\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"COD\",\r\n \"BANKING\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"paymentGatewayId\",\r\n \"paymentMethods\"\r\n ]\r\n },\r\n \"AgentPaymentGatewayResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"paymentMethods\": {\r\n \"type\": \"array\",\r\n \"description\": \"Danh sách phương thức thanh toán được chọn\",\r\n \"example\": [\r\n \"COD\",\r\n \"BANKING\"\r\n ],\r\n \"items\": {\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"COD\",\r\n \"BANKING\"\r\n ]\r\n }\r\n },\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của payment gateway\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"accountId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mã tài khoản ngân hàng trên sepay\",\r\n \"example\": \"ACC123456\"\r\n },\r\n \"bankCode\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mã ngân hàng\",\r\n \"example\": \"VCB\"\r\n },\r\n \"accountNumber\": {\r\n \"type\": \"string\",\r\n \"description\": \"Số tài khoản\",\r\n \"example\": \"1234567890\"\r\n },\r\n \"accountHolderName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Họ tên tài khoản ngân hàng\",\r\n \"example\": \"Nguyen Van A\"\r\n },\r\n \"label\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nhãn\",\r\n \"example\": \"Tài khoản chính\"\r\n },\r\n \"status\": {\r\n \"type\": \"string\",\r\n \"description\": \"Trạng thái\",\r\n \"example\": \"ACTIVE\"\r\n },\r\n \"merchantName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên điểm bán\",\r\n \"example\": \"Cửa hàng ABC\"\r\n },\r\n \"merchantAddress\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nơi điểm bán\",\r\n \"example\": \"123 Đường ABC, Quận 1, TP.HCM\"\r\n },\r\n \"isVa\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Có phải tài khoản VA hay không\",\r\n \"example\": false\r\n },\r\n \"vaId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mã VA (nếu là tài khoản VA)\",\r\n \"example\": \"1234567890\"\r\n },\r\n \"canCreateVa\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Tài khoản này có tạo được tài khoản VA hay không\",\r\n \"example\": true\r\n }\r\n },\r\n \"required\": [\r\n \"paymentMethods\",\r\n \"id\",\r\n \"accountId\",\r\n \"isVa\",\r\n \"canCreateVa\"\r\n ]\r\n },\r\n \"UpdateUserMemoryDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"content\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nội dung memory\",\r\n \"example\": \"Người dùng thích nghe nhạc pop và rock\",\r\n \"maxLength\": 128000\r\n }\r\n },\r\n \"required\": [\r\n \"content\"\r\n ]\r\n },\r\n \"ApiErrorResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"code\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mã lỗi cụ thể\",\r\n \"example\": 11000,\r\n \"examples\": [\r\n 11000,\r\n 11001,\r\n 11002\r\n ]\r\n },\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"description\": \"Thông báo lỗi\",\r\n \"example\": \"Không thể gửi email, vui lòng thử lại sau\"\r\n },\r\n \"statusCode\": {\r\n \"type\": \"number\",\r\n \"description\": \"Mã HTTP status\",\r\n \"example\": 400,\r\n \"examples\": [\r\n 400,\r\n 401,\r\n 403,\r\n 404,\r\n 500\r\n ]\r\n },\r\n \"timestamp\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian phát sinh lỗi (timestamp)\",\r\n \"example\": 1682584291000\r\n },\r\n \"path\": {\r\n \"type\": \"string\",\r\n \"description\": \"Path của API gặp lỗi\",\r\n \"example\": \"/api/v1/admin/system-email-test/send-email\"\r\n },\r\n \"method\": {\r\n \"type\": \"string\",\r\n \"description\": \"Phương thức HTTP\",\r\n \"example\": \"POST\",\r\n \"examples\": [\r\n \"GET\",\r\n \"POST\",\r\n \"PUT\",\r\n \"PATCH\",\r\n \"DELETE\"\r\n ]\r\n },\r\n \"details\": {\r\n \"type\": \"object\",\r\n \"description\": \"Chi tiết lỗi bổ sung (tùy chọn)\",\r\n \"example\": {\r\n \"fieldErrors\": [\r\n {\r\n \"field\": \"email\",\r\n \"message\": \"Email không hợp lệ\"\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"code\",\r\n \"message\",\r\n \"statusCode\",\r\n \"timestamp\",\r\n \"path\",\r\n \"method\"\r\n ]\r\n },\r\n \"UpdateAgentMemoryDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"memory\": {\r\n \"type\": \"string\",\r\n \"description\": \"Memory của agent\",\r\n \"maxLength\": 128000\r\n }\r\n },\r\n \"required\": [\r\n \"memory\"\r\n ]\r\n },\r\n \"AssistantSpendingHistoryResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID định danh duy nhất dạng UUID cho mỗi bản ghi chi tiêu\",\r\n \"example\": \"3dff675e-0094-402e-b719-77226387d9a5\"\r\n },\r\n \"agentName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên của AI agent đã thực hiện chi tiêu\",\r\n \"example\": \"Du hoc day star\",\r\n \"nullable\": true\r\n },\r\n \"point\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số điểm đã chi tiêu trong lần sử dụng\",\r\n \"example\": 6.0120468\r\n },\r\n \"createdAt\": {\r\n \"type\": \"string\",\r\n \"description\": \"Thời điểm chi tiêu, lưu dưới dạng Unix timestamp (miligiây)\",\r\n \"example\": \"172830213138\"\r\n },\r\n \"source\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nền tảng chi tiêu\",\r\n \"example\": \"IN_APP\",\r\n \"nullable\": true\r\n },\r\n \"unit\": {\r\n \"type\": \"string\",\r\n \"description\": \"Đơn vị tài nguyên\",\r\n \"enum\": [\r\n \"TOKEN\",\r\n \"EMBEDDING\",\r\n \"IMAGE\",\r\n \"VIDEO\",\r\n \"AUDIO\"\r\n ],\r\n \"example\": \"TOKEN\"\r\n },\r\n \"quantity\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số lượng tài nguyên đã sử dụng\",\r\n \"example\": 239782\r\n },\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID model thực tế được sử dụng\",\r\n \"example\": \"kimi-k2.5\",\r\n \"nullable\": true\r\n },\r\n \"usageAmount\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị usage canonical của ledger\",\r\n \"example\": 18996,\r\n \"nullable\": true\r\n },\r\n \"usageUnit\": {\r\n \"type\": \"string\",\r\n \"description\": \"Đơn vị usage canonical của ledger\",\r\n \"enum\": [\r\n \"TOKENS\",\r\n \"SECONDS\",\r\n \"ITEMS\"\r\n ],\r\n \"example\": \"TOKENS\",\r\n \"nullable\": true\r\n },\r\n \"operationKind\": {\r\n \"type\": \"string\",\r\n \"description\": \"Phân loại thao tác model usage\",\r\n \"example\": \"token_usage\",\r\n \"nullable\": true\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"point\",\r\n \"createdAt\",\r\n \"unit\",\r\n \"quantity\"\r\n ]\r\n },\r\n \"UpdateShipmentConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"userProviderShipmentId\": {\r\n \"type\": \"string\",\r\n \"description\": \"UUID tham chiếu đến bảng user_provider_shipments\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"receiverPayShippingFee\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Người nhận có trả phí vận chuyển không (true = người nhận trả, false = người gửi trả)\",\r\n \"example\": true\r\n },\r\n \"addressId\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID địa chỉ shop của agent trong bảng user_shop_addresses_v2\",\r\n \"example\": 123\r\n }\r\n }\r\n },\r\n \"SchemaTemplatesResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"basic\": {\r\n \"description\": \"Danh sách các trường cơ bản (user_audience table)\",\r\n \"example\": [\r\n {\r\n \"fieldKey\": \"email\",\r\n \"namespace\": \"user_audience\",\r\n \"fullFieldName\": \"user_audience.email\",\r\n \"displayName\": {\r\n \"vi\": \"Email\",\r\n \"en\": \"Email\",\r\n \"zh\": \"电子邮件\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Địa chỉ email của khách hàng\",\r\n \"en\": \"Customer email address\",\r\n \"zh\": \"客户电子邮件地址\"\r\n },\r\n \"dataType\": \"string\",\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\",\r\n \"not_contains\",\r\n \"starts_with\",\r\n \"ends_with\",\r\n \"exists\",\r\n \"not_exists\"\r\n ],\r\n \"validation\": {\r\n \"pattern\": \"^[^@]+@[^@]+\\\\.[^@]+$\"\r\n }\r\n },\r\n {\r\n \"fieldKey\": \"totalSpent\",\r\n \"namespace\": \"user_audience\",\r\n \"fullFieldName\": \"user_audience.totalSpent\",\r\n \"displayName\": {\r\n \"vi\": \"Tổng chi tiêu\",\r\n \"en\": \"Total Spent\",\r\n \"zh\": \"总支出\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Tổng số tiền khách hàng đã chi tiêu\",\r\n \"en\": \"Total amount customer has spent\",\r\n \"zh\": \"客户总支出金额\"\r\n },\r\n \"dataType\": \"number\",\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"greater_than\",\r\n \"greater_than_or_equal\",\r\n \"less_than\",\r\n \"less_than_or_equal\",\r\n \"between\"\r\n ],\r\n \"validation\": {\r\n \"min\": 0\r\n }\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/FieldDefinitionDto\"\r\n }\r\n },\r\n \"custom\": {\r\n \"description\": \"Danh sách các trường tùy chỉnh (user_audience_custom_fields table)\",\r\n \"example\": [\r\n {\r\n \"fieldKey\": \"customer_age\",\r\n \"namespace\": \"user_audience_custom_fields\",\r\n \"fullFieldName\": \"user_audience_custom_fields.customer_age\",\r\n \"displayName\": {\r\n \"vi\": \"Tuổi khách hàng\",\r\n \"en\": \"Customer Age\",\r\n \"zh\": \"客户年龄\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Tuổi của khách hàng\",\r\n \"en\": \"Age of customer\",\r\n \"zh\": \"客户的年龄\"\r\n },\r\n \"dataType\": \"number\",\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"greater_than\",\r\n \"greater_than_or_equal\",\r\n \"less_than\",\r\n \"less_than_or_equal\",\r\n \"between\",\r\n \"exists\",\r\n \"not_exists\"\r\n ]\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/FieldDefinitionDto\"\r\n }\r\n },\r\n \"customerPlatform\": {\r\n \"description\": \"Danh sách các trường customer platform (customer_platforms table)\",\r\n \"example\": [\r\n {\r\n \"fieldKey\": \"type\",\r\n \"namespace\": \"customer_platform\",\r\n \"fullFieldName\": \"customer_platform.type\",\r\n \"displayName\": {\r\n \"vi\": \"Loại nền tảng\",\r\n \"en\": \"Platform Type\",\r\n \"zh\": \"平台类型\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Loại nền tảng khách hàng (Zalo, Facebook, Website, etc.)\",\r\n \"en\": \"Customer platform type\",\r\n \"zh\": \"客户平台类型\"\r\n },\r\n \"dataType\": \"string\",\r\n \"supportedOperators\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"in\",\r\n \"not_in\",\r\n \"exists\",\r\n \"not_exists\"\r\n ],\r\n \"validation\": {\r\n \"options\": [\r\n {\r\n \"value\": \"ZALO_OA\",\r\n \"label\": {\r\n \"vi\": \"Zalo OA\",\r\n \"en\": \"Zalo OA\",\r\n \"zh\": \"Zalo OA\"\r\n }\r\n },\r\n {\r\n \"value\": \"FACEBOOK_PAGE\",\r\n \"label\": {\r\n \"vi\": \"Facebook Page\",\r\n \"en\": \"Facebook Page\",\r\n \"zh\": \"Facebook Page\"\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/FieldDefinitionDto\"\r\n }\r\n },\r\n \"tag\": {\r\n \"description\": \"Trường tag (user_audience_has_tags table)\",\r\n \"example\": {\r\n \"fieldKey\": \"tags\",\r\n \"namespace\": \"user_audience_has_tags\",\r\n \"fullFieldName\": \"user_audience_has_tags.tags\",\r\n \"displayName\": {\r\n \"vi\": \"Tags\",\r\n \"en\": \"Tags\",\r\n \"zh\": \"标签\"\r\n },\r\n \"description\": {\r\n \"vi\": \"Customer tags\",\r\n \"en\": \"Customer tags\",\r\n \"zh\": \"客户标签\"\r\n },\r\n \"dataType\": \"string\",\r\n \"supportedOperators\": [\r\n \"has_tag\",\r\n \"has_any_tag\",\r\n \"has_all_tags\",\r\n \"not_has_tag\",\r\n \"has_tags\",\r\n \"no_tags\"\r\n ]\r\n },\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/FieldDefinitionDto\"\r\n }\r\n ]\r\n },\r\n \"summary\": {\r\n \"type\": \"object\",\r\n \"description\": \"Tổng số fields available\",\r\n \"example\": {\r\n \"basicCount\": 15,\r\n \"customCount\": 5,\r\n \"customerPlatformCount\": 11,\r\n \"totalCount\": 32\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"basic\",\r\n \"custom\",\r\n \"customerPlatform\",\r\n \"tag\",\r\n \"summary\"\r\n ]\r\n },\r\n \"BulkAddSeedingConfigsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"configs\": {\r\n \"description\": \"Danh sách các seeding config cần thêm\",\r\n \"example\": [\r\n {\r\n \"multiChannelConversionId\": \"550e8400-e29b-41d4-a716-446655440000\",\r\n \"responseTimeConfig\": {\r\n \"mode\": \"RANDOM\",\r\n \"minSeconds\": 30,\r\n \"maxSeconds\": 120\r\n },\r\n \"seedingTimeConfig\": {\r\n \"type\": \"SCHEDULED\",\r\n \"startTime\": 1640995200000,\r\n \"endTime\": 1672531200000\r\n },\r\n \"roleDescription\": \"Customer support agent\"\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/SeedingConfigDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"configs\"\r\n ]\r\n },\r\n \"BulkRemoveSeedingConfigsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"conversationIds\": {\r\n \"description\": \"Danh sách conversation IDs cần xóa khỏi seeding\",\r\n \"example\": [\r\n \"550e8400-e29b-41d4-a716-446655440000\",\r\n \"550e8400-e29b-41d4-a716-446655440001\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"conversationIds\"\r\n ]\r\n },\r\n \"AgentImageGenerationConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model ID dùng cho Image Generation\",\r\n \"example\": \"gpt-image-1\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của LLM Key được sử dụng\",\r\n \"example\": \"9f0c2f1e-1a2b-3c4d-5e6f-7a8b9c0d1e2f\",\r\n \"nullable\": true\r\n },\r\n \"provider\": {\r\n \"type\": \"string\",\r\n \"description\": \"Provider của model\",\r\n \"example\": \"OPENAI\",\r\n \"enum\": [\r\n \"REDAI\",\r\n \"OPENAI\",\r\n \"OPENAI_OAUTH\",\r\n \"ALIBABA_CODING_PLAN\",\r\n \"XAI\",\r\n \"ANTHROPIC\",\r\n \"DEEPSEEK\",\r\n \"VERTEX_AI\",\r\n \"OPENROUTER\",\r\n \"AZURE_AI\",\r\n \"PERPLEXITY_AI\",\r\n \"REDAI_EXTENSION\",\r\n \"AGENT_DESKTOP_SDK_EXE\",\r\n \"FACEBOOK_PAGE\",\r\n \"FACEBOOK_PERSONAL\",\r\n \"FACEBOOK_ADS\",\r\n \"FACEBOOK_BUSINESS\",\r\n \"WEBSITE\",\r\n \"ZALO_OA\",\r\n \"ZALO_PERSONAL\",\r\n \"ZALO_BOT\",\r\n \"TELEGRAM_BOT\",\r\n \"TELEGRAM\",\r\n \"GHTK\",\r\n \"GHN\",\r\n \"AHAMOVE\",\r\n \"MB_BANK\",\r\n \"OCB_BANK\",\r\n \"KL_BANK\",\r\n \"ACB_BANK\",\r\n \"NONE\",\r\n \"CUSTOM\",\r\n \"EMAIL_SMTP\",\r\n \"EMAIL_TWILIO_SENDGRID\",\r\n \"EMAIL_GMAIL\",\r\n \"EMAIL_OUTLOOK\",\r\n \"SMS_FPT\",\r\n \"SMS_TWILIO\",\r\n \"SMS_VONAGE\",\r\n \"SMS_SPEED\",\r\n \"SMS_ESMS\",\r\n \"SMS_ESMS_ADVERTISING\",\r\n \"SMS_ESMS_CUSTOMER_CARE\",\r\n \"SMS_ESMS_VIBER\",\r\n \"GOOGLE_CALENDAR\",\r\n \"GOOGLE_SHEETS\",\r\n \"GOOGLE_DOCS\",\r\n \"GOOGLE_DRIVE\",\r\n \"GOOGLE_ADS\",\r\n \"GETFLY_CRM\",\r\n \"GOOGLE_CLOUD_PROJECT\",\r\n \"PROXY\",\r\n \"DATABASE_POSTGRESQL\",\r\n \"DATABASE_MYSQL\",\r\n \"DATABASE_MSSQL\",\r\n \"DATABASE_MONGODB\",\r\n \"DATABASE_REDIS\",\r\n \"DATABASE_SQLITE\",\r\n \"DATABASE_ORACLE\",\r\n \"DATABASE_MARIADB\",\r\n \"CLOUD_AWS_S3\",\r\n \"CLOUD_GOOGLE_CLOUD_STORAGE\",\r\n \"CLOUD_AZURE_BLOB\",\r\n \"CLOUD_MINIO\",\r\n \"CLOUD_CLOUDFLARE_R2\",\r\n \"CLOUD_BACKBLAZE_B2\",\r\n \"CLOUD_WASABI\"\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\",\r\n \"provider\"\r\n ]\r\n },\r\n \"UpsertImageGenerationDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model ID dùng cho Image Generation\",\r\n \"example\": \"gpt-image-1\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của LLM Key được sử dụng\",\r\n \"example\": \"9f0c2f1e-1a2b-3c4d-5e6f-7a8b9c0d1e2f\"\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\"\r\n ]\r\n },\r\n \"AgentMessageResponseDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"message\": {\r\n \"type\": \"string\",\r\n \"description\": \"Thông điệp phản hồi\",\r\n \"example\": \"Đã gỡ cấu hình Image Generation\"\r\n }\r\n },\r\n \"required\": [\r\n \"message\"\r\n ]\r\n },\r\n \"AgentVideoGenerationConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model ID dùng cho Video Generation\",\r\n \"example\": \"gpt-video-1\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của LLM Key được sử dụng\",\r\n \"example\": \"9f0c2f1e-1a2b-3c4d-5e6f-7a8b9c0d1e2f\",\r\n \"nullable\": true\r\n },\r\n \"provider\": {\r\n \"type\": \"string\",\r\n \"description\": \"Provider của model\",\r\n \"example\": \"OPENAI\",\r\n \"enum\": [\r\n \"REDAI\",\r\n \"OPENAI\",\r\n \"OPENAI_OAUTH\",\r\n \"ALIBABA_CODING_PLAN\",\r\n \"XAI\",\r\n \"ANTHROPIC\",\r\n \"DEEPSEEK\",\r\n \"VERTEX_AI\",\r\n \"OPENROUTER\",\r\n \"AZURE_AI\",\r\n \"PERPLEXITY_AI\",\r\n \"REDAI_EXTENSION\",\r\n \"AGENT_DESKTOP_SDK_EXE\",\r\n \"FACEBOOK_PAGE\",\r\n \"FACEBOOK_PERSONAL\",\r\n \"FACEBOOK_ADS\",\r\n \"FACEBOOK_BUSINESS\",\r\n \"WEBSITE\",\r\n \"ZALO_OA\",\r\n \"ZALO_PERSONAL\",\r\n \"ZALO_BOT\",\r\n \"TELEGRAM_BOT\",\r\n \"TELEGRAM\",\r\n \"GHTK\",\r\n \"GHN\",\r\n \"AHAMOVE\",\r\n \"MB_BANK\",\r\n \"OCB_BANK\",\r\n \"KL_BANK\",\r\n \"ACB_BANK\",\r\n \"NONE\",\r\n \"CUSTOM\",\r\n \"EMAIL_SMTP\",\r\n \"EMAIL_TWILIO_SENDGRID\",\r\n \"EMAIL_GMAIL\",\r\n \"EMAIL_OUTLOOK\",\r\n \"SMS_FPT\",\r\n \"SMS_TWILIO\",\r\n \"SMS_VONAGE\",\r\n \"SMS_SPEED\",\r\n \"SMS_ESMS\",\r\n \"SMS_ESMS_ADVERTISING\",\r\n \"SMS_ESMS_CUSTOMER_CARE\",\r\n \"SMS_ESMS_VIBER\",\r\n \"GOOGLE_CALENDAR\",\r\n \"GOOGLE_SHEETS\",\r\n \"GOOGLE_DOCS\",\r\n \"GOOGLE_DRIVE\",\r\n \"GOOGLE_ADS\",\r\n \"GETFLY_CRM\",\r\n \"GOOGLE_CLOUD_PROJECT\",\r\n \"PROXY\",\r\n \"DATABASE_POSTGRESQL\",\r\n \"DATABASE_MYSQL\",\r\n \"DATABASE_MSSQL\",\r\n \"DATABASE_MONGODB\",\r\n \"DATABASE_REDIS\",\r\n \"DATABASE_SQLITE\",\r\n \"DATABASE_ORACLE\",\r\n \"DATABASE_MARIADB\",\r\n \"CLOUD_AWS_S3\",\r\n \"CLOUD_GOOGLE_CLOUD_STORAGE\",\r\n \"CLOUD_AZURE_BLOB\",\r\n \"CLOUD_MINIO\",\r\n \"CLOUD_CLOUDFLARE_R2\",\r\n \"CLOUD_BACKBLAZE_B2\",\r\n \"CLOUD_WASABI\"\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\",\r\n \"provider\"\r\n ]\r\n },\r\n \"UpsertVideoGenerationDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model ID dùng cho Image Generation\",\r\n \"example\": \"gpt-image-1\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của LLM Key được sử dụng\",\r\n \"example\": \"9f0c2f1e-1a2b-3c4d-5e6f-7a8b9c0d1e2f\"\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\"\r\n ]\r\n },\r\n \"AgentVoiceGenerationConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model ID dùng cho Voice Generation\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của LLM key sử dụng\",\r\n \"nullable\": true\r\n },\r\n \"provider\": {\r\n \"type\": \"string\",\r\n \"description\": \"Provider của model\",\r\n \"enum\": [\r\n \"REDAI\",\r\n \"OPENAI\",\r\n \"OPENAI_OAUTH\",\r\n \"ALIBABA_CODING_PLAN\",\r\n \"XAI\",\r\n \"ANTHROPIC\",\r\n \"DEEPSEEK\",\r\n \"VERTEX_AI\",\r\n \"OPENROUTER\",\r\n \"AZURE_AI\",\r\n \"PERPLEXITY_AI\",\r\n \"REDAI_EXTENSION\",\r\n \"AGENT_DESKTOP_SDK_EXE\",\r\n \"FACEBOOK_PAGE\",\r\n \"FACEBOOK_PERSONAL\",\r\n \"FACEBOOK_ADS\",\r\n \"FACEBOOK_BUSINESS\",\r\n \"WEBSITE\",\r\n \"ZALO_OA\",\r\n \"ZALO_PERSONAL\",\r\n \"ZALO_BOT\",\r\n \"TELEGRAM_BOT\",\r\n \"TELEGRAM\",\r\n \"GHTK\",\r\n \"GHN\",\r\n \"AHAMOVE\",\r\n \"MB_BANK\",\r\n \"OCB_BANK\",\r\n \"KL_BANK\",\r\n \"ACB_BANK\",\r\n \"NONE\",\r\n \"CUSTOM\",\r\n \"EMAIL_SMTP\",\r\n \"EMAIL_TWILIO_SENDGRID\",\r\n \"EMAIL_GMAIL\",\r\n \"EMAIL_OUTLOOK\",\r\n \"SMS_FPT\",\r\n \"SMS_TWILIO\",\r\n \"SMS_VONAGE\",\r\n \"SMS_SPEED\",\r\n \"SMS_ESMS\",\r\n \"SMS_ESMS_ADVERTISING\",\r\n \"SMS_ESMS_CUSTOMER_CARE\",\r\n \"SMS_ESMS_VIBER\",\r\n \"GOOGLE_CALENDAR\",\r\n \"GOOGLE_SHEETS\",\r\n \"GOOGLE_DOCS\",\r\n \"GOOGLE_DRIVE\",\r\n \"GOOGLE_ADS\",\r\n \"GETFLY_CRM\",\r\n \"GOOGLE_CLOUD_PROJECT\",\r\n \"PROXY\",\r\n \"DATABASE_POSTGRESQL\",\r\n \"DATABASE_MYSQL\",\r\n \"DATABASE_MSSQL\",\r\n \"DATABASE_MONGODB\",\r\n \"DATABASE_REDIS\",\r\n \"DATABASE_SQLITE\",\r\n \"DATABASE_ORACLE\",\r\n \"DATABASE_MARIADB\",\r\n \"CLOUD_AWS_S3\",\r\n \"CLOUD_GOOGLE_CLOUD_STORAGE\",\r\n \"CLOUD_AZURE_BLOB\",\r\n \"CLOUD_MINIO\",\r\n \"CLOUD_CLOUDFLARE_R2\",\r\n \"CLOUD_BACKBLAZE_B2\",\r\n \"CLOUD_WASABI\"\r\n ]\r\n },\r\n \"rotationType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại rotation\",\r\n \"enum\": [\r\n \"USER\",\r\n \"SYSTEM\"\r\n ]\r\n },\r\n \"useSystemKey\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Cờ xác định có sử dụng system key không\"\r\n },\r\n \"registry\": {\r\n \"description\": \"Metadata voice model registry\",\r\n \"nullable\": true,\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/VoiceModelRegistryMetadataDto\"\r\n }\r\n ]\r\n },\r\n \"config\": {\r\n \"description\": \"Cấu hình giọng và tốc độ\",\r\n \"nullable\": true,\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/AgentVoiceRealtimeConfigDto\"\r\n }\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\",\r\n \"provider\",\r\n \"rotationType\",\r\n \"useSystemKey\",\r\n \"registry\"\r\n ]\r\n },\r\n \"UpsertVoiceGenerationDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model ID dùng cho Voice Generation\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của LLM key sử dụng. Nếu không truyền sẽ dùng system key (mặc định).\",\r\n \"nullable\": true\r\n },\r\n \"voice\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giọng nói/preset muốn sử dụng\",\r\n \"example\": \"alloy\"\r\n },\r\n \"speed\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tốc độ nói (0.25 - 1.5)\",\r\n \"example\": 1\r\n },\r\n \"timeout\": {\r\n \"type\": \"number\",\r\n \"description\": \"Timeout (2 - 10 Phút)\",\r\n \"example\": 5\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\"\r\n ]\r\n },\r\n \"CreateTaskDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"UpdateTaskDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"AddItemsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"UpdateTaskItemDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"CompleteItemsDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {}\r\n },\r\n \"TrackPixelEventsRequestDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"events\": {\r\n \"description\": \"Danh sách các sự kiện cần tracking\",\r\n \"items\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"a\"\r\n }\r\n },\r\n \"type\": \"array\"\r\n },\r\n \"test_event_code\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID test event (cho test mode)\",\r\n \"example\": \"TEST12345\"\r\n }\r\n },\r\n \"required\": [\r\n \"events\"\r\n ]\r\n },\r\n \"CreateProductDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên sản phẩm\",\r\n \"example\": \"AI Chatbot Template\",\r\n \"maxLength\": 500\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả sản phẩm\",\r\n \"example\": \"Mẫu chatbot AI hỗ trợ khách hàng tự động\"\r\n },\r\n \"listedPrice\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá niêm yết\",\r\n \"example\": 1200,\r\n \"minimum\": 0\r\n },\r\n \"discountedPrice\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá sau giảm\",\r\n \"example\": 1000,\r\n \"minimum\": 0\r\n },\r\n \"category\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại sản phẩm\",\r\n \"enum\": [\r\n \"AGENT\",\r\n \"KNOWLEDGE_FILE\",\r\n \"FINETUNE\",\r\n \"TOOL\",\r\n \"INTEGRATION\",\r\n \"WORKFLOW_TEMPLATE\",\r\n \"TEMPLATE_EMAIL\",\r\n \"PROXY\",\r\n \"PROMPT\",\r\n \"SKILL\"\r\n ],\r\n \"example\": \"KNOWLEDGE_FILE\"\r\n },\r\n \"sourceId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID nguồn sản phẩm (UUID cho KNOWLEDGE_FILE, FINETUNE, AGENT, TOOL, INTEGRATION, WORKFLOW_TEMPLATE; Number string cho TEMPLATE_EMAIL)\",\r\n \"example\": \"34f5c7ef-649a-46e2-a399-34fc7c197032\"\r\n },\r\n \"imageUrls\": {\r\n \"description\": \"Danh sách URL trực tiếp cho hình ảnh sản phẩm (thay thế cho imagesMediaTypes và mediaIds)\",\r\n \"example\": [\r\n \"https://example.com/image1.jpg\",\r\n \"https://example.com/image2.png\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"imagesMediaTypes\": {\r\n \"description\": \"Danh sách loại media cho hình ảnh sản phẩm (bắt buộc nếu không có imageUrls và mediaIds)\",\r\n \"example\": [\r\n \"image/jpeg\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"mediaIds\": {\r\n \"description\": \"Danh sách ID của media có sẵn để sử dụng làm ảnh sản phẩm (thay thế cho imageUrls và imagesMediaTypes)\",\r\n \"example\": [\r\n \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"987fcdeb-51a2-43d7-8f9e-123456789abc\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"userManualUrl\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL trực tiếp cho hướng dẫn sử dụng (thay thế cho userManualMediaType và userManualText)\",\r\n \"example\": \"https://example.com/user-manual.pdf\"\r\n },\r\n \"userManualMediaType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại media cho hướng dẫn sử dụng (bắt buộc nếu không có userManualUrl và userManualText)\",\r\n \"example\": \"text/html\"\r\n },\r\n \"userManualText\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nội dung text/html cho hướng dẫn sử dụng (thay thế cho userManualUrl và userManualMediaType)\",\r\n \"example\": \"\\u003ch1\\u003eHướng dẫn sử dụng\\u003c/h1\\u003e\\u003cp\\u003eĐây là nội dung hướng dẫn...\\u003c/p\\u003e\"\r\n },\r\n \"detailUrl\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL trực tiếp cho thông tin chi tiết (thay thế cho detailMediaType và detailText)\",\r\n \"example\": \"https://example.com/product-detail.html\"\r\n },\r\n \"detailMediaType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại media cho thông tin chi tiết (bắt buộc nếu không có detailUrl và detailText)\",\r\n \"example\": \"text/html\"\r\n },\r\n \"detailText\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nội dung text/html cho thông tin chi tiết sản phẩm (thay thế cho detailUrl và detailMediaType)\",\r\n \"example\": \"\\u003ch1\\u003eChi tiết sản phẩm\\u003c/h1\\u003e\\u003cp\\u003eĐây là mô tả chi tiết...\\u003c/p\\u003e\"\r\n },\r\n \"toolConfig\": {\r\n \"description\": \"Cấu hình cho sản phẩm loại TOOL (bắt buộc nếu category = TOOL)\",\r\n \"example\": {\r\n \"saleType\": \"MONTHLY\",\r\n \"price\": 1000,\r\n \"quantity\": 100,\r\n \"accountUsageType\": \"SHARED_ROTATING_API_KEY\",\r\n \"projectSchemaId\": \"456e7890-a12b-34c5-d678-901234567890\",\r\n \"integrations\": [\r\n {\r\n \"integrationId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"status\": \"IN_STOCK\"\r\n }\r\n ],\r\n \"tools\": [\r\n {\r\n \"toolId\": \"987fcdeb-51a2-43d7-8f9e-123456789abc\",\r\n \"point\": 100,\r\n \"limit\": 1000\r\n }\r\n ]\r\n },\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ToolConfigDto\"\r\n }\r\n ]\r\n },\r\n \"attachments\": {\r\n \"description\": \"Danh sách sản phẩm đi kèm (attachments) - các sản phẩm này sẽ được tạo với parentId trỏ đến sản phẩm chính và có giá = 0\",\r\n \"example\": [\r\n {\r\n \"category\": \"TOOL\",\r\n \"sourceId\": \"987fcdeb-51a2-43d7-8f9e-123456789abc\",\r\n \"name\": \"Custom Tool X\",\r\n \"description\": \"Tool hỗ trợ xử lý dữ liệu\",\r\n \"imagesMediaTypes\": [\r\n \"image/jpeg\"\r\n ]\r\n },\r\n {\r\n \"category\": \"KNOWLEDGE_FILE\",\r\n \"sourceId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"name\": \"Knowledge Base\",\r\n \"imageUrls\": [\r\n \"https://example.com/kb-image.jpg\"\r\n ]\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/CreateProductAttachmentDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"description\",\r\n \"listedPrice\",\r\n \"discountedPrice\",\r\n \"category\"\r\n ]\r\n },\r\n \"PaginationMeta\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"totalItems\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tổng số bản ghi\",\r\n \"example\": 100\r\n },\r\n \"itemCount\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số lượng bản ghi trên trang hiện tại\",\r\n \"example\": 10\r\n },\r\n \"itemsPerPage\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số lượng bản ghi trên mỗi trang\",\r\n \"example\": 10\r\n },\r\n \"totalPages\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tổng số trang\",\r\n \"example\": 10\r\n },\r\n \"currentPage\": {\r\n \"type\": \"number\",\r\n \"description\": \"Trang hiện tại\",\r\n \"example\": 1\r\n },\r\n \"hasItems\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"có bản ghi nào không (bất kể search filter)\",\r\n \"example\": true\r\n }\r\n },\r\n \"required\": [\r\n \"totalItems\",\r\n \"itemCount\",\r\n \"itemsPerPage\",\r\n \"totalPages\",\r\n \"currentPage\",\r\n \"hasItems\"\r\n ]\r\n },\r\n \"TypeAgentToolDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của tool\",\r\n \"example\": \"550e8400-e29b-41d4-a716-446655440000\"\r\n },\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên của tool\",\r\n \"example\": \"Công cụ tìm kiếm\"\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả về tool\",\r\n \"example\": \"Công cụ giúp tìm kiếm thông tin từ nhiều nguồn\",\r\n \"nullable\": true\r\n },\r\n \"versionName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên phiên bản mặc định\",\r\n \"example\": \"v1.0.0\",\r\n \"nullable\": true\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"name\",\r\n \"description\",\r\n \"versionName\"\r\n ]\r\n },\r\n \"TypeAgentModelDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của model registry\",\r\n \"example\": \"550e8400-e29b-41d4-a716-446655440000\"\r\n },\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên model\",\r\n \"example\": \"gpt-4\"\r\n },\r\n \"provider\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nhà cung cấp model\",\r\n \"example\": \"OPENAI\"\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"name\",\r\n \"provider\"\r\n ]\r\n },\r\n \"MultiAgentItemDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"agentId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của agent\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"prompt\": {\r\n \"type\": \"string\",\r\n \"description\": \"Prompt cho agent này\",\r\n \"example\": \"Bạn là trợ lý chuyên về marketing, hãy hỗ trợ tạo nội dung quảng cáo\"\r\n }\r\n },\r\n \"required\": [\r\n \"agentId\",\r\n \"prompt\"\r\n ]\r\n },\r\n \"ConversionFieldDetailDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"fullFieldName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên đầy đủ của field với namespace (namespace.fieldKey)\",\r\n \"example\": \"user_audience.email\"\r\n },\r\n \"namespace\": {\r\n \"type\": \"string\",\r\n \"description\": \"Namespace của field\",\r\n \"enum\": [\r\n \"user_audience\",\r\n \"user_audience_custom_fields\",\r\n \"user_audience_has_tags\",\r\n \"customer_platform\",\r\n \"multichannel_conversation\",\r\n \"user\",\r\n \"zalo_group\",\r\n \"zalo_group_has_tags\",\r\n \"user_tag\",\r\n \"user_segment\",\r\n \"user_has_segment\",\r\n \"zalo_oa\",\r\n \"zalo_campaign\",\r\n \"user_email_campaign\",\r\n \"sms_campaign_user\",\r\n \"external_templates\",\r\n \"user_template_email\",\r\n \"user_template_sms\",\r\n \"zalo_article\"\r\n ],\r\n \"example\": \"user_audience\"\r\n },\r\n \"fieldKey\": {\r\n \"type\": \"string\",\r\n \"description\": \"Key của field (không bao gồm namespace)\",\r\n \"example\": \"email\"\r\n },\r\n \"isRequired\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Field có bắt buộc trong conversion config không\",\r\n \"example\": true\r\n },\r\n \"defaultValue\": {\r\n \"type\": \"object\",\r\n \"description\": \"Giá trị mặc định của field\",\r\n \"example\": null\r\n },\r\n \"validation\": {\r\n \"description\": \"Validation rules cho field\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/FieldValidationDto\"\r\n }\r\n ]\r\n },\r\n \"dataType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Kiểu dữ liệu của field\",\r\n \"enum\": [\r\n \"string\",\r\n \"number\",\r\n \"boolean\",\r\n \"date\",\r\n \"timestamp\",\r\n \"array\",\r\n \"json\",\r\n \"select\"\r\n ],\r\n \"example\": \"string\"\r\n },\r\n \"displayName\": {\r\n \"description\": \"Tên hiển thị đa ngôn ngữ\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/MultiLanguageTextDto\"\r\n }\r\n ]\r\n },\r\n \"description\": {\r\n \"description\": \"Mô tả đa ngôn ngữ\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/MultiLanguageTextDto\"\r\n }\r\n ]\r\n },\r\n \"supportedOperators\": {\r\n \"type\": \"array\",\r\n \"description\": \"Danh sách các operators được hỗ trợ\",\r\n \"example\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\"\r\n ],\r\n \"items\": {\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\",\r\n \"not_contains\",\r\n \"starts_with\",\r\n \"ends_with\",\r\n \"in\",\r\n \"not_in\",\r\n \"greater_than\",\r\n \"greater_than_or_equal\",\r\n \"less_than\",\r\n \"less_than_or_equal\",\r\n \"between\",\r\n \"is_true\",\r\n \"is_false\",\r\n \"exists\",\r\n \"not_exists\",\r\n \"empty\",\r\n \"not_empty\",\r\n \"is_null\",\r\n \"is_not_null\",\r\n \"has_any\",\r\n \"has_all\",\r\n \"has_tag\",\r\n \"has_any_tag\",\r\n \"has_all_tags\",\r\n \"not_has_tag\",\r\n \"in_zalo_group\",\r\n \"not_in_zalo_group\",\r\n \"in_any_zalo_group\",\r\n \"not_in_any_zalo_group\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"fullFieldName\",\r\n \"namespace\",\r\n \"fieldKey\",\r\n \"isRequired\",\r\n \"dataType\",\r\n \"displayName\",\r\n \"supportedOperators\"\r\n ]\r\n },\r\n \"ModelConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"temperature\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị temperature cho model (0-2)\",\r\n \"example\": 1\r\n },\r\n \"top_p\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị top_p cho model (0-1)\",\r\n \"example\": 1\r\n },\r\n \"top_k\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị top_k cho model\",\r\n \"example\": 1\r\n },\r\n \"max_tokens\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số tokens tối đa có thể sinh ra\",\r\n \"example\": 1000\r\n },\r\n \"thinking_level\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mức độ thinking (nếu model hỗ trợ)\",\r\n \"example\": \"high\"\r\n }\r\n }\r\n },\r\n \"InstructionFlowDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"start\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step bat dau (START)\",\r\n \"example\": 1\r\n },\r\n \"steps\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/InstructionStepDto\"\r\n }\r\n },\r\n \"edges\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/InstructionEdgeDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"start\",\r\n \"steps\",\r\n \"edges\"\r\n ]\r\n },\r\n \"UiGraphDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"steps\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/UiStepDto\"\r\n }\r\n },\r\n \"edges\": {\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/UiEdgeDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"steps\",\r\n \"edges\"\r\n ]\r\n },\r\n \"AgentTemplateItemDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của template\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên template\",\r\n \"example\": \"Customer Support Agent Template\"\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả template\",\r\n \"example\": \"Template for customer support with email integration\"\r\n },\r\n \"version\": {\r\n \"type\": \"number\",\r\n \"description\": \"Version của template\",\r\n \"example\": 1\r\n },\r\n \"sourceAgentId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của agent gốc\",\r\n \"example\": \"987fcdeb-51a2-43d7-8f9e-123456789abc\"\r\n },\r\n \"sourceAgentName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên agent gốc\",\r\n \"example\": \"My Customer Support Agent\"\r\n },\r\n \"s3Key\": {\r\n \"type\": \"string\",\r\n \"description\": \"S3 key của template JSON (deprecated, use fileId instead)\",\r\n \"example\": \"agent-templates/195/123e4567-e89b-12d3-a456-426614174000.json\"\r\n },\r\n \"fileId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của KnowledgeFile chứa template JSON\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"createdAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian tạo (timestamp)\",\r\n \"example\": 1764269864585\r\n },\r\n \"updatedAt\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian cập nhật (timestamp)\",\r\n \"example\": 1764269864585\r\n },\r\n \"isOwner\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Người dùng có phải là chủ sở hữu template không\",\r\n \"example\": true\r\n },\r\n \"canDelete\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Template có thể xóa hay không (false nếu đang được sử dụng làm sản phẩm pending/approved trên marketplace)\",\r\n \"example\": true\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"name\",\r\n \"description\",\r\n \"version\",\r\n \"sourceAgentId\",\r\n \"sourceAgentName\",\r\n \"fileId\",\r\n \"createdAt\",\r\n \"updatedAt\",\r\n \"isOwner\",\r\n \"canDelete\"\r\n ]\r\n },\r\n \"ProfileDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"gender\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giới tính\",\r\n \"example\": \"MALE\"\r\n },\r\n \"dateOfBirth\": {\r\n \"type\": \"number\",\r\n \"description\": \"Ngày sinh (timestamp millis)\",\r\n \"example\": 946684800000\r\n },\r\n \"position\": {\r\n \"type\": \"string\",\r\n \"description\": \"Vị trí\",\r\n \"example\": \"Trợ lý AI\"\r\n },\r\n \"education\": {\r\n \"type\": \"string\",\r\n \"description\": \"Học vấn\",\r\n \"example\": \"Đại học\"\r\n },\r\n \"skills\": {\r\n \"description\": \"Kỹ năng\",\r\n \"example\": [\r\n \"Trả lời câu hỏi\",\r\n \"Tìm kiếm thông tin\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"personality\": {\r\n \"description\": \"Tính cách\",\r\n \"example\": [\r\n \"Thân thiện\",\r\n \"Kiên nhẫn\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"languages\": {\r\n \"description\": \"Ngôn ngữ\",\r\n \"example\": [\r\n \"Tiếng Việt\",\r\n \"Tiếng Anh\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"nations\": {\r\n \"type\": \"string\",\r\n \"description\": \"Quốc gia\",\r\n \"example\": \"Việt Nam\"\r\n }\r\n }\r\n },\r\n \"OutputMessengerBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"facebookPageIds\": {\r\n \"description\": \"Danh sách ID của Facebook Pages\",\r\n \"example\": [\r\n \"page-uuid-1\",\r\n \"page-uuid-2\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n }\r\n },\r\n \"OutputWebsiteBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"userWebsiteIds\": {\r\n \"description\": \"Danh sách ID của User Websites\",\r\n \"example\": [\r\n \"website-uuid-1\",\r\n \"website-uuid-2\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n }\r\n },\r\n \"StrategyBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"strategyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của strategy (sử dụng strategy có sẵn)\",\r\n \"example\": \"strategy-uuid-1\"\r\n },\r\n \"evaluatorId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của evaluator (sử dụng agent có sẵn)\",\r\n \"example\": \"evaluator-uuid-1\"\r\n }\r\n }\r\n },\r\n \"EvaluatorBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"evaluatorId\": {\r\n \"type\": \"string\",\r\n \"description\": \"[DEPRECATED] ID của evaluator (sử dụng agent có sẵn)\",\r\n \"example\": \"evaluator-uuid-1\",\r\n \"deprecated\": true\r\n }\r\n }\r\n },\r\n \"MultiAgentBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"multiAgent\": {\r\n \"description\": \"Danh sách các agent với prompt tương ứng\",\r\n \"example\": [\r\n {\r\n \"agentId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"prompt\": \"Bạn là trợ lý chuyên về marketing\"\r\n },\r\n {\r\n \"agentId\": \"123e4567-e89b-12d3-a456-426614174001\",\r\n \"prompt\": \"Bạn là trợ lý chuyên về kỹ thuật\"\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/MultiAgentItemDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"OutputZaloBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"zaloOfficialAccountIds\": {\r\n \"description\": \"Danh sách ID của Zalo Official Accounts\",\r\n \"example\": [\r\n \"123e4567-e89b-12d3-a456-426614174000\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n }\r\n },\r\n \"OutputPaymentBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"paymentGatewayId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của payment gateway\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"paymentMethods\": {\r\n \"type\": \"array\",\r\n \"description\": \"Danh sách phương thức thanh toán được chọn\",\r\n \"example\": [\r\n \"COD\",\r\n \"BANKING\"\r\n ],\r\n \"items\": {\r\n \"type\": \"string\",\r\n \"enum\": [\r\n \"COD\",\r\n \"BANKING\"\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"ShipmentConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"userProviderShipmentId\": {\r\n \"type\": \"string\",\r\n \"description\": \"UUID tham chiếu đến bảng user_provider_shipments\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"receiverPayShippingFee\": {\r\n \"type\": \"boolean\",\r\n \"description\": \"Người nhận có trả phí vận chuyển không (true = người nhận trả, false = người gửi trả)\",\r\n \"example\": true,\r\n \"default\": true\r\n },\r\n \"addressId\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID địa chỉ shop của agent trong bảng user_shop_addresses_v2\",\r\n \"example\": 123\r\n }\r\n }\r\n },\r\n \"SeedingConfigOnAccountDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"integrationId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của Zalo integration\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"configs\": {\r\n \"description\": \"Danh sách cấu hình seeding cho integration này\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/SeedingConfigInputDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"integrationId\",\r\n \"configs\"\r\n ]\r\n },\r\n \"ImageGenerationBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của model IMAGE từ bảng models\",\r\n \"example\": \"image-model-uuid\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của key LLM từ bảng user_key_llms\",\r\n \"example\": \"key-llm-uuid\"\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\"\r\n ]\r\n },\r\n \"VideoGenerationBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của model Video từ bảng models\",\r\n \"example\": \"video-model-uuid\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của key LLM từ bảng user_key_llms\",\r\n \"example\": \"key-llm-uuid\"\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\"\r\n ]\r\n },\r\n \"VoiceGenerationBlockDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"modelId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của model Voice từ bảng models\",\r\n \"example\": \"voice-model-uuid\"\r\n },\r\n \"llmKeyId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của key LLM (nếu muốn dùng key riêng)\",\r\n \"example\": \"key-llm-uuid\",\r\n \"nullable\": true\r\n },\r\n \"voice\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giọng nói/preset muốn sử dụng\",\r\n \"example\": \"alloy\"\r\n },\r\n \"speed\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tốc độ phát âm (0-1)\",\r\n \"example\": 1\r\n },\r\n \"timeout\": {\r\n \"type\": \"number\",\r\n \"description\": \"Timeout (2 - 10 giây)\",\r\n \"example\": 5\r\n }\r\n },\r\n \"required\": [\r\n \"modelId\"\r\n ]\r\n },\r\n \"FieldDefinitionDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"fieldKey\": {\r\n \"type\": \"string\",\r\n \"description\": \"Field key (tên trường gốc)\",\r\n \"example\": \"email\"\r\n },\r\n \"namespace\": {\r\n \"type\": \"string\",\r\n \"description\": \"Namespace (table name)\",\r\n \"enum\": [\r\n \"user_audience\",\r\n \"user_audience_custom_fields\",\r\n \"user_audience_has_tags\",\r\n \"customer_platform\",\r\n \"multichannel_conversation\",\r\n \"zalo_group_custom_fields\",\r\n \"zalo_group_has_tags\"\r\n ],\r\n \"example\": \"user_audience\"\r\n },\r\n \"fullFieldName\": {\r\n \"type\": \"string\",\r\n \"description\": \"Full field name với dot notation\",\r\n \"example\": \"user_audience.email\"\r\n },\r\n \"displayName\": {\r\n \"type\": \"object\",\r\n \"description\": \"Tên hiển thị (hỗ trợ đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vi\": \"Email\",\r\n \"en\": \"Email\",\r\n \"zh\": \"电子邮件\"\r\n }\r\n },\r\n \"description\": {\r\n \"type\": \"object\",\r\n \"description\": \"Mô tả trường (hỗ trợ đa ngôn ngữ)\",\r\n \"example\": {\r\n \"vi\": \"Địa chỉ email của khách hàng\",\r\n \"en\": \"Customer email address\",\r\n \"zh\": \"客户电子邮件地址\"\r\n }\r\n },\r\n \"dataType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Kiểu dữ liệu\",\r\n \"enum\": [\r\n \"string\",\r\n \"number\",\r\n \"boolean\",\r\n \"date\",\r\n \"timestamp\",\r\n \"array\",\r\n \"json\",\r\n \"select\"\r\n ],\r\n \"example\": \"string\"\r\n },\r\n \"supportedOperators\": {\r\n \"description\": \"Danh sách operators được hỗ trợ\",\r\n \"example\": [\r\n \"equals\",\r\n \"not_equals\",\r\n \"contains\",\r\n \"not_contains\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"validation\": {\r\n \"type\": \"object\",\r\n \"description\": \"Validation rules (options với multi-language labels)\",\r\n \"example\": {\r\n \"pattern\": \"^[^@]+@[^@]+\\\\.[^@]+$\",\r\n \"min\": 0,\r\n \"max\": 100,\r\n \"options\": [\r\n {\r\n \"value\": \"MALE\",\r\n \"label\": {\r\n \"vi\": \"Nam\",\r\n \"en\": \"Male\",\r\n \"zh\": \"男\"\r\n }\r\n },\r\n {\r\n \"value\": \"FEMALE\",\r\n \"label\": {\r\n \"vi\": \"Nữ\",\r\n \"en\": \"Female\",\r\n \"zh\": \"女\"\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"fieldKey\",\r\n \"namespace\",\r\n \"fullFieldName\",\r\n \"displayName\",\r\n \"dataType\",\r\n \"supportedOperators\"\r\n ]\r\n },\r\n \"SeedingConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"multiChannelConversionId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của multichannel conversation\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"roleDescription\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả vai trò trong cuộc hội thoại\",\r\n \"example\": \"Khách hàng tiềm năng quan tâm sản phẩm A\"\r\n },\r\n \"responseTimeConfig\": {\r\n \"description\": \"Cấu hình thời gian phản hồi\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ResponseTimeConfigDto\"\r\n }\r\n ]\r\n },\r\n \"seedingTimeConfig\": {\r\n \"description\": \"Cấu hình thời gian seeding\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/SeedingTimeConfigDto\"\r\n }\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"multiChannelConversionId\",\r\n \"roleDescription\",\r\n \"responseTimeConfig\",\r\n \"seedingTimeConfig\"\r\n ]\r\n },\r\n \"VoiceModelRegistryMetadataDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của record voice_model_registry\"\r\n },\r\n \"provider\": {\r\n \"type\": \"string\",\r\n \"description\": \"Provider của model\",\r\n \"enum\": [\r\n \"REDAI\",\r\n \"OPENAI\",\r\n \"OPENAI_OAUTH\",\r\n \"ALIBABA_CODING_PLAN\",\r\n \"XAI\",\r\n \"ANTHROPIC\",\r\n \"DEEPSEEK\",\r\n \"VERTEX_AI\",\r\n \"OPENROUTER\",\r\n \"AZURE_AI\",\r\n \"PERPLEXITY_AI\",\r\n \"REDAI_EXTENSION\",\r\n \"AGENT_DESKTOP_SDK_EXE\",\r\n \"FACEBOOK_PAGE\",\r\n \"FACEBOOK_PERSONAL\",\r\n \"FACEBOOK_ADS\",\r\n \"FACEBOOK_BUSINESS\",\r\n \"WEBSITE\",\r\n \"ZALO_OA\",\r\n \"ZALO_PERSONAL\",\r\n \"ZALO_BOT\",\r\n \"TELEGRAM_BOT\",\r\n \"TELEGRAM\",\r\n \"GHTK\",\r\n \"GHN\",\r\n \"AHAMOVE\",\r\n \"MB_BANK\",\r\n \"OCB_BANK\",\r\n \"KL_BANK\",\r\n \"ACB_BANK\",\r\n \"NONE\",\r\n \"CUSTOM\",\r\n \"EMAIL_SMTP\",\r\n \"EMAIL_TWILIO_SENDGRID\",\r\n \"EMAIL_GMAIL\",\r\n \"EMAIL_OUTLOOK\",\r\n \"SMS_FPT\",\r\n \"SMS_TWILIO\",\r\n \"SMS_VONAGE\",\r\n \"SMS_SPEED\",\r\n \"SMS_ESMS\",\r\n \"SMS_ESMS_ADVERTISING\",\r\n \"SMS_ESMS_CUSTOMER_CARE\",\r\n \"SMS_ESMS_VIBER\",\r\n \"GOOGLE_CALENDAR\",\r\n \"GOOGLE_SHEETS\",\r\n \"GOOGLE_DOCS\",\r\n \"GOOGLE_DRIVE\",\r\n \"GOOGLE_ADS\",\r\n \"GETFLY_CRM\",\r\n \"GOOGLE_CLOUD_PROJECT\",\r\n \"PROXY\",\r\n \"DATABASE_POSTGRESQL\",\r\n \"DATABASE_MYSQL\",\r\n \"DATABASE_MSSQL\",\r\n \"DATABASE_MONGODB\",\r\n \"DATABASE_REDIS\",\r\n \"DATABASE_SQLITE\",\r\n \"DATABASE_ORACLE\",\r\n \"DATABASE_MARIADB\",\r\n \"CLOUD_AWS_S3\",\r\n \"CLOUD_GOOGLE_CLOUD_STORAGE\",\r\n \"CLOUD_AZURE_BLOB\",\r\n \"CLOUD_MINIO\",\r\n \"CLOUD_CLOUDFLARE_R2\",\r\n \"CLOUD_BACKBLAZE_B2\",\r\n \"CLOUD_WASABI\"\r\n ]\r\n },\r\n \"modelBaseId\": {\r\n \"type\": \"string\",\r\n \"description\": \"Model base id tại provider\",\r\n \"example\": \"gpt-4o-realtime-preview\"\r\n },\r\n \"basePricing\": {\r\n \"type\": \"object\",\r\n \"description\": \"Pricing cơ bản theo provider\",\r\n \"example\": {\r\n \"text\": {\r\n \"inputRate\": 0.000005,\r\n \"outputRate\": 0.00002\r\n },\r\n \"audio\": {\r\n \"inputRate\": 0.00004,\r\n \"outputRate\": 0.00008\r\n }\r\n }\r\n },\r\n \"availableVoices\": {\r\n \"description\": \"Danh sách voice presets hỗ trợ\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"defaultVoice\": {\r\n \"type\": \"string\",\r\n \"description\": \"Voice mặc định\",\r\n \"example\": \"alloy\"\r\n },\r\n \"supportedAudioFormats\": {\r\n \"description\": \"Các audio format hỗ trợ\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"defaultAudioFormat\": {\r\n \"type\": \"string\",\r\n \"description\": \"Audio format mặc định\",\r\n \"example\": \"pcm16\"\r\n },\r\n \"audioSampleRate\": {\r\n \"type\": \"number\",\r\n \"description\": \"Sample rate output\",\r\n \"example\": 24000\r\n },\r\n \"speedRange\": {\r\n \"type\": \"object\",\r\n \"description\": \"Khoảng tốc độ hỗ trợ\",\r\n \"example\": {\r\n \"min\": 0.25,\r\n \"max\": 1.5,\r\n \"default\": 1\r\n }\r\n },\r\n \"temperatureRange\": {\r\n \"type\": \"object\",\r\n \"description\": \"Khoảng temperature hỗ trợ\",\r\n \"example\": {\r\n \"min\": 0,\r\n \"max\": 2,\r\n \"default\": 1\r\n }\r\n },\r\n \"supportedVadTypes\": {\r\n \"description\": \"Các VAD type hỗ trợ\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"supportedFeatures\": {\r\n \"description\": \"Các tính năng realtime hỗ trợ\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"maxTools\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số lượng tools tối đa hỗ trợ\",\r\n \"nullable\": true\r\n },\r\n \"contextWindow\": {\r\n \"type\": \"number\",\r\n \"description\": \"Context window của model\",\r\n \"example\": 0\r\n },\r\n \"maxOutputTokensRange\": {\r\n \"type\": \"object\",\r\n \"description\": \"Thông tin max output tokens range\",\r\n \"example\": {\r\n \"min\": 1,\r\n \"max\": null,\r\n \"default\": null\r\n }\r\n },\r\n \"inputModalities\": {\r\n \"description\": \"Input modalities\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"outputModalities\": {\r\n \"description\": \"Output modalities\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"provider\",\r\n \"modelBaseId\",\r\n \"basePricing\",\r\n \"availableVoices\",\r\n \"defaultVoice\",\r\n \"supportedAudioFormats\",\r\n \"defaultAudioFormat\",\r\n \"audioSampleRate\",\r\n \"speedRange\",\r\n \"temperatureRange\",\r\n \"supportedVadTypes\",\r\n \"supportedFeatures\",\r\n \"contextWindow\",\r\n \"maxOutputTokensRange\",\r\n \"inputModalities\",\r\n \"outputModalities\"\r\n ]\r\n },\r\n \"AgentVoiceRealtimeConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"voice\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giọng nói/preset được chọn\",\r\n \"example\": \"alloy\",\r\n \"nullable\": true\r\n },\r\n \"speed\": {\r\n \"type\": \"number\",\r\n \"description\": \"Tốc độ nói (0.25 - 1.5)\",\r\n \"example\": 1,\r\n \"nullable\": true\r\n },\r\n \"timeout\": {\r\n \"type\": \"number\",\r\n \"description\": \"Timeout (2 - 10 phút)\",\r\n \"example\": 5,\r\n \"nullable\": true\r\n }\r\n }\r\n },\r\n \"ToolConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"saleType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Hình thức bán: MONTHLY, LIFETIME, PER_REQUEST\",\r\n \"enum\": [\r\n \"MONTHLY\",\r\n \"LIFETIME\",\r\n \"PER_REQUEST\"\r\n ],\r\n \"example\": \"MONTHLY\"\r\n },\r\n \"price\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá chung (đơn vị point)\",\r\n \"example\": 1000,\r\n \"minimum\": 0\r\n },\r\n \"quantity\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số lượng tồn kho\",\r\n \"example\": 100,\r\n \"minimum\": 0\r\n },\r\n \"accountUsageType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Kiểu sử dụng tài khoản: dùng chung tự xoay API key hoặc mỗi sản phẩm 1 tài khoản riêng\",\r\n \"enum\": [\r\n \"SHARED_ROTATING_API_KEY\",\r\n \"DEDICATED_ACCOUNT\"\r\n ]\r\n },\r\n \"projectSchemaId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID schema dự án (UUID)\",\r\n \"example\": \"456e7890-a12b-34c5-d678-901234567890\"\r\n },\r\n \"durationMonths\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số tháng sử dụng (chỉ áp dụng khi saleType = MONTHLY)\",\r\n \"example\": 3,\r\n \"minimum\": 1\r\n },\r\n \"integrations\": {\r\n \"description\": \"Danh sách integration liên kết với sản phẩm\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/IntegrationProductConfigDto\"\r\n }\r\n },\r\n \"tools\": {\r\n \"description\": \"Danh sách tool liên kết với sản phẩm\",\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/ProductHasToolDto\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"saleType\",\r\n \"price\",\r\n \"quantity\"\r\n ]\r\n },\r\n \"CreateProductAttachmentDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"category\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại sản phẩm đi kèm\",\r\n \"enum\": [\r\n \"AGENT\",\r\n \"KNOWLEDGE_FILE\",\r\n \"FINETUNE\",\r\n \"TOOL\",\r\n \"INTEGRATION\",\r\n \"WORKFLOW_TEMPLATE\",\r\n \"TEMPLATE_EMAIL\",\r\n \"PROXY\",\r\n \"PROMPT\",\r\n \"SKILL\"\r\n ],\r\n \"example\": \"TOOL\"\r\n },\r\n \"sourceId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID nguồn tài nguyên. Với TOOL: là projectSchemaId. Với các loại khác: UUID của resource (KNOWLEDGE_FILE, FINETUNE, AGENT, INTEGRATION, WORKFLOW_TEMPLATE)\",\r\n \"example\": \"34f5c7ef-649a-46e2-a399-34fc7c197032\"\r\n },\r\n \"toolIds\": {\r\n \"description\": \"Danh sách tool IDs (chỉ dùng khi category = TOOL). Các tool này sẽ được lưu vào bảng product_has_tool. Tất cả tools phải thuộc cùng projectSchemaId được chỉ định trong sourceId.\",\r\n \"example\": [\r\n \"97d5a7bb-564b-493c-8aea-a8892edf48f0\",\r\n \"bab31756-ed3b-4b3d-8692-8cd63c54dad1\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"Tên sản phẩm đi kèm (optional - nếu không có sẽ lấy từ tài nguyên gốc)\",\r\n \"example\": \"Custom Tool X\",\r\n \"maxLength\": 500\r\n },\r\n \"description\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả sản phẩm đi kèm (optional - nếu không có sẽ lấy từ tài nguyên gốc)\",\r\n \"example\": \"Tool hỗ trợ xử lý dữ liệu\"\r\n },\r\n \"imageUrls\": {\r\n \"description\": \"Danh sách URL trực tiếp cho hình ảnh sản phẩm đi kèm (thay thế cho imagesMediaTypes)\",\r\n \"example\": [\r\n \"https://example.com/image1.jpg\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"imagesMediaTypes\": {\r\n \"description\": \"Danh sách loại media cho hình ảnh sản phẩm đi kèm (bắt buộc nếu không có imageUrls)\",\r\n \"example\": [\r\n \"image/jpeg\"\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n },\r\n \"userManualUrl\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL trực tiếp cho hướng dẫn sử dụng (thay thế cho userManualMediaType và userManualText)\",\r\n \"example\": \"https://example.com/user-manual.pdf\"\r\n },\r\n \"userManualMediaType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại media cho hướng dẫn sử dụng (bắt buộc nếu không có userManualUrl và userManualText)\",\r\n \"example\": \"text/html\"\r\n },\r\n \"userManualText\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nội dung text/html cho hướng dẫn sử dụng (thay thế cho userManualUrl và userManualMediaType)\",\r\n \"example\": \"\\u003ch1\\u003eHướng dẫn sử dụng\\u003c/h1\\u003e\\u003cp\\u003eĐây là nội dung hướng dẫn...\\u003c/p\\u003e\"\r\n },\r\n \"detailUrl\": {\r\n \"type\": \"string\",\r\n \"description\": \"URL trực tiếp cho thông tin chi tiết (thay thế cho detailMediaType và detailText)\",\r\n \"example\": \"https://example.com/product-detail.html\"\r\n },\r\n \"detailMediaType\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại media cho thông tin chi tiết (bắt buộc nếu không có detailUrl và detailText)\",\r\n \"example\": \"text/html\"\r\n },\r\n \"detailText\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nội dung text/html cho thông tin chi tiết sản phẩm (thay thế cho detailUrl và detailMediaType)\",\r\n \"example\": \"\\u003ch1\\u003eChi tiết sản phẩm\\u003c/h1\\u003e\\u003cp\\u003eĐây là mô tả chi tiết...\\u003c/p\\u003e\"\r\n }\r\n },\r\n \"required\": [\r\n \"category\",\r\n \"sourceId\"\r\n ]\r\n },\r\n \"FieldValidationDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"min\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị tối thiểu (cho number)\",\r\n \"example\": 0\r\n },\r\n \"max\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giá trị tối đa (cho number)\",\r\n \"example\": 100\r\n },\r\n \"pattern\": {\r\n \"type\": \"string\",\r\n \"description\": \"Pattern regex (cho string)\",\r\n \"example\": \"^[^@]+@[^@]+\\\\.[^@]+$\"\r\n },\r\n \"options\": {\r\n \"description\": \"Danh sách options (cho select)\",\r\n \"example\": [\r\n {\r\n \"value\": \"MALE\",\r\n \"label\": {\r\n \"vi\": \"Nam\",\r\n \"en\": \"Male\",\r\n \"zh\": \"男\"\r\n }\r\n },\r\n {\r\n \"value\": \"FEMALE\",\r\n \"label\": {\r\n \"vi\": \"Nữ\",\r\n \"en\": \"Female\",\r\n \"zh\": \"女\"\r\n }\r\n }\r\n ],\r\n \"type\": \"array\",\r\n \"items\": {\r\n \"$ref\": \"#/components/schemas/SelectOptionDto\"\r\n }\r\n }\r\n }\r\n },\r\n \"MultiLanguageTextDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"vi\": {\r\n \"type\": \"string\",\r\n \"description\": \"Văn bản tiếng Việt\",\r\n \"example\": \"Email\"\r\n },\r\n \"en\": {\r\n \"type\": \"string\",\r\n \"description\": \"Văn bản tiếng Anh\",\r\n \"example\": \"Email\"\r\n },\r\n \"zh\": {\r\n \"type\": \"string\",\r\n \"description\": \"Văn bản tiếng Trung\",\r\n \"example\": \"电子邮件\"\r\n }\r\n },\r\n \"required\": [\r\n \"vi\",\r\n \"en\",\r\n \"zh\"\r\n ]\r\n },\r\n \"InstructionStepDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID cua step\",\r\n \"example\": 1\r\n },\r\n \"type\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loai step trong flow\",\r\n \"enum\": [\r\n \"start\",\r\n \"step\",\r\n \"end\"\r\n ],\r\n \"example\": \"start\"\r\n },\r\n \"prompt\": {\r\n \"type\": \"string\",\r\n \"description\": \"Noi dung huong dan cho agent\",\r\n \"example\": \"DO: Phan tich yeu cau tu user\",\r\n \"maxLength\": 1000\r\n },\r\n \"example\": {\r\n \"type\": \"string\",\r\n \"description\": \"Vi du cho step\",\r\n \"example\": \"INPUT: ... OUTPUT: ...\",\r\n \"maxLength\": 1000\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"type\"\r\n ]\r\n },\r\n \"InstructionEdgeDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"from\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step bat dau\",\r\n \"example\": 1\r\n },\r\n \"to\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step dich\",\r\n \"example\": 2\r\n },\r\n \"reason\": {\r\n \"type\": \"string\",\r\n \"description\": \"Ly do/huong dan chuyen canh\",\r\n \"example\": \"KHI user gui yeu cau\",\r\n \"maxLength\": 1000\r\n }\r\n },\r\n \"required\": [\r\n \"from\",\r\n \"to\"\r\n ]\r\n },\r\n \"UiStepDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step (so)\",\r\n \"example\": 1\r\n },\r\n \"type\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loai step trong flow\",\r\n \"enum\": [\r\n \"start\",\r\n \"step\",\r\n \"end\"\r\n ],\r\n \"example\": \"start\"\r\n },\r\n \"position\": {\r\n \"$ref\": \"#/components/schemas/PositionDto\"\r\n },\r\n \"data\": {\r\n \"$ref\": \"#/components/schemas/UiStepDataDto\"\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"type\",\r\n \"position\",\r\n \"data\"\r\n ]\r\n },\r\n \"UiEdgeDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"id\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID edge (so)\",\r\n \"example\": 1\r\n },\r\n \"source\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step nguon (so)\",\r\n \"example\": 1\r\n },\r\n \"target\": {\r\n \"type\": \"number\",\r\n \"description\": \"ID step dich (so)\",\r\n \"example\": 2\r\n },\r\n \"sourceHandle\": {\r\n \"type\": \"string\",\r\n \"description\": \"Handle nguon\",\r\n \"example\": \"a\"\r\n }\r\n },\r\n \"required\": [\r\n \"id\",\r\n \"source\",\r\n \"target\"\r\n ]\r\n },\r\n \"SeedingConfigInputDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"multiChannelConversionId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của multichannel conversation\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"roleDescription\": {\r\n \"type\": \"string\",\r\n \"description\": \"Mô tả vai trò trong cuộc trò chuyện\",\r\n \"example\": \"Khách hàng tiềm năng quan tâm sản phẩm A\"\r\n },\r\n \"responseTimeConfig\": {\r\n \"description\": \"Cấu hình thời gian phản hồi\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/ResponseTimeConfigDto\"\r\n }\r\n ]\r\n },\r\n \"seedingTimeConfig\": {\r\n \"description\": \"Cấu hình thời gian seeding\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/SeedingTimeConfigDto\"\r\n }\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"multiChannelConversionId\",\r\n \"roleDescription\",\r\n \"responseTimeConfig\",\r\n \"seedingTimeConfig\"\r\n ]\r\n },\r\n \"ResponseTimeConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"mode\": {\r\n \"type\": \"string\",\r\n \"description\": \"Chế độ thời gian phản hồi\",\r\n \"enum\": [\r\n \"RANDOM\",\r\n \"FIXED\"\r\n ],\r\n \"example\": \"RANDOM\"\r\n },\r\n \"minSeconds\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian tối thiểu (giây) - chỉ cho RANDOM mode (tối thiểu 60 giây = 1 phút)\",\r\n \"example\": 60,\r\n \"minimum\": 60\r\n },\r\n \"maxSeconds\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian tối đa (giây) - chỉ cho RANDOM mode (tối đa 3600 giây = 1 tiếng và phải \\u003e minSeconds)\",\r\n \"example\": 1800,\r\n \"maximum\": 3600\r\n },\r\n \"interval\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian cố định (giây) - chỉ cho FIXED mode\",\r\n \"example\": 60\r\n }\r\n },\r\n \"required\": [\r\n \"mode\"\r\n ]\r\n },\r\n \"SeedingTimeConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"type\": {\r\n \"type\": \"string\",\r\n \"description\": \"Loại thời gian seeding\",\r\n \"enum\": [\r\n \"SCHEDULED\",\r\n \"PERMANENT\"\r\n ],\r\n \"example\": \"SCHEDULED\"\r\n },\r\n \"startTime\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian bắt đầu (timestamp millis) - chỉ cho SCHEDULED\",\r\n \"example\": 1640995200000\r\n },\r\n \"endTime\": {\r\n \"type\": \"number\",\r\n \"description\": \"Thời gian kết thúc (timestamp millis) - chỉ cho SCHEDULED\",\r\n \"example\": 1672531200000\r\n }\r\n },\r\n \"required\": [\r\n \"type\"\r\n ]\r\n },\r\n \"IntegrationProductConfigDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"integrationId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của integration\",\r\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\r\n },\r\n \"status\": {\r\n \"type\": \"string\",\r\n \"description\": \"Trạng thái của integration product\",\r\n \"enum\": [\r\n \"ERROR\",\r\n \"SOLD\",\r\n \"IN_STOCK\"\r\n ],\r\n \"example\": \"IN_STOCK\"\r\n }\r\n },\r\n \"required\": [\r\n \"integrationId\",\r\n \"status\"\r\n ]\r\n },\r\n \"ProductHasToolDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"toolId\": {\r\n \"type\": \"string\",\r\n \"description\": \"ID của tool\",\r\n \"example\": \"987fcdeb-51a2-43d7-8f9e-123456789abc\"\r\n },\r\n \"point\": {\r\n \"type\": \"number\",\r\n \"description\": \"Số point áp dụng cho tool này trong sản phẩm\",\r\n \"example\": 100\r\n },\r\n \"limit\": {\r\n \"type\": \"number\",\r\n \"description\": \"Giới hạn sử dụng/áp dụng\",\r\n \"example\": 1000\r\n }\r\n },\r\n \"required\": [\r\n \"toolId\"\r\n ]\r\n },\r\n \"SelectOptionDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"value\": {\r\n \"type\": \"string\",\r\n \"description\": \"Giá trị của option\",\r\n \"example\": \"MALE\"\r\n },\r\n \"label\": {\r\n \"description\": \"Nhãn đa ngôn ngữ\",\r\n \"allOf\": [\r\n {\r\n \"$ref\": \"#/components/schemas/MultiLanguageTextDto\"\r\n }\r\n ]\r\n }\r\n },\r\n \"required\": [\r\n \"value\",\r\n \"label\"\r\n ]\r\n },\r\n \"PositionDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"x\": {\r\n \"type\": \"number\",\r\n \"description\": \"Toa do X\",\r\n \"example\": 0\r\n },\r\n \"y\": {\r\n \"type\": \"number\",\r\n \"description\": \"Toa do Y\",\r\n \"example\": 0\r\n }\r\n },\r\n \"required\": [\r\n \"x\",\r\n \"y\"\r\n ]\r\n },\r\n \"UiStepDataDto\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"label\": {\r\n \"type\": \"string\",\r\n \"description\": \"Nhan hien thi tren UI\",\r\n \"example\": \"Step 1\"\r\n }\r\n },\r\n \"required\": [\r\n \"label\"\r\n ]\r\n }\r\n },\r\n \"securitySchemes\": {\r\n \"JWT-auth\": {\r\n \"scheme\": \"bearer\",\r\n \"bearerFormat\": \"JWT\",\r\n \"type\": \"http\",\r\n \"name\": \"JWT\",\r\n \"description\": \"Enter JWT token\",\r\n \"in\": \"header\"\r\n }\r\n }\r\n },\r\n \"externalDocs\": {\r\n \"description\": \"Additional Documentation\",\r\n \"url\": \"https://redai.com/docs\"\r\n },\r\n \"generatedAt\": \"2026-03-16T08:19:28.209Z\",\r\n \"x-redai-export-modules\": [\r\n \"agent\"\r\n ],\r\n \"x-redai-export-scope\": \"user\"\r\n}\n"],"mappings":"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","names":[]}
|